Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة apply_*

هذه الإعدادات متاحة في system.settings، ويجري توليدها تلقائيًا من المصدر.

apply_deleted_mask

النوع
Bool
القيمة الافتراضية
1

يُفعّل تصفية الصفوف المحذوفة باستخدام DELETE الخفيف. وإذا كان معطّلًا، فسيتمكّن الاستعلام من قراءة تلك الصفوف. ويكون ذلك مفيدًا في سيناريوهات تصحيح الأخطاء و"إلغاء الحذف"

apply_mutations_on_fly

النوع
Bool
القيمة الافتراضية
0

إذا كانت القيمة true، فستُطبَّق عمليات mutations ‏(UPDATEs وDELETEs) التي لم تُطبَّق فعليًا بعد في data part عند تنفيذ استعلامات SELECT.

apply_prewhere_after_final

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.120إعداد جديد. عند التمكين، تُطبَّق شروط PREWHERE بعد معالجة FINAL.

عند التمكين، تُطبَّق شروط PREWHERE بعد معالجة FINAL في ReplacingMergeTree والمحركات المشابهة. وقد يكون ذلك مفيدًا عندما يشير PREWHERE إلى أعمدة قد تختلف قيمها بين الصفوف المكررة، وتريد أن يحدِّد FINAL الصف المعتمد قبل التصفية. وعند التعطيل، يُطبَّق PREWHERE أثناء القراءة. ملاحظة: إذا كان apply_row_level_security_after_final ممكّنًا وكانت سياسة الصف تستخدم أعمدة ليست ضمن مفتاح الفرز، فسيُؤجَّل أيضًا تطبيق PREWHERE للحفاظ على ترتيب التنفيذ الصحيح (يجب تطبيق سياسة الصف قبل PREWHERE).

apply_row_policy_after_final

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.101أُضيف هذا الإعداد كإصلاح للتراجع الذي أعقب #87303، حيث كانت سياسات الصف وPREWHERE تُطبَّق قبل FINAL. قدّم PR #91065 هذا الإعداد، وجعل PR #97279 القيمة true الآمنة من حيث صحة النتائج هي القيمة الافتراضية. وسُجِّل كـ {true, true} حتى لا تعيد compatibility السلوك السابق للإصلاح، وهو false.

عند التمكين، تُطبَّق سياسات الصف وPREWHERE بعد معالجة FINAL في جداول *MergeTree. (وخاصة ReplacingMergeTree) عند التعطيل، تُطبَّق سياسات الصف قبل FINAL، مما قد يؤدي إلى نتائج مختلفة عندما تقوم السياسة بتصفية صفوف يُفترض استخدامها لإزالة التكرار في ReplacingMergeTree أو محركات مشابهة.

إذا كان تعبير سياسة الصف يعتمد فقط على الأعمدة الموجودة في ORDER BY، فسيظل يُطبَّق قبل FINAL كتحسين، لأن هذا النوع من التصفية لا يمكن أن يؤثر في نتيجة إزالة التكرار.

القيم الممكنة:

  • 0 — تُطبَّق سياسة الصف وPREWHERE قبل FINAL (افتراضيًا).
  • 1 — تُطبَّق سياسة الصف وPREWHERE بعد FINAL.

apply_settings_from_server

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.21ستستخدم الشيفرة على جهة العميل (مثل parsing لبيانات إدخال INSERT وformatting لنتيجة الاستعلام) الإعدادات نفسها التي يستخدمها الخادم، بما في ذلك الإعدادات من config الخادم.

ما إذا كان ينبغي للعميل قبول الإعدادات من الخادم.

لا يؤثر هذا إلا في العمليات التي تُنفَّذ على جهة العميل، وخصوصًا parsing لبيانات إدخال INSERT وformatting لنتيجة الاستعلام. يحدث معظم query execution على الخادم، ولا يتأثر بهذا الإعداد.

عادةً، ينبغي تعيين هذا الإعداد في profile المستخدم (users.xml أو استعلامات مثل ALTER USER)، وليس عبر العميل (وسائط سطر أوامر العميل، أو استعلام SET، أو قسم SETTINGS في استعلام SELECT). ويمكن تغييره عبر العميل إلى false، لكن لا يمكن تغييره إلى true (لأن الخادم لن يرسل الإعدادات إذا كان profile المستخدم يحتوي على apply_settings_from_server = false).

لاحظ أنه في البداية (24.12) كان هناك server setting (send_settings_to_client)، ولكن استُبدل لاحقًا بهذا client setting لتحسين سهولة الاستخدام.

Navigation