هذه الإعدادات متاحة في system.settings، ويجري توليدها تلقائيًا من المصدر.
يُفعّل تصفية الصفوف المحذوفة باستخدام DELETE الخفيف. وإذا كان معطّلًا، فسيتمكّن الاستعلام من قراءة تلك الصفوف. ويكون ذلك مفيدًا في سيناريوهات تصحيح الأخطاء و”إلغاء الحذف”
إذا كانت القيمة true، فستُطبَّق عمليات mutations (UPDATEs وDELETEs) التي لم تُطبَّق فعليًا بعد في data part عند تنفيذ استعلامات SELECT.
apply_prewhere_after_final
عند التمكين، تُطبَّق شروط PREWHERE بعد معالجة FINAL في ReplacingMergeTree والمحركات المشابهة.
وقد يكون ذلك مفيدًا عندما يشير PREWHERE إلى أعمدة قد تختلف قيمها بين الصفوف المكررة،
وتريد أن يحدِّد FINAL الصف المعتمد قبل التصفية. وعند التعطيل، يُطبَّق PREWHERE أثناء القراءة.
ملاحظة: إذا كان apply_row_level_security_after_final ممكّنًا وكانت سياسة الصف تستخدم أعمدة ليست ضمن مفتاح الفرز، فسيُؤجَّل أيضًا
تطبيق PREWHERE للحفاظ على ترتيب التنفيذ الصحيح (يجب تطبيق سياسة الصف قبل PREWHERE).
apply_row_policy_after_final
عند التمكين، تُطبَّق سياسات الصف وPREWHERE بعد معالجة FINAL في جداول *MergeTree. (وخاصة ReplacingMergeTree)
عند التعطيل، تُطبَّق سياسات الصف قبل FINAL، مما قد يؤدي إلى نتائج مختلفة عندما تقوم السياسة
بتصفية صفوف يُفترض استخدامها لإزالة التكرار في ReplacingMergeTree أو محركات مشابهة.
إذا كان تعبير سياسة الصف يعتمد فقط على الأعمدة الموجودة في ORDER BY، فسيظل يُطبَّق قبل FINAL كتحسين،
لأن هذا النوع من التصفية لا يمكن أن يؤثر في نتيجة إزالة التكرار.
القيم الممكنة:
- 0 — تُطبَّق سياسة الصف وPREWHERE قبل FINAL (افتراضيًا).
- 1 — تُطبَّق سياسة الصف وPREWHERE بعد FINAL.
apply_settings_from_server
ما إذا كان ينبغي للعميل قبول الإعدادات من الخادم.
لا يؤثر هذا إلا في العمليات التي تُنفَّذ على جهة العميل، وخصوصًا 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 لتحسين سهولة الاستخدام. آخر تعديل في ٢٣ يوليو ٢٠٢٦