> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> جدول نظامي يحتوي على معلومات عن تعديلات جداول MergeTree ومدى تقدّمها. ويمثّل كل أمر تعديل صفًا واحدًا.

# system.mutations

<div id="description">
  ## الوصف
</div>

يحتوي الجدول على معلومات حول [التعديلات](/ar/reference/statements/alter/index#mutations) في جداول [MergeTree](/ar/reference/engines/table-engines/mergetree-family/mergetree) ومدى تقدّمها. ويُمثَّل كل أمر تعديل بصف واحد.

<div id="columns">
  ## الأعمدة:
</div>

* `database` ([String](/ar/reference/data-types/index)) — اسم قاعدة البيانات الذي طُبِّق عليه التعديل.
* `table` ([String](/ar/reference/data-types/index)) — اسم الجدول الذي طُبِّق عليه التعديل.
* `mutation_id` ([String](/ar/reference/data-types/index)) — معرّف التعديل. بالنسبة إلى الجداول المكررة، تتوافق هذه المعرّفات مع أسماء `znode` في المجلد `<table_path_in_clickhouse_keeper>/mutations/` ضمن ClickHouse Keeper. أما في الجداول غير المكررة، فتتوافق هذه المعرّفات مع أسماء الملفات في مجلد بيانات الجدول.
* `command` ([String](/ar/reference/data-types/index)) — سلسلة أمر التعديل (الجزء من الاستعلام الذي يأتي بعد ALTER TABLE \[db.]table).
* `create_time` ([DateTime](/ar/reference/data-types/index)) — التاريخ والوقت اللذان أُرسل فيهما أمر التعديل للتنفيذ.
* `block_numbers.partition_id` ([Array(String)](/ar/reference/data-types/index)) — بالنسبة إلى تعديلات الجداول المكررة، تحتوي المصفوفة على معرّفات الأقسام (سجل واحد لكل قسم). أما بالنسبة إلى تعديلات الجداول غير المكررة، فتكون المصفوفة فارغة.
* `block_numbers.number` ([Array(Int64)](/ar/reference/data-types/index)) — بالنسبة إلى تعديلات الجداول المكررة، تحتوي المصفوفة على سجل واحد لكل قسم، مع رقم block الذي حصل عليه التعديل. ولن تُعدَّل داخل القسم إلا الأجزاء التي تحتوي على blocks بأرقام أقل من هذا الرقم. في الجداول غير المكررة، تشكّل أرقام blocks في جميع الأقسام تسلسلًا واحدًا. وهذا يعني أنه بالنسبة إلى تعديلات الجداول غير المكررة، سيحتوي العمود على سجل واحد يتضمن رقم block واحدًا حصل عليه التعديل.
* `parts_in_progress_names` ([Array(String)](/ar/reference/data-types/index)) — مصفوفة بأسماء أجزاء البيانات التي يجري تعديلها حاليًا.
* `parts_to_do_names` ([Array(String)](/ar/reference/data-types/index)) — مصفوفة بأسماء أجزاء البيانات التي يجب تعديلها حتى يكتمل التعديل.
* `parts_to_do` ([Int64](/ar/reference/data-types/index)) — عدد أجزاء البيانات التي يجب تعديلها حتى يكتمل التعديل. ملاحظة: حتى إذا كانت قيمة `parts_to_do` = 0، فقد لا يكون تعديل جدول مكرر قد اكتمل بعد، بسبب عملية INSERT طويلة التشغيل تنشئ جزء بيانات جديدًا سيحتاج إلى التعديل.
* `parts_postpone_reasons` ([Map(String, String)](/ar/reference/data-types/index)) — خريطة تربط أسماء الأجزاء بالأسباب التي أدت إلى تأجيلها.
* `is_done` ([UInt8](/ar/reference/data-types/index)) — علامة تحدد ما إذا كان التعديل قد اكتمل أم لا. القيم الممكنة: 1 إذا كان التعديل مكتملًا، و0 إذا كان التعديل لا يزال قيد التنفيذ.
* `is_killed` ([UInt8](/ar/reference/data-types/index)) — يشير إلى ما إذا كان قد تم إيقاف التعديل. هذا الحقل متاح فقط في ClickHouse Cloud. ملاحظة: لا تعني القيمة is\_killed=1 بالضرورة أن التعديل قد انتهى بالكامل. ومن الممكن أن يبقى التعديل في حالة تكون فيها القيمة is\_killed=1 و is\_done=0 لفترة ممتدة. وقد يحدث هذا إذا كان هناك تعديل آخر طويل التشغيل يحجب التعديل الذي تم إيقافه. وهذا وضع طبيعي.
* `latest_failed_part` ([String](/ar/reference/data-types/index)) — اسم أحدث جزء تعذّر تعديله.
* `latest_fail_time` ([DateTime](/ar/reference/data-types/index)) — تاريخ ووقت أحدث إخفاق في تعديل جزء.
* `latest_fail_reason` ([String](/ar/reference/data-types/index)) — رسالة الاستثناء التي تسببت في أحدث إخفاق في تعديل جزء.
* `latest_fail_error_code_name` ([String](/ar/reference/data-types/index)) — رمز خطأ الاستثناء الذي تسبب في أحدث إخفاق في تعديل جزء.

<Note>
  - إذا لم يكن اسم الجزء موجودًا في `parts_postpone_reasons` ولم يكن قد خضع للتعديل بعد، فهذا يعني أنه لم تتم بعد جدولة هذا الجزء لإجراء التعديل.
  - يمثّل اسم الجزء `all_parts` جميع الأجزاء التي لم تخضع للتعديل بعد.
</Note>

* `is_killed` ([UInt8](/ar/reference/data-types/int-uint)) — يشير إلى ما إذا كان التعديل قد تم إيقافه. **متاح فقط في ClickHouse Cloud.**

<Note>
  لا يعني `is_killed=1` بالضرورة أن التعديل قد انتهى تمامًا. فقد يبقى التعديل في حالة يكون فيها `is_killed=1` و`is_done=0` لفترة طويلة. وقد يحدث ذلك إذا كان تعديل آخر طويل التشغيل يمنع التعديل الموقوف من التقدّم. وهذا وضع طبيعي.
</Note>

* `is_done` ([UInt8](/ar/reference/data-types/int-uint)) — راية تشير إلى ما إذا كان التعديل قد اكتمل أم لا. القيم الممكنة:
  * `1` إذا كان التعديل قد اكتمل،
  * `0` إذا كان التعديل لا يزال قيد التنفيذ.

<Note>
  حتى إذا كانت قيمة `parts_to_do = 0`، فقد لا يكون التعديل لجدول مكرر قد اكتمل بعد، بسبب استعلام `INSERT` طويل التشغيل ينشئ جزء بيانات جديدًا يجب تطبيق التعديل عليه.
</Note>

إذا كانت هناك مشكلات في تطبيق التعديل على بعض أجزاء البيانات، فستحتوي الأعمدة التالية على معلومات إضافية:

* `latest_failed_part` ([String](/ar/reference/data-types/string)) — اسم أحدث جزء تعذّر تطبيق التعديل عليه.
* `latest_fail_time` ([DateTime](/ar/reference/data-types/datetime)) — تاريخ ووقت أحدث فشل في تعديل part.
* `latest_fail_reason` ([String](/ar/reference/data-types/string)) — رسالة الاستثناء التي تسببت في أحدث فشل في تعديل part.

<div id="monitoring-mutations">
  ## مراقبة عمليات التعديل
</div>

لمتابعة التقدّم في جدول `system.mutations`، استخدم الاستعلام التالي:

```sql theme={null}
SELECT * FROM clusterAllReplicas('cluster_name', 'system', 'mutations')
WHERE is_done = 0 AND table = 'tmp';

-- or

SELECT * FROM clusterAllReplicas('cluster_name', 'system.mutations')
WHERE is_done = 0 AND table = 'tmp';
```

ملاحظة: يتطلب هذا أذونات القراءة على جداول `system.*`.

<Tip>
  **استخدام Cloud**

  في ClickHouse Cloud، يتضمن الجدول `system.mutations` على كل عقدة جميع عمليات التعديل في العنقود، لذلك لا حاجة إلى `clusterAllReplicas`.
</Tip>

<div id="see-also">
  ## انظر أيضًا
</div>

* [التعديلات](/ar/reference/statements/alter/index#mutations)
* [MergeTree](/ar/reference/engines/table-engines/mergetree-family/mergetree) محرك الجدول
* [ReplicatedMergeTree](/ar/reference/engines/table-engines/mergetree-family/replication) عائلة المحركات
