Skip to main content
هذه الإعدادات متاحة في system.settings، وهي مُولَّدة تلقائيًا من المصدر.

timeout_overflow_mode

يحدد ما يجب فعله إذا استمر الاستعلام في التنفيذ لمدة أطول من max_execution_time أو إذا كان الوقت التقديري للتنفيذ أطول من max_estimated_execution_time (لا يُتحقق من التقدير إلا مع throw). القيم الممكنة:
  • throw: رفع استثناء (الافتراضي).
  • break: إيقاف تنفيذ الاستعلام وإرجاع نتيجة جزئية، كما لو أن البيانات المصدر قد نفدت. لا تستطيع بعض العمليات إرجاع نتيجة جزئية بأمان، لذا تتوقف دون إنتاج نتيجة بدلاً من إرجاع نتيجة أصغر. وتتوقف الدالة التي تحسب قيمة واحدة دون إنتاج تلك القيمة؛ ويعتمد ما إذا كان التوقف يصل أيضاً إلى العميل كخطأ TIMEOUT_EXCEEDED أو يظهر فقط كنتيجة مفقودة على الموضع الذي قوطع فيه الاستعلام. يترك تعديل جدول Memory غير المكتمل بسبب انتهاء المهلة الجدول دون تغيير ويبلّغ عن TIMEOUT_EXCEEDED. قد يُبلّغ INSERT عن QUERY_WAS_CANCELLED. بعض العمليات التي تنتظر النسخ المتماثلة الأخرى أو العمل في الخلفية لا تتوقف عند max_execution_time على الإطلاق: تستمر كتابة النصاب في الانتظار حتى يتحقق النصاب، أو تُبلّغ عن UNKNOWN_STATUS_OF_INSERT إذا انقضت insert_quorum_timeout أولاً.

timeout_overflow_mode_leaf

يحدد ما يحدث عندما يستغرق الاستعلام على العقدة الطرفية وقتًا أطول من max_execution_time_leaf. القيم الممكنة:
  • throw: رفع استثناء (الافتراضي).
  • break: إيقاف تنفيذ الاستعلام وإرجاع نتيجة جزئية، كما لو أن بيانات المصدر قد نفدت. لا يمكن لبعض العمليات إرجاع نتيجة جزئية بأمان، لذا تتوقف دون إنتاج نتيجة بدلًا من إرجاع نتيجة أصغر: فالدالة التي تحسب قيمة واحدة تتوقف دون إنتاج تلك القيمة. يعتمد ما إذا كان هذا التوقف يصل أيضًا إلى العميل بوصفه خطأ TIMEOUT_EXCEEDED، أو بوصفه نتيجة مفقودة فقط، على الموضع الذي تمت فيه مقاطعة الاستعلام.
آخر تعديل في ١٤ أغسطس ٢٠٢٦