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

# سجل التغييرات لعام 2022

> سجل التغييرات لعام 2022

### <a id="2212" /> إصدار ClickHouse 22.12، 2022-12-15. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.12/)، [الفيديو](https://www.youtube.com/watch?v=sREupr6uc2k)

<Frame>
  <iframe src="https://www.youtube.com/embed/sREupr6uc2k" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<Warning>
  يحتوي هذا الإصدار على تعليق خاطئ في خدمة systemd، وقد يؤدي ذلك إلى تعطل تثبيت ClickHouse عند الترقية على بعض توزيعات لينكس. تُعدّل خدمة systemd أذونات مالك الدليل `/run/systemd`، مما يتسبب في فشل جميع عمليات systemd اللاحقة. ويُنصح بتجاوز الترقية إلى هذا الإصدار والترقية بدلًا من ذلك إلى إصدار أحدث من ClickHouse.

  راجع هذه المشكلة على GitHub لمزيد من التفاصيل: [https://github.com/ClickHouse/ClickHouse/issues/48285](https://github.com/ClickHouse/ClickHouse/issues/48285)
</Warning>

<div id="upgrade-notes">
  #### ملاحظات الترقية
</div>

* تم إصلاح عدم التوافق مع الإصدارات السابقة في تسلسل/إلغاء تسلسل حالات الدوال التجميعية `min` و`max` و`any*` و`argMin` و`argMax` التي تأخذ وسيطًا من النوع `String`. يؤثر هذا الخلل في فروع 22.9 و22.10 و22.11 (وقد أُصلح بدءًا من 22.9.6 و22.10.4 و22.11.2 على التوالي). كما تتأثر أيضًا بعض الإصدارات الفرعية من فروع 22.3 و22.7 و22.8: ‏22.3.13...22.3.14 (أُصلح بدءًا من 22.3.15)، و22.8.6...22.8.9 (أُصلح بدءًا من 22.8.10)، و22.7.6 وما بعده (لن يُصلح في 22.7، ونوصي بالترقية من 22.7.\* إلى 22.8.10 أو أحدث). لا تهم ملاحظة الإصدار هذه المستخدمين الذين لم يسبق لهم استخدام الإصدارات المتأثرة. تضيف الإصدارات غير المتوافقة محرف `'\0'` إضافيًا إلى السلاسل النصية عند قراءة حالات الدوال التجميعية المذكورة أعلاه. على سبيل المثال، إذا حفظ إصدار أقدم حالة `anyState('foobar')` في `state_column`، فسيطبع الإصدار غير المتوافق `'foobar\0'` عند `anyMerge(state_column)`. كما أن الإصدارات غير المتوافقة تكتب حالات الدوال التجميعية من دون `'\0'` ختامية. يمكن للإصدارات الأحدث (التي تتضمن الإصلاح) قراءة البيانات المكتوبة بواسطة جميع الإصدارات، بما في ذلك الإصدارات غير المتوافقة، بشكل صحيح، باستثناء حالة نادرة واحدة. فإذا حفظ إصدار غير متوافق حالةً تحتوي على سلسلة نصية تنتهي فعليًا بمحرف null، فسيحذف الإصدار الأحدث `'\0'` الختامية عند قراءة حالة الدالة التجميعية المتأثرة. على سبيل المثال، إذا حفظ إصدار غير متوافق حالة `anyState('abrac\0dabra\0')` في `state_column`، فستطبع الإصدارات الأحدث `'abrac\0dabra'` عند `anyMerge(state_column)`. تؤثر هذه المشكلة أيضًا في الاستعلامات الموزعة عندما يعمل إصدار غير متوافق ضمن cluster مع إصدارات أقدم أو أحدث. [#43038](https://github.com/ClickHouse/ClickHouse/pull/43038) ([Alexander Tokmakov](https://github.com/tavplubix), [Raúl Marín](https://github.com/Algunenano)). ملاحظة: تتضمن جميع البُنى الرسمية لـ ClickHouse هذه الترقيعات بالفعل. ولا ينطبق ذلك بالضرورة على البُنى غير الرسمية من جهات خارجية، والتي ينبغي تجنبها.

<div id="new-feature">
  #### ميزة جديدة
</div>

* إضافة تنسيق الإدخال/الإخراج `BSONEachRow`. في هذا التنسيق، يقوم ClickHouse بتنسيق/تحليل كل صف على أنه مستند BSON مستقل، كما يُنسَّق/يُحلَّل كل عمود على أنه حقل BSON واحد، ويكون اسم العمود هو المفتاح. [#42033](https://github.com/ClickHouse/ClickHouse/pull/42033) ([mark-polokhov](https://github.com/mark-polokhov)).
* إضافة خوارزمية JOIN ‏`grace_hash`، ويمكن تفعيلها باستخدام `SET join_algorithm = 'grace_hash'`. [#38191](https://github.com/ClickHouse/ClickHouse/pull/38191) ([BigRedEye](https://github.com/BigRedEye), [Vladimir C](https://github.com/vdimir)).
* السماح بتهيئة قواعد تعقيد كلمات المرور وعمليات التحقق عند إنشاء المستخدمين وتغييرهم. [#43719](https://github.com/ClickHouse/ClickHouse/pull/43719) ([Nikolay Degterinsky](https://github.com/evillique)).
* إخفاء المعلومات الحساسة في السجلات؛ وإخفاء الأجزاء السرية في مخرجات الاستعلامين `SHOW CREATE TABLE` و`SELECT FROM system.tables`. كما يعالج أيضًا [#41418](https://github.com/ClickHouse/ClickHouse/issues/41418). [#43227](https://github.com/ClickHouse/ClickHouse/pull/43227) ([Vitaly Baranov](https://github.com/vitlibar)).
* إضافة صياغة `GROUP BY ALL`: [#37631](https://github.com/ClickHouse/ClickHouse/issues/37631). [#42265](https://github.com/ClickHouse/ClickHouse/pull/42265) ([刘陶峰](https://github.com/taofengliu)).
* إضافة صياغة `FROM table SELECT column`. [#41095](https://github.com/ClickHouse/ClickHouse/pull/41095) ([Nikolay Degterinsky](https://github.com/evillique)).
* إضافة الدالة `concatWithSeparator`، وإضافة `concat_ws` كاسم مستعار للتوافق مع Spark SQL. كما أُضيفت الدالة `concatWithSeparatorAssumeInjective` كصيغة أخرى لتمكين تحسين GROUP BY، على نحو مماثل لـ `concatAssumeInjective`. [#43749](https://github.com/ClickHouse/ClickHouse/pull/43749) ([李扬](https://github.com/taiyang-li)).
* إضافة الدالتين `multiplyDecimal` و`divideDecimal` لعمليات Decimal ذات الدقة الثابتة. [#42438](https://github.com/ClickHouse/ClickHouse/pull/42438) ([Andrey Zvonov](https://github.com/zvonand)).
* إضافة الجدول `system.moves` مع قائمة بالأجزاء الجاري نقلها حاليًا. [#42660](https://github.com/ClickHouse/ClickHouse/pull/42660) ([Sergei Trifonov](https://github.com/serxa)).
* إضافة دعم نقطة نهاية Prometheus المضمّنة لـ ClickHouse Keeper. [#43087](https://github.com/ClickHouse/ClickHouse/pull/43087) ([Antonio Andelic](https://github.com/antonio2368)).
* دعم القيم العددية الحرفية التي تستخدم `_` فاصلًا، على سبيل المثال `1_000_000`. [#43925](https://github.com/ClickHouse/ClickHouse/pull/43925) ([jh0x](https://github.com/jh0x)).
* إضافة إمكانية استخدام Array كمعامل ثانٍ للدالة `cutURLParameter`. وسيتيح ذلك إزالة عدة معاملات. يغلق [#6827](https://github.com/ClickHouse/ClickHouse/issues/6827). [#43788](https://github.com/ClickHouse/ClickHouse/pull/43788) ([Roman Vasin](https://github.com/rvasin)).
* إضافة عمود يتضمن expression الخاصة بالـ index في الجدول `system.data_skipping_indices`. [#43308](https://github.com/ClickHouse/ClickHouse/pull/43308) ([Guillaume Tassery](https://github.com/YiuRULE)).
* إضافة العمود `engine_full` إلى جدول النظام `databases` بحيث يمكنك الوصول إلى تعريف engine الكامل لقاعدة البيانات عبر جداول النظام. [#43468](https://github.com/ClickHouse/ClickHouse/pull/43468) ([凌涛](https://github.com/lingtaolf)).
* تمت إضافة hash function جديدة هي [xxh3](https://github.com/Cyan4973/xxHash). كما جرى تحسين أداء `xxHash32` و`xxHash64` على ARM بفضل تحديث المكتبة. [#43411](https://github.com/ClickHouse/ClickHouse/pull/43411) ([Nikita Taranov](https://github.com/nickitat)).
* أُضيف دعم لتحديد قيود على إعدادات MergeTree. على سبيل المثال، يمكنك منع المستخدمين من تجاوز `storage_policy`. [#43903](https://github.com/ClickHouse/ClickHouse/pull/43903) ([Sergei Trifonov](https://github.com/serxa)).
* أُضيف إعداد جديد `input_format_json_read_objects_as_strings` يتيح تحليل كائنات JSON المتداخلة كـ Strings في جميع تنسيقات إدخال JSON. هذا الإعداد معطّل افتراضيًا. [#44052](https://github.com/ClickHouse/ClickHouse/pull/44052) ([Kruglov Pavel](https://github.com/Avogar)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* دعم إزالة الازدواجية لعمليات الإدراج غير المتزامنة. قبل هذا التغيير، لم تكن عمليات الإدراج غير المتزامنة تدعم إزالة الازدواجية، لأن عدة عمليات insert صغيرة كانت تُدمج ضمن Batch واحدة مُدرجة. يُغلق [#38075](https://github.com/ClickHouse/ClickHouse/issues/38075). [#43304](https://github.com/ClickHouse/ClickHouse/pull/43304) ([Han Fei](https://github.com/hanfei1991)).
* إضافة دعم cosine distance إلى فهرس Annoy التجريبي (vector similarity search). [#42778](https://github.com/ClickHouse/ClickHouse/pull/42778) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* إضافة استعلامات `CREATE / ALTER / DROP NAMED COLLECTION`. [#43252](https://github.com/ClickHouse/ClickHouse/pull/43252) ([Kseniia Sumarokova](https://github.com/kssenii)). هذه الميزة قيد التطوير، وهذه الاستعلامات ليست فعّالة حتى الإصدار 22.12. أُضيف بند changelog هذا فقط لتجنب الالتباس. تم تقييد الوصول الافتراضي إلى named collections بالمستخدم المعرّف في config. ويتطلب ذلك ضبط `show_named_collections = 1` لكي تصبح مرئية. [#43325](https://github.com/ClickHouse/ClickHouse/pull/43325) ([Kseniia Sumarokova](https://github.com/kssenii)). وتمت إضافة table ‏`system.named_collections` [#43147](https://github.com/ClickHouse/ClickHouse/pull/43147) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* أُضيف الإعدادان `max_streams_for_merge_tree_reading` و`allow_asynchronous_read_from_io_pool_for_merge_tree`. يحدّ الإعداد `max_streams_for_merge_tree_reading` من عدد تدفقات القراءة في جداول MergeTree. ويُفعّل الإعداد `allow_asynchronous_read_from_io_pool_for_merge_tree` تجمّع I/O في الخلفية للقراءة من جداول `MergeTree`. قد يؤدي ذلك إلى تحسين الأداء في الاستعلامات المقيّدة بـ I/O إذا استُخدم مع `max_streams_to_max_threads_ratio` أو `max_streams_for_merge_tree_reading`. [#43260](https://github.com/ClickHouse/ClickHouse/pull/43260) ([Nikolai Kochetov](https://github.com/KochetovNicolai)). ويمكن أن يحسّن هذا الأداء بما يصل إلى 100 مرة في حالات التخزين ذي زمن الوصول المرتفع، والعدد المنخفض من CPU، والعدد الكبير من أجزاء البيانات.
* لم تكن الإعدادات `merge_tree_min_rows_for_concurrent_read_for_remote_filesystem/merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem` تراعي adaptive granularity. كما أن الصفوف الكبيرة لم تكن تقلّل عدد الصفوف المقروءة (كما هو الحال مع `merge_tree_min_rows_for_concurrent_read/merge_tree_min_bytes_for_concurrent_read`)، ما قد يؤدي إلى ارتفاع استهلاك الذاكرة عند استخدام أنظمة الملفات البعيدة. [#43965](https://github.com/ClickHouse/ClickHouse/pull/43965) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* جرى تحسين عدد طلبات القائمة المرسلة إلى ZooKeeper أو ClickHouse Keeper عند اختيار جزء لدمجه. في السابق، كان ذلك قد ينتج آلاف الطلبات في بعض الحالات. يُصلح [#43647](https://github.com/ClickHouse/ClickHouse/issues/43647). [#43675](https://github.com/ClickHouse/ClickHouse/pull/43675) ([Alexander Tokmakov](https://github.com/tavplubix)).
* يُتجاوز هذا التحسين الآن إذا كانت قيمة `max_size_to_preallocate_for_aggregation` صغيرة جدًا. كما زادت القيمة الافتراضية لهذا الإعداد إلى `10^8`. [#43945](https://github.com/ClickHouse/ClickHouse/pull/43945) ([Nikita Taranov](https://github.com/nickitat)).
* تسريع إيقاف الخادم عبر تجنّب تنظيف أجزاء البيانات القديمة، لأن ذلك لم يعد ضروريًا بعد [https://github.com/ClickHouse/ClickHouse/pull/41145](https://github.com/ClickHouse/ClickHouse/pull/41145). [#43760](https://github.com/ClickHouse/ClickHouse/pull/43760) ([Sema Checherinda](https://github.com/CheSema)).
* أصبح الدمج على العقدة البادئة يستخدم الآن النهج نفسه المقيّد بالذاكرة المستخدم في دمج نتائج التجميع المحلية إذا كان `enable_memory_bound_merging_of_aggregation_results` مضبوطًا. [#40879](https://github.com/ClickHouse/ClickHouse/pull/40879) ([Nikita Taranov](https://github.com/nickitat)).
* تحسين في Keeper: محاولة مزامنة السجلات إلى القرص بالتوازي مع النسخ المتماثل. [#43450](https://github.com/ClickHouse/ClickHouse/pull/43450) ([Antonio Andelic](https://github.com/antonio2368)).
* تحسين في Keeper: تُجمَّع الطلبات على دفعات بوتيرة أكبر. ويمكن التحكّم في هذا التجميع عبر الإعداد الجديد `max_requests_quick_batch_size`. [#43686](https://github.com/ClickHouse/ClickHouse/pull/43686) ([Antonio Andelic](https://github.com/antonio2368)).

<div id="improvement">
  #### تحسينات
</div>

* تنفيذ التبعيات المرجعية واستخدامها لإنشاء الجداول بالترتيب الصحيح أثناء الاستعادة من نسخة احتياطية. [#43834](https://github.com/ClickHouse/ClickHouse/pull/43834) ([Vitaly Baranov](https://github.com/vitlibar)).
* استبدال UDFs في استعلام `CREATE` لتجنّب حالات الإخفاق أثناء التحميل عند بدء التشغيل. بالإضافة إلى ذلك، يمكن الآن استخدام UDFs كتعبيرات `DEFAULT` للأعمدة. [#43539](https://github.com/ClickHouse/ClickHouse/pull/43539) ([Antonio Andelic](https://github.com/antonio2368)).
* تغيير آلية حذف الأجزاء في الاستعلامات التالية: TRUNCATE TABLE و ALTER TABLE DROP PART و ALTER TABLE DROP PARTITION. تُنشئ هذه الاستعلامات الآن أجزاءً فارغة تغطي الأجزاء القديمة. وهذا يجعل استعلام TRUNCATE يعمل من دون قفل followedexclusive، ما يعني أن عمليات القراءة المتزامنة لا تُحظر. كما تحققت المتانة في جميع هذه الاستعلامات. وإذا نجح الطلب، فلن تظهر لاحقًا أجزاء أُعيد إحياؤها. لاحظ أن atomicity لا تتحقق إلا ضمن نطاق transaction. [#41145](https://github.com/ClickHouse/ClickHouse/pull/41145) ([Sema Checherinda](https://github.com/CheSema)).
* لم يعد استعلام `SET param_x` يتطلب إجراء serialization نصي يدوي لقيمة المعلَمة. على سبيل المثال، يمكن الآن كتابة الاستعلام `SET param_a = '[\'a\', \'b\']'` على النحو `SET param_a = ['a', 'b']`. [#41874](https://github.com/ClickHouse/ClickHouse/pull/41874) ([Nikolay Degterinsky](https://github.com/evillique)).
* عرض الصفوف المقروءة في مؤشر التقدم أثناء القراءة من stdin من client. يُغلق [#43423](https://github.com/ClickHouse/ClickHouse/issues/43423). [#43442](https://github.com/ClickHouse/ClickHouse/pull/43442) ([Kseniia Sumarokova](https://github.com/kssenii)).
* عرض شريط التقدم أثناء القراءة من S3 table function / engine. [#43454](https://github.com/ClickHouse/ClickHouse/pull/43454) ([Kseniia Sumarokova](https://github.com/kssenii)).
* سيعرض شريط التقدم كلاً من الصفوف المقروءة والمكتوبة. [#43496](https://github.com/ClickHouse/ClickHouse/pull/43496) ([Ilya Yatsishin](https://github.com/qoega)).
* تدعم `filesystemAvailable` والدوال ذات الصلة وسيطًا اختياريًا واحدًا لاسم disk، كما تم تغيير `filesystemFree` إلى `filesystemUnreserved`. يُغلق [#35076](https://github.com/ClickHouse/ClickHouse/issues/35076). [#42064](https://github.com/ClickHouse/ClickHouse/pull/42064) ([flynn](https://github.com/ucasfl)).
* التكامل مع LDAP: زيادة default value لـ search\_limit إلى 256، وإضافة خيار config لخادم LDAP لتغييرها إلى أي قيمة. يُغلق: [#42276](https://github.com/ClickHouse/ClickHouse/issues/42276). [#42461](https://github.com/ClickHouse/ClickHouse/pull/42461) ([Vasily Nemkov](https://github.com/Enmk)).
* السماح أيضًا بإزالة المعلومات الحساسة (راجع `query_masking_rules` في configuration file) من رسائل الاستثناء. يحل [#41418](https://github.com/ClickHouse/ClickHouse/issues/41418). [#42940](https://github.com/ClickHouse/ClickHouse/pull/42940) ([filimonov](https://github.com/filimonov)).
* دعم استعلامات مثل `SHOW FULL TABLES ...` للتوافق مع MySQL. [#43910](https://github.com/ClickHouse/ClickHouse/pull/43910) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* تحسين في Keeper: إضافة الأمر 4lw `rqld` الذي يتيح تعيين عقدة يدويًا كـ leader. [#43026](https://github.com/ClickHouse/ClickHouse/pull/43026) ([JackyWoo](https://github.com/JackyWoo)).
* تطبيق إعدادات Connection timeout على Distributed async INSERT من الاستعلام. [#43156](https://github.com/ClickHouse/ClickHouse/pull/43156) ([Azat Khuzhin](https://github.com/azat)).
* تدعم الدالة `unhex` الآن argument من نوع `FixedString`. [issue42369](https://github.com/ClickHouse/ClickHouse/issues/42369). [#43207](https://github.com/ClickHouse/ClickHouse/pull/43207) ([DR](https://github.com/freedomDR)).
* تُعطى الأولوية لحذف الأجزاء المنتهية الصلاحية بالكامل وفقًا لقواعد TTL، راجع [#42869](https://github.com/ClickHouse/ClickHouse/issues/42869). [#43222](https://github.com/ClickHouse/ClickHouse/pull/43222) ([zhongyuankai](https://github.com/zhongyuankai)).
* عرض أكثر دقة واستجابةً لحمل CPU في clickhouse-client. [#43307](https://github.com/ClickHouse/ClickHouse/pull/43307) ([Sergei Trifonov](https://github.com/serxa)).
* دعم قراءة الأعمدة الفرعية للأنواع المتداخلة من وحدة التخزين `S3` ودالة الجدول `s3` بالتنسيقات `Parquet` و`Arrow` و`ORC`. [#43329](https://github.com/ClickHouse/ClickHouse/pull/43329) ([chen](https://github.com/xiedeyantu)).
* إضافة العمود `table_uuid` إلى الجدول `system.parts`. [#43404](https://github.com/ClickHouse/ClickHouse/pull/43404) ([Azat Khuzhin](https://github.com/azat)).
* أُضيف خيار للعميل لعرض عدد الصفوف المُعالجة محليًا في الوضع غير التفاعلي (`--print-num-processed-rows`). [#43407](https://github.com/ClickHouse/ClickHouse/pull/43407) ([jh0x](https://github.com/jh0x)).
* تنفيذ تحسين `aggregation-in-order` على مستوى خطة الاستعلام. وهو مُمكّن افتراضيًا (لكنه لا يعمل إلا مع `optimize_aggregation_in_order`، وهو معطّل افتراضيًا). اضبط `query_plan_aggregation_in_order = 0` لاستخدام الإصدار السابق المستند إلى AST. [#43592](https://github.com/ClickHouse/ClickHouse/pull/43592) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* السماح بجمع profile events مع `trace_type = 'ProfileEvent'` في `system.trace_log` عند كل زيادة، مع المكدس الحالي واسم profile event وقيمة الزيادة. يمكن تمكين ذلك عبر الإعداد `trace_profile_events` واستخدامه للتحقيق في أداء الاستعلامات. [#43639](https://github.com/ClickHouse/ClickHouse/pull/43639) ([Anton Popov](https://github.com/CurtizJ)).
* إضافة إعداد جديد `input_format_max_binary_string_size` لتقييد حجم السلسلة النصية في تنسيق RowBinary. [#43842](https://github.com/ClickHouse/ClickHouse/pull/43842) ([Kruglov Pavel](https://github.com/Avogar)).
* عندما يرسل ClickHouse طلبًا إلى خادم HTTP بعيد ويُرجع هذا الخادم خطأً، لم يكن رمز HTTP الرقمي يُعرض بشكل صحيح في رسالة الاستثناء. يُغلق [#43919](https://github.com/ClickHouse/ClickHouse/issues/43919). [#43920](https://github.com/ClickHouse/ClickHouse/pull/43920) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* الإبلاغ عن الأخطاء في الاستعلامات بشكل صحيح حتى عند تنفيذ تحسين عمليات JOIN المتعددة. [#43583](https://github.com/ClickHouse/ClickHouse/pull/43583) ([Salvatore](https://github.com/tbsal)).

<div id="buildtestingpackaging-improvement">
  #### تحسينات في البناء/الاختبار/التحزيم
</div>

* يُخطر تكامل Systemd الآن systemd بشكل صحيح بأن الخدمة قد بدأت بالفعل وأصبحت جاهزة لمعالجة الطلبات. [#43400](https://github.com/ClickHouse/ClickHouse/pull/43400) ([Коренберг Марк](https://github.com/socketpair)).
* أُضيف خيار لبناء ClickHouse باستخدام OpenSSL مع [OpenSSL FIPS Module](https://www.openssl.org/docs/man3.0/man7/fips_module.html). لم يخضع هذا النوع من البناء للاختبار للتحقق من الأمان، وهو غير مدعوم. [#43991](https://github.com/ClickHouse/ClickHouse/pull/43991) ([Boris Kuschel](https://github.com/bkuschel)).
* ترقية إلى compression codec الجديد `DeflateQpl`، الذي جرى تنفيذه في PR سابق (التفاصيل: [https://github.com/ClickHouse/ClickHouse/pull/39494](https://github.com/ClickHouse/ClickHouse/pull/39494)). يُحسّن هذا التصحيح الـ codec من الجوانب التالية: 1. الترقية من QPL v0.2.0 إلى QPL v0.3.0 [Intel® Query Processing Library (QPL)](https://github.com/intel/qpl) 2. تحسين ملف CMake لمعالجة مشكلات build في QPL v0.3.0. 3. ربط مكتبة QPL مع libaccel-config في وقت build بدلاً من التحميل في وقت runtime في QPL v0.2.0 ‏(dlopen) 4. إصلاح مشكلة طباعة السجل في CompressionCodecDeflateQpl.cpp. [#44024](https://github.com/ClickHouse/ClickHouse/pull/44024) ([jasperzhu](https://github.com/jinjunzh)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release">
  #### إصلاح خلل (سلوك خاطئ ظاهر للمستخدم في إصدار رسمي مستقر أو ما قبل الاستقرار)
</div>

* تم إصلاح خطأ كان قد يؤدي إلى توقف تام عند استخدام asynchronous inserts. [#43233](https://github.com/ClickHouse/ClickHouse/pull/43233) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح بعض المنطق غير الصحيح في تحسينات مستوى AST ‏`optimize_normalize_count_variants`. [#43873](https://github.com/ClickHouse/ClickHouse/pull/43873) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح حالة لا تُحرِز فيها mutations أي تقدم عندما لا تتطابق checksums بين replicas (على سبيل المثال، بسبب تغيّر في format البيانات أثناء الترقية). [#36877](https://github.com/ClickHouse/ClickHouse/pull/36877) ([nvartolomei](https://github.com/nvartolomei)).
* إصلاح تحسين `skip_unavailable_shards` الذي لم يكن يعمل مع table function ‏`hdfsCluster`. [#43236](https://github.com/ClickHouse/ClickHouse/pull/43236) ([chen](https://github.com/xiedeyantu)).
* إصلاح دعم `s3` للرمز البديل `?`. يُغلق هذا [#42731](https://github.com/ClickHouse/ClickHouse/issues/42731). [#43253](https://github.com/ClickHouse/ClickHouse/pull/43253) ([chen](https://github.com/xiedeyantu)).
* إصلاح الدالتين `arrayFirstOrNull` و`arrayLastOrNull` بحيث تُرجعان null عندما تحتوي المصفوفة على عناصر `Nullable`. [#43274](https://github.com/ClickHouse/ClickHouse/pull/43274) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح احتساب `UserTimeMicroseconds`/`SystemTimeMicroseconds` غير الصحيح المرتبط بـ Kafka tables. [#42791](https://github.com/ClickHouse/ClickHouse/pull/42791) ([Azat Khuzhin](https://github.com/azat)).
* عدم كتم الاستثناءات في أقراص `web`. وإصلاح retries الخاصة بالقرص `web`. [#42800](https://github.com/ClickHouse/ClickHouse/pull/42800) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح race condition (منطقية) بين inserts وdropping materialized views. كانت race condition تحدث عند حذف materialized view بالتزامن مع عملية INSERT، حيث تكون MVs موجودة كتبعية لعملية insert في بداية التنفيذ، لكن يكون الجدول قد حُذف بحلول الوقت الذي تحاول فيه سلسلة insert الوصول إليه، ما يؤدي إلى الاستثناء `UNKNOWN_TABLE` أو `TABLE_IS_DROPPED` ويوقف insertion. بعد هذا التغيير، أصبحنا نتجنب هذه الاستثناءات ونواصل عملية insert ببساطة إذا كانت التبعية قد اختفت. [#43161](https://github.com/ClickHouse/ClickHouse/pull/43161) ([AlfVII](https://github.com/AlfVII)).
* إصلاح سلوك غير معرّف في الدالة `quantiles` قد يؤدي إلى استخدام ذاكرة غير مهيأة. اكتُشف ذلك بواسطة fuzzer. يُغلق هذا [#44066](https://github.com/ClickHouse/ClickHouse/issues/44066). [#44067](https://github.com/ClickHouse/ClickHouse/pull/44067) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تمت إضافة check إضافي على كون uncompressed size صفراً إلى `CompressionCodecDelta`. [#43255](https://github.com/ClickHouse/ClickHouse/pull/43255) ([Nikita Taranov](https://github.com/nickitat)).
* تسطيح المصفوفات من Parquet لتجنّب مشكلة تتعلق بعدم اتساق البيانات داخل المصفوفات. ويمكن أن تُنشئ Apache Iceberg هذه الملفات غير الصحيحة. [#43297](https://github.com/ClickHouse/ClickHouse/pull/43297) ([Arthur Passos](https://github.com/arthurpassos)).
* إصلاح cast غير صحيح من column ‏`LowCardinality` عند استخدام تنفيذ الدوال بأسلوب short circuit. [#43311](https://github.com/ClickHouse/ClickHouse/pull/43311) ([Kruglov Pavel](https://github.com/Avogar)).
* تم إصلاح queries التي تستخدم `SAMPLE BY` مع تحسين prewhere على الجداول التي تستخدم engine ‏`Merge`. [#43315](https://github.com/ClickHouse/ClickHouse/pull/43315) ([Antonio Andelic](https://github.com/antonio2368)).
* التحقق من محتوى الملف `format_version` في `MergeTreeData` ومقارنته، بحيث يمكن تحميل الجداول حتى إذا تم تغيير storage policy. [#43328](https://github.com/ClickHouse/ClickHouse/pull/43328) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح الخطأ المنطقي المحتمل (وإن كان غير مرجح جدًا) "لا يوجد عمود للتراجع" أثناء INSERT في جداول `Buffer`. [#43336](https://github.com/ClickHouse/ClickHouse/pull/43336) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خلل كان يسمح للمحلل اللغوي بتحليل عدد غير محدود من الأقواس المستديرة ضمن دالة واحدة إذا كان `allow_function_parameters` مفعّلًا. [#43350](https://github.com/ClickHouse/ClickHouse/pull/43350) ([Nikolay Degterinsky](https://github.com/evillique)).
* يدعم `MaterializeMySQL` (ميزة تجريبية) أوامر DDL التالية: `drop table t1, t2`، وهو متوافق مع معظم أوامر DROP DDL في MySQL. [#43366](https://github.com/ClickHouse/ClickHouse/pull/43366) ([zzsmdfj](https://github.com/zzsmdfj)).
* `session_log` (ميزة تجريبية): تم إصلاح مشكلة تعذر تسجيل الدخول (بسبب الفشل في إنشاء إدخال session\_log) في حالة نادرة جدًا من اضطراب setting profiles. [#42641](https://github.com/ClickHouse/ClickHouse/pull/42641) ([Vasily Nemkov](https://github.com/Enmk)).
* إصلاح احتمال ظهور الخطأ `Cannot create non-empty column with type Nothing` في الدالتين `if`/`multiIf`. يغلق [#43356](https://github.com/ClickHouse/ClickHouse/issues/43356). [#43368](https://github.com/ClickHouse/ClickHouse/pull/43368) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خلل عند استخدام عامل تصفية على مستوى الصف يعتمد على القيمة الافتراضية لعمود. [#43387](https://github.com/ClickHouse/ClickHouse/pull/43387) ([Alexander Gololobov](https://github.com/davenger)).
* قد يُرجع الاستعلام الذي يحتوي على `DISTINCT` + `LIMIT BY` + `LIMIT` عددًا من الصفوف أقل من المتوقع. يصلح [#43377](https://github.com/ClickHouse/ClickHouse/issues/43377). [#43410](https://github.com/ClickHouse/ClickHouse/pull/43410) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح `sumMap` لـ `Nullable(Decimal(...))`. [#43414](https://github.com/ClickHouse/ClickHouse/pull/43414) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح `date_diff` للساعات/الدقائق على MacOS. يغلق [#42742](https://github.com/ClickHouse/ClickHouse/issues/42742). [#43466](https://github.com/ClickHouse/ClickHouse/pull/43466) ([zzsmdfj](https://github.com/zzsmdfj)).
* إصلاح احتساب الذاكرة غير الصحيح بسبب merges/mutations. [#43516](https://github.com/ClickHouse/ClickHouse/pull/43516) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح تحليل primary key مع الشروط التي تتضمن `toString(enum)`. [#43596](https://github.com/ClickHouse/ClickHouse/pull/43596) ([Nikita Taranov](https://github.com/nickitat)). اكتشف @tisonkun هذا الخطأ.
* ضمان الاتساق عند تحديث `clickhouse-copier` لكلٍّ من الحالة و`attach_is_done` في Keeper بعد اكتمال إرفاق partition. [#43602](https://github.com/ClickHouse/ClickHouse/pull/43602) ([lzydmxy](https://github.com/lzydmxy)).
* أثناء استعادة replica مفقودة لقاعدة بيانات `Replicated` (ميزة تجريبية)، قد تنشأ حالة نحتاج فيها إلى swap ذري بين اسمي جدولين (باستخدام EXCHANGE). في السابق، كنا نحاول استخدام استعلامَي RENAME، وكان ذلك يفشل بوضوح، بل ويتسبب أيضًا في فشل عملية استعادة replica قاعدة البيانات بالكامل. [#43628](https://github.com/ClickHouse/ClickHouse/pull/43628) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح الحالة التي تُطلق فيها الدالة `s3Cluster` الخطأ `NOT_FOUND_COLUMN_IN_BLOCK`. يغلق [#43534](https://github.com/ClickHouse/ClickHouse/issues/43534). [#43629](https://github.com/ClickHouse/ClickHouse/pull/43629) ([chen](https://github.com/xiedeyantu)).
* إصلاح خطأ منطقي محتمل `Array sizes mismatched` أثناء تحليل كائن JSON يحتوي على مصفوفات بأسماء مفاتيح متطابقة ولكن بمستويات تداخل مختلفة. يغلق [#43569](https://github.com/ClickHouse/ClickHouse/issues/43569). [#43693](https://github.com/ClickHouse/ClickHouse/pull/43693) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح استثناء محتمل في حالة `GROUP BY` الموزع مع وجود عمود `ALIAS` بين مفاتيح التجميع. [#43709](https://github.com/ClickHouse/ClickHouse/pull/43709) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح خطأ قد يؤدي إلى تلف projections إذا كان zero-copy replication (ميزة تجريبية) مُمكّنًا ويُستخدم. [#43764](https://github.com/ClickHouse/ClickHouse/pull/43764) ([alesapin](https://github.com/alesapin)).
* إصلاح استخدام multipart upload للكائنات الكبيرة جدًا في AWS S3. [#43824](https://github.com/ClickHouse/ClickHouse/pull/43824) ([ianton-ru](https://github.com/ianton-ru)).
* إصلاح `ALTER ... RESET SETTING` مع `ON CLUSTER`. كان من الممكن أن يُطبَّق على replica واحدة فقط. يصلح [#43843](https://github.com/ClickHouse/ClickHouse/issues/43843). [#43848](https://github.com/ClickHouse/ClickHouse/pull/43848) ([Elena Torró](https://github.com/elenatorro)).
* إصلاح خطأ منطقي في JOIN مع محرك الجدول `Join` في الطرف الأيمن، عند استخدام `USING`. [#43963](https://github.com/ClickHouse/ClickHouse/pull/43963) ([Vladimir C](https://github.com/vdimir)). إصلاح خطأ متعلق بالترتيب غير الصحيح للمفاتيح في محرك الجدول `Join`. [#44012](https://github.com/ClickHouse/ClickHouse/pull/44012) ([Vladimir C](https://github.com/vdimir)).
* إصلاح في Keeper: تنفيذ throw إذا كان منفذ الاتصال بين الخوادم الخاص بـ Raft مستخدمًا بالفعل. [#43984](https://github.com/ClickHouse/ClickHouse/pull/43984) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح الوسيطة الموضعية في ORDER BY (مثال: `ORDER BY 1, 2`) في حالة pruning الأعمدة غير اللازمة من subqueries. يغلق [#43964](https://github.com/ClickHouse/ClickHouse/issues/43964). [#43987](https://github.com/ClickHouse/ClickHouse/pull/43987) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح استثناء عند احتواء subquery على HAVING من دون أن تتضمن aggregation فعلية. [#44051](https://github.com/ClickHouse/ClickHouse/pull/44051) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح حالة تسابق في s3 multipart upload. وكان من الممكن أن تتسبب هذه الحالة في ظهور الخطأ `Part number must be an integer between 1 and 10000, inclusive. (S3_ERROR)` أثناء restoring من نسخة احتياطية. [#44065](https://github.com/ClickHouse/ClickHouse/pull/44065) ([Vitaly Baranov](https://github.com/vitlibar)).

### <a id="2211" /> إصدار ClickHouse 22.11، 2022-11-17. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.11/)، [الفيديو](https://www.youtube.com/watch?v=LR-fckOOaFo)

<Frame>
  <iframe src="https://www.youtube.com/embed/LR-fckOOaFo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* ستحاول الآن دوال عائلة `JSONExtract` تحويل القيم قسرًا إلى النوع المطلوب. [#41502](https://github.com/ClickHouse/ClickHouse/pull/41502) ([Márcio Martins](https://github.com/marcioapm)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* يضيف دعمًا لإعادة المحاولة أثناء عمليات `INSERT` إلى `ReplicatedMergeTree` عند فقدان الجلسة مع ClickHouse Keeper. وإلى جانب تحمّل الأعطال، يهدف هذا إلى تحسين تجربة المستخدم وتجنّب إرجاع خطأ إليه أثناء الإدراج إذا أُعيد تشغيل Keeper (على سبيل المثال، بسبب الترقية). [#42607](https://github.com/ClickHouse/ClickHouse/pull/42607) ([Igor Nikonov](https://github.com/devcrafter)).
* يضيف محركَي الجداول `Hudi` و`DeltaLake` بوضع القراءة فقط، وذلك للجداول الموجودة على S3 فقط. [#41054](https://github.com/ClickHouse/ClickHouse/pull/41054) ([Daniil Rubin](https://github.com/rubin-do), [Kseniia Sumarokova](https://github.com/kssenii)).
* يضيف table function `hudi` و`deltaLake`. [#43080](https://github.com/ClickHouse/ClickHouse/pull/43080) ([flynn](https://github.com/ucasfl)).
* دعم للفواصل الزمنية المركّبة. 1. أصبحت عمليات الجمع والطرح والنفي متاحة الآن على Intervals. وفي حال اختلفت أنواع Intervals، فستُحوَّل إلى Tuple من تلك الأنواع. 2. يمكن إضافة tuple of intervals إلى حقل Date/DateTime أو طرحها منه. 3. أُضيف دعم parsing لـ Intervals من أنواع مختلفة، على سبيل المثال: `INTERVAL '1 HOUR 1 MINUTE 1 SECOND'`. [#42195](https://github.com/ClickHouse/ClickHouse/pull/42195) ([Nikolay Degterinsky](https://github.com/evillique)).
* أُضيف دعم glob `**` للاجتياز التكراري لـ directory في filesystem وS3. يحلّ [#36316](https://github.com/ClickHouse/ClickHouse/issues/36316). [#42376](https://github.com/ClickHouse/ClickHouse/pull/42376) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* تقديم disk type `s3_plain` لعمليات الكتابة مرة واحدة والقراءة مرات عديدة. وتنفيذ `ATTACH` لجدول `MergeTree` على قرص `s3_plain`. [#42628](https://github.com/ClickHouse/ClickHouse/pull/42628) ([Azat Khuzhin](https://github.com/azat)).
* أُضيفت سياسات row-level المطبَّقة إلى `system.query_log`. [#39819](https://github.com/ClickHouse/ClickHouse/pull/39819) ([Vladimir Chebotaryov](https://github.com/quickhouse)).
* إضافة الأمر ذي الأحرف الأربعة `csnp` لإنشاء snapshots يدويًا في ClickHouse Keeper. بالإضافة إلى ذلك، أُضيف `lgif` للحصول على معلومات Raft لعقدة محددة (مثلًا، فهرس آخر snapshot تم إنشاؤها، وفهرس آخر سجل committed). [#41766](https://github.com/ClickHouse/ClickHouse/pull/41766) ([JackyWoo](https://github.com/JackyWoo)).
* إضافة الدالة `ascii` كما في Apache Spark: [https://spark.apache.org/docs/latest/api/sql/#ascii](https://spark.apache.org/docs/latest/api/sql/#ascii). [#42670](https://github.com/ClickHouse/ClickHouse/pull/42670) ([李扬](https://github.com/taiyang-li)).
* إضافة الدالة `pmod` التي تُرجع نتيجة غير سالبة استنادًا إلى modulo. [#42755](https://github.com/ClickHouse/ClickHouse/pull/42755) ([李扬](https://github.com/taiyang-li)).
* إضافة الدالة `formatReadableDecimalSize`. [#42774](https://github.com/ClickHouse/ClickHouse/pull/42774) ([Alejandro](https://github.com/alexon1234)).
* إضافة الدالة `randCanonical`، وهي مشابهة للدالة `rand` في Apache Spark أو Impala. تُولّد الدالة نتائج عشوائية زائفة بقيم موزعة توزيعًا منتظمًا، ومستقلة ومتماثلة التوزيع، ضمن \[0, 1). [#43124](https://github.com/ClickHouse/ClickHouse/pull/43124) ([李扬](https://github.com/taiyang-li)).
* إضافة الدالة `displayName`، مع إغلاق [#36770](https://github.com/ClickHouse/ClickHouse/issues/36770). [#37681](https://github.com/ClickHouse/ClickHouse/pull/37681) ([hongbin](https://github.com/xlwh)).
* إضافة الإعداد `min_age_to_force_merge_on_partition_only` لتحسين الأجزاء القديمة على مستوى partition بالكامل فقط. [#42659](https://github.com/ClickHouse/ClickHouse/pull/42659) ([Antonio Andelic](https://github.com/antonio2368)).
* إضافة تنفيذ عام للمجموعات المسماة ذات البنية الاعتباطية، ولنمط الوصول و`system.named_collections`. [#43147](https://github.com/ClickHouse/ClickHouse/pull/43147) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* يمكن للدالة `match` استخدام الفهرس إذا كان الشرط متعلقًا ببادئة سلسلة نصية. هذا يُغلق [#37333](https://github.com/ClickHouse/ClickHouse/issues/37333). [#42458](https://github.com/ClickHouse/ClickHouse/pull/42458) ([clarkcaoliu](https://github.com/Clark0)).
* تسريع معاملي AND وOR عند استخدامهما بشكل متسلسل. [#42214](https://github.com/ClickHouse/ClickHouse/pull/42214) ([Zhiguo Zhou](https://github.com/ZhiguoZh)).
* دعم parsing المتوازي لـ input format ‏`LineAsString`. يحسّن هذا الأداء بدرجة طفيفة فقط. هذا يُغلق [#42502](https://github.com/ClickHouse/ClickHouse/issues/42502). [#42780](https://github.com/ClickHouse/ClickHouse/pull/42780) ([Kruglov Pavel](https://github.com/Avogar)).
* تحسين أداء ClickHouse Keeper: تحسين أداء commit في الحالات التي تكون فيها لدى العديد من العقد المختلفة حالات غير committed. من المفترض أن يساعد هذا في الحالات التي يتعذر فيها على عقدة follower المزامنة بالسرعة الكافية. [#42926](https://github.com/ClickHouse/ClickHouse/pull/42926) ([Antonio Andelic](https://github.com/antonio2368)).
* يمكن لشرط مثل `NOT LIKE 'prefix%'` استخدام primary index. [#42209](https://github.com/ClickHouse/ClickHouse/pull/42209) ([Duc Canh Le](https://github.com/canhld94)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* دعم النوع `Object` داخل أنواع أخرى، مثل `Array(JSON)`. [#36969](https://github.com/ClickHouse/ClickHouse/pull/36969) ([Anton Popov](https://github.com/CurtizJ)).
* تجاهل حدث SAVEPOINT في سجل binlog الخاص بـ MySQL ضمن MaterializedMySQL. [#42931](https://github.com/ClickHouse/ClickHouse/pull/42931) ([zzsmdfj](https://github.com/zzsmdfj)). معالجة استعلامات SAVEPOINT في MaterializedMySQL (بتجاهلها). [#43086](https://github.com/ClickHouse/ClickHouse/pull/43086) ([Stig Bakken](https://github.com/stigsb)).

<div id="improvement">
  #### تحسينات
</div>

* ستحدّد الاستعلامات البسيطة ذات `LIMIT` الصغير عدد الصفوف التقديري المطلوب قراءتها على نحو صحيح، بحيث يُفحَص الحدّ الفاصل بشكل صحيح. يُغلق [#7071](https://github.com/ClickHouse/ClickHouse/issues/7071). [#42580](https://github.com/ClickHouse/ClickHouse/pull/42580) ([Han Fei](https://github.com/hanfei1991)).
* إضافة دعم للمعلمات التفاعلية في استعلامات `INSERT VALUES`. [#43077](https://github.com/ClickHouse/ClickHouse/pull/43077) ([Nikolay Degterinsky](https://github.com/evillique)).
* أُضيف الحقل الجديد `allow_readonly` في `system.table_functions` للسماح باستخدام وظائف الجداول في وضع القراءة فقط. يحلّ [#42414](https://github.com/ClickHouse/ClickHouse/issues/42414) التنفيذ: \* أُضيف حقل جديد allow\_readonly إلى الجدول system.table\_functions. \* تم التحديث لاستخدام الحقل الجديد allow\_readonly للسماح باستخدام وظائف الجداول في وضع القراءة فقط. الاختبار: \* أُضيف اختبار لـ filesystem tests/queries/0\_stateless/02473\_functions\_in\_readonly\_mode.sh التوثيق: \* تم تحديث التوثيق الإنجليزي لـ Table Functions. [#42708](https://github.com/ClickHouse/ClickHouse/pull/42708) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* أصبح `system.asynchronous_metrics` يتضمن توثيقًا مضمّنًا. ويُصدَّر هذا التوثيق أيضًا إلى Prometheus. كما أُصلح خطأ في المقاييس الخاصة بأقراص `cache`، إذ كانت تُحتسب لقرص cache عشوائي واحد فقط بدلًا من جميعها. يُغلق هذا [#7644](https://github.com/ClickHouse/ClickHouse/issues/7644). [#43194](https://github.com/ClickHouse/ClickHouse/pull/43194) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تم تغيير خوارزمية throttling إلى token bucket. [#42665](https://github.com/ClickHouse/ClickHouse/pull/42665) ([Sergei Trifonov](https://github.com/serxa)).
* إخفاء كلمات المرور والمفاتيح السرية في كلٍّ من `system.query_log` و `/var/log/clickhouse-server/*.log`، وكذلك في رسائل الخطأ. [#42484](https://github.com/ClickHouse/ClickHouse/pull/42484) ([Vitaly Baranov](https://github.com/vitlibar)).
* إزالة الأجزاء المغطاة للجزء الذي تم جلبه (لتجنّب الزيادات المحتملة في تأخر النسخ المتماثل). [#39737](https://github.com/ClickHouse/ClickHouse/pull/39737) ([Azat Khuzhin](https://github.com/azat)).
* إذا كان `/dev/tty` متاحًا، فسيُعرَض التقدّم في clickhouse-client و clickhouse-local مباشرةً على الطرفية، من دون الكتابة إلى STDERR. يتيح ذلك عرض التقدّم حتى إذا أُعيد توجيه STDERR إلى ملف، كما لن يتلوّث الملف بتسلسلات الهروب الخاصة بالطرفية. يمكن تعطيل التقدّم عبر `--progress false`. يُغلق هذا [#32238](https://github.com/ClickHouse/ClickHouse/issues/32238). [#42003](https://github.com/ClickHouse/ClickHouse/pull/42003) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة دعم لإدخال `FixedString` إلى دوال ترميز base64. [#42285](https://github.com/ClickHouse/ClickHouse/pull/42285) ([ltrk2](https://github.com/ltrk2)).
* إضافة العمودين `bytes_on_disk` و `path` إلى `system.detached_parts`. يُغلق [#42264](https://github.com/ClickHouse/ClickHouse/issues/42264). [#42303](https://github.com/ClickHouse/ClickHouse/pull/42303) ([chen](https://github.com/xiedeyantu)).
* تحسين استخدام البنية من جدول الإدراج في وظائف الجداول، إذ أصبحت هناك قيمة جديدة ممكنة للإعداد `use_structure_from_insertion_table_in_table_functions` هي `2`، وتعني أن ClickHouse سيحاول تلقائيًا تحديد ما إذا كان يمكن استخدام البنية من جدول الإدراج أم لا. يُغلق [#40028](https://github.com/ClickHouse/ClickHouse/issues/40028). [#42320](https://github.com/ClickHouse/ClickHouse/pull/42320) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح غياب مؤشر التقدّم في `INSERT FROM INFILE`. يُغلق [#42548](https://github.com/ClickHouse/ClickHouse/issues/42548). [#42634](https://github.com/ClickHouse/ClickHouse/pull/42634) ([chen](https://github.com/xiedeyantu)).
* إعادة هيكلة الدالة `tokens` لتمكين تحديد الحد الأقصى لعدد الـ tokens المُعادة في الدوال ذات الصلة (وهو معطّل افتراضيًا). [#42673](https://github.com/ClickHouse/ClickHouse/pull/42673) ([李扬](https://github.com/taiyang-li)).
* السماح باستخدام الوسيطات `Date32` في الدالتين `formatDateTime` و `FROM_UNIXTIME`. [#42737](https://github.com/ClickHouse/ClickHouse/pull/42737) ([Roman Vasin](https://github.com/rvasin)).
* تحديث tzdata إلى 2022f. لن تعود المكسيك تعتمد التوقيت الصيفي إلا بالقرب من الحدود الأمريكية: [https://www.timeanddate.com/news/time/mexico-abolishes-dst-2022.html](https://www.timeanddate.com/news/time/mexico-abolishes-dst-2022.html). وستنتقل Chihuahua إلى UTC-6 على مدار العام اعتبارًا من 2022-10-30. كما أن Fiji لم تعد تعتمد التوقيت الصيفي. راجع [https://github.com/google/cctz/pull/235](https://github.com/google/cctz/pull/235) و [https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1995209](https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1995209). [#42796](https://github.com/ClickHouse/ClickHouse/pull/42796) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة مقياس الحدث `FailedAsyncInsertQuery` لعمليات الإدراج غير المتزامنة. [#42814](https://github.com/ClickHouse/ClickHouse/pull/42814) ([Krzysztof Góralski](https://github.com/kgoralski)).
* تنفيذ تحسين `read-in-order` بالاعتماد على query plan. وهو مفعّل افتراضيًا. اضبط `query_plan_read_in_order = 0` لاستخدام الإصدار السابق المستند إلى AST. [#42829](https://github.com/ClickHouse/ClickHouse/pull/42829) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* زيادة حجم جزء الرفع بشكل أُسّي عند النسخ الاحتياطي إلى S3 لتجنّب الأخطاء المرتبطة بالحد الأقصى البالغ 10 000 جزء في multipart upload إلى S3. [#42833](https://github.com/ClickHouse/ClickHouse/pull/42833) ([Vitaly Baranov](https://github.com/vitlibar)).
* عندما تكون مهمة الدمج مشغولة باستمرار وتكون مساحة القرص غير كافية، يتعذر تحديد الأجزاء المنتهية الصلاحية بالكامل وإزالتها، مما يؤدي إلى نقص في مساحة القرص. والفكرة هنا هي أنه عندما تنتهي صلاحية الـ Part بالكامل، فلا حاجة إلى حجز مساحة إضافية على القرص، بما يضمن التنفيذ الطبيعي لـ TTL. [#42869](https://github.com/ClickHouse/ClickHouse/pull/42869) ([zhongyuankai](https://github.com/zhongyuankai)).
* إضافة الدالة `oss` وtable engine ‏`OSS` (وهذا أكثر ملاءمة للمستخدمين). ‏oss متوافق بالكامل مع S3. [#43155](https://github.com/ClickHouse/ClickHouse/pull/43155) ([zzsmdfj](https://github.com/zzsmdfj)).
* تحسين الإبلاغ عن الأخطاء عند جمع المعلومات المتعلقة بنظام التشغيل لجدول `system.asynchronous_metrics`. [#43192](https://github.com/ClickHouse/ClickHouse/pull/43192) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تعديل جداول `INFORMATION_SCHEMA` بحيث يتمكن ClickHouse من الاتصال بنفسه باستخدام compatibility protocol الخاصة بـ MySQL. وإضافة columns بدلًا من aliases (على صلة بـ [#9769](https://github.com/ClickHouse/ClickHouse/issues/9769)). سيؤدي ذلك إلى تحسين التوافق مع مختلف عملاء MySQL. [#43198](https://github.com/ClickHouse/ClickHouse/pull/43198) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* إضافة بعض الدوال لتحسين التوافق مع PowerBI عند اتصاله باستخدام بروتوكول MySQL [#42612](https://github.com/ClickHouse/ClickHouse/pull/42612) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* تحسين سهولة استخدام لوحة المعلومات عند إجراء التغييرات [#42872](https://github.com/ClickHouse/ClickHouse/pull/42872) ([Vladimir C](https://github.com/vdimir)).

<div id="buildtestingpackaging-improvement-1">
  #### تحسينات البناء/الاختبار/التحزيم
</div>

* شغّل SQLancer لكل طلب سحب ولكل commit على master. ‏[SQLancer](https://github.com/sqlancer/sqlancer) هو fuzzer مفتوح المصدر يركّز على الاكتشاف التلقائي للأخطاء المنطقية. [#42397](https://github.com/ClickHouse/ClickHouse/pull/42397) ([Ilya Yatsishin](https://github.com/qoega)).
* حدِّث إلى أحدث إصدار من zlib-ng. [#42463](https://github.com/ClickHouse/ClickHouse/pull/42463) ([Boris Kuschel](https://github.com/bkuschel)).
* أضِف دعمًا لاختبار ClickHouse server باستخدام Jepsen. وبالمناسبة، لدينا بالفعل دعم لاختبار ClickHouse Keeper باستخدام Jepsen. يوسّع طلب السحب هذا هذا الدعم ليشمل الجداول Replicated. [#42619](https://github.com/ClickHouse/ClickHouse/pull/42619) ([Antonio Andelic](https://github.com/antonio2368)).
* استخدم [https://github.com/matus-chochlik/ctcache](https://github.com/matus-chochlik/ctcache) للتخزين المؤقت لنتائج clang-tidy. [#42913](https://github.com/ClickHouse/ClickHouse/pull/42913) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* قبل هذا الإصلاح، كان RPM يحتفظ بملف config الذي يحدده المستخدم في `$file.rpmsave`. يُصلح طلب السحب هذا المشكلة، ولن يستبدل ملفات المستخدم القادمة من الحزم. [#42936](https://github.com/ClickHouse/ClickHouse/pull/42936) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* أزِل بعض المكتبات من Docker image الخاصة بـ Ubuntu. [#42622](https://github.com/ClickHouse/ClickHouse/pull/42622) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release-1">
  #### إصلاح خلل (سلوك غير صحيح ظاهر للمستخدم في إصدار مستقر أو ما قبل الاستقرار رسمي)
</div>

* تم تحديث المُطبِّع لاستنساخ alias ast. يحلّ هذا [#42452](https://github.com/ClickHouse/ClickHouse/issues/42452) التنفيذ: \* تم تحديث QueryNormalizer لاستنساخ alias ast عند استبداله. في السابق، كان مجرد إسناد الكائن نفسه يؤدي إلى ظهور استثناء في LogicalExpressinsOptimizer، لأن الأصل نفسه كان يُدرَج مرة أخرى. \* لا تظهر هذه المشكلة مع analyzer الجديد (allow\_experimental\_analyzer)، لذلك لم تُجرَ أي تغييرات عليه. كما أُضيف اختبار للحالة نفسها. [#42827](https://github.com/ClickHouse/ClickHouse/pull/42827) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* إصلاح حالة تسابق في النسخ الاحتياطي للجداول في قواعد البيانات `Lazy`. [#43104](https://github.com/ClickHouse/ClickHouse/pull/43104) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح لـ `skip_unavailable_shards`: لم يكن يعمل مع دالة الجدول `s3Cluster`. [#43131](https://github.com/ClickHouse/ClickHouse/pull/43131) ([chen](https://github.com/xiedeyantu)).
* إصلاح schema inference في `s3Cluster` وتحسين في `hdfsCluster`. [#41979](https://github.com/ClickHouse/ClickHouse/pull/41979) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح إعادة المحاولات أثناء القراءة من محركات الجداول URL / دالة الجدول. (كان يمكن إعادة محاولة الأخطاء القابلة لإعادة المحاولة مرات أكثر من اللازم، بينما كانت الأخطاء غير القابلة لإعادة المحاولة تؤدي إلى فشل assertion في الشيفرة). [#42224](https://github.com/ClickHouse/ClickHouse/pull/42224) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تم الإبلاغ عن fault تجزئة متعلق بـ DNS و c-ares وتم إصلاحه. [#42234](https://github.com/ClickHouse/ClickHouse/pull/42234) ([Arthur Passos](https://github.com/arthurpassos)).
* إصلاح `LOGICAL_ERROR` `Arguments of 'plus' have incorrect data types` الذي قد يحدث أثناء تحليل PK (فحص الرتابة). كما أُصلح تحليل PK غير الصحيح للدوال الثنائية الرتيبة ذات الوسيط الثابت الأول. [#42410](https://github.com/ClickHouse/ClickHouse/pull/42410) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح تحليل المفتاح غير الصحيح عندما لا يمكن أن تكون أنواع المفاتيح ضمن Nullable. يحلّ هذا [#42456](https://github.com/ClickHouse/ClickHouse/issues/42456). [#42469](https://github.com/ClickHouse/ClickHouse/pull/42469) ([Amos Bird](https://github.com/amosbird)).
* إصلاح خطأ مطبعي في اسم أحد الإعدادات أدى إلى استخدام غير صحيح لذاكرة التخزين المؤقت الخاصة بـ schema inference عند استخدام الإعداد `input_format_csv_use_best_effort_in_schema_inference`. يغلق هذا [#41735](https://github.com/ClickHouse/ClickHouse/issues/41735). [#42536](https://github.com/ClickHouse/ClickHouse/pull/42536) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح إنشاء Set بترويسة غير صحيحة عندما يكون نوع البيانات LowCardinality. يغلق هذا [#42460](https://github.com/ClickHouse/ClickHouse/issues/42460). [#42579](https://github.com/ClickHouse/ClickHouse/pull/42579) ([flynn](https://github.com/ucasfl)).
* بات التحقق من قيم `(U)Int128` و `(U)Int256` يتم بشكل صحيح في `PREWHERE`. [#42605](https://github.com/ClickHouse/ClickHouse/pull/42605) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح خطأ في parser الدوال كان يمكن أن يؤدي إلى fault تجزئة. [#42724](https://github.com/ClickHouse/ClickHouse/pull/42724) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح آلية القفل في `truncate table`. [#42728](https://github.com/ClickHouse/ClickHouse/pull/42728) ([flynn](https://github.com/ucasfl)).
* إصلاح احتمال حدوث crash في أقراص `web` عندما لا يكون الملف موجودًا (أو في `OPTIMIZE TABLE FINAL`، إذ قد ينتهي الأمر به أيضًا إلى الخطأ نفسه). [#42767](https://github.com/ClickHouse/ClickHouse/pull/42767) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تعيين `auth_type` في `system.session_log` عبر تضمين `SSL_CERTIFICATE` ضمن قيم enum. [#42782](https://github.com/ClickHouse/ClickHouse/pull/42782) ([Miel Donkers](https://github.com/mdonkers)).
* إصلاح مشكلة `stack-use-after-return` في نسخة ASAN ضمن محلل استعلام Create User. [#42804](https://github.com/ClickHouse/ClickHouse/pull/42804) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح `lowerUTF8`/`upperUTF8` عندما يقع الرمز بين حدَّي 16 بايت (وهي حالة شائعة جدًا إذا كانت السلاسل النصية أطول من 16 بايت). [#42812](https://github.com/ClickHouse/ClickHouse/pull/42812) ([Azat Khuzhin](https://github.com/azat)).
* أُضيف فحص إضافي للحدود إلى إجراء فك ضغط LZ4 لإصلاح السلوك غير الصحيح عند وجود إدخال غير صالح. [#42868](https://github.com/ClickHouse/ClickHouse/pull/42868) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح احتمال نادر لحدوث تعليق عند إلغاء الاستعلام. [#42874](https://github.com/ClickHouse/ClickHouse/pull/42874) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح سلوك غير صحيح عند وجود عدة شروط منفصلة في hash join، يغلق [#42832](https://github.com/ClickHouse/ClickHouse/issues/42832). [#42876](https://github.com/ClickHouse/ClickHouse/pull/42876) ([Vladimir C](https://github.com/vdimir)).
* قد يتولّد مؤشّر NULL عند استخدام select if as from في 'three table join'، على سبيل المثال، في استعلام SQL التالي: [#42883](https://github.com/ClickHouse/ClickHouse/pull/42883) ([zzsmdfj](https://github.com/zzsmdfj)).
* إصلاح تقرير memory sanitizer في Cluster Discovery، يغلق [#42763](https://github.com/ClickHouse/ClickHouse/issues/42763). [#42905](https://github.com/ClickHouse/ClickHouse/pull/42905) ([Vladimir C](https://github.com/vdimir)).
* تحسين استنباط مخطط DateTime في حالة السلسلة النصية الفارغة. [#42911](https://github.com/ClickHouse/ClickHouse/pull/42911) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خطأ NOT\_FOUND\_COLUMN\_IN\_BLOCK نادر عند إمكان استخدام projection مع عدم توفّر أي projection فعليًا. يُصلح هذا [#42771](https://github.com/ClickHouse/ClickHouse/issues/42771). أُدخل هذا الخلل في [https://github.com/ClickHouse/ClickHouse/pull/25563](https://github.com/ClickHouse/ClickHouse/pull/25563). [#42938](https://github.com/ClickHouse/ClickHouse/pull/42938) ([Amos Bird](https://github.com/amosbird)).
* إصلاح ATTACH TABLE في engine قاعدة البيانات `PostgreSQL` إذا كان الجدول يحتوي على نوع البيانات DATETIME. يغلق [#42817](https://github.com/ClickHouse/ClickHouse/issues/42817). [#42960](https://github.com/ClickHouse/ClickHouse/pull/42960) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح parsing لتعبيرات lambda. يغلق [#41848](https://github.com/ClickHouse/ClickHouse/issues/41848). [#42979](https://github.com/ClickHouse/ClickHouse/pull/42979) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح التحليل غير الصحيح للمفاتيح عند ظهور مفاتيح Nullable في وسط مستطيل فائق. يُصلح هذا [#43111](https://github.com/ClickHouse/ClickHouse/issues/43111). [#43133](https://github.com/ClickHouse/ClickHouse/pull/43133) ([Amos Bird](https://github.com/amosbird)).
* إصلاح عدة قراءات زائدة من المخزن المؤقت أثناء deserialization لحالات aggregate function states المُعدّة بعناية. [#43159](https://github.com/ClickHouse/ClickHouse/pull/43159) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح الدالة `if` في حالة NULL ووسائط Nullable الثابتة. يغلق [#43069](https://github.com/ClickHouse/ClickHouse/issues/43069). [#43178](https://github.com/ClickHouse/ClickHouse/pull/43178) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تجاوز السعة في حسابات Decimal عند تحليل DateTime باستخدام خوارزمية 'best effort'. يُغلق [#43061](https://github.com/ClickHouse/ClickHouse/issues/43061). [#43180](https://github.com/ClickHouse/ClickHouse/pull/43180) ([Kruglov Pavel](https://github.com/Avogar)).
* كان حساب الحقل `indent` الذي تُنتجه أداة `git-import` غير صحيح. راجع [https://clickhouse.com/docs/getting-started/example-datasets/github/](https://clickhouse.com/docs/getting-started/example-datasets/github/). [#43191](https://github.com/ClickHouse/ClickHouse/pull/43191) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح سلوك غير متوقع لأنواع `Interval` مع الاستعلامات الفرعية والتحويل بين الأنواع. [#43193](https://github.com/ClickHouse/ClickHouse/pull/43193) ([jh0x](https://github.com/jh0x)).

### <a id="2210" /> إصدار ClickHouse 22.10، 2022-10-25. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.10/)، [الفيديو](https://www.youtube.com/watch?v=sz9SES5-mdc)

<Frame>
  <iframe src="https://www.youtube.com/embed/sz9SES5-mdc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* إعادة تسمية أوامر ذاكرة التخزين المؤقت: `show caches` -> `show filesystem caches`، و`describe cache` -> `describe filesystem cache`. [#41508](https://github.com/ClickHouse/ClickHouse/pull/41508) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إزالة دعم القسم `WITH TIMEOUT` في `LIVE VIEW`. وبذلك يُغلَق [#40557](https://github.com/ClickHouse/ClickHouse/issues/40557). [#42173](https://github.com/ClickHouse/ClickHouse/pull/42173) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إزالة دعم الماكرو `{database}` من موجّه client. كان يُعرَض بشكل غير صحيح إذا لم تكن قاعدة البيانات محددة، كما أنه لم يكن يُحدَّث عند تنفيذ عبارات `USE`. وبذلك يُغلَق [#25891](https://github.com/ClickHouse/ClickHouse/issues/25891). [#42508](https://github.com/ClickHouse/ClickHouse/pull/42508) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* تمت إضافة إعدادات بروتوكولات قابلة للتركيب. ويمكن الآن إعداد بروتوكولات مختلفة مع مضيفات استماع مختلفة. كما يمكن إعداد أغلفة البروتوكول مثل PROXYv1 فوق أي بروتوكولات أخرى (TCP، وTCP secure، وMySQL، وPostgres). [#41198](https://github.com/ClickHouse/ClickHouse/pull/41198) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* تمت إضافة `S3` كنوع جديد من وجهات النسخ الاحتياطية. كما أصبح BACKUP إلى S3 مدعومًا مع الحفاظ على بنية path/data كما هي. [#42333](https://github.com/ClickHouse/ClickHouse/pull/42333) ([Vitaly Baranov](https://github.com/vitlibar)), [#42232](https://github.com/ClickHouse/ClickHouse/pull/42232) ([Azat Khuzhin](https://github.com/azat)).
* أضيفت دوال (`randUniform`, `randNormal`, `randLogNormal`, `randExponential`, `randChiSquared`, `randStudentT`, `randFisherF`, `randBernoulli`, `randBinomial`, `randNegativeBinomial`, `randPoisson`) لتوليد قيم عشوائية وفقًا للتوزيعات المحددة. وبذلك يُغلَق [#21834](https://github.com/ClickHouse/ClickHouse/issues/21834). [#42411](https://github.com/ClickHouse/ClickHouse/pull/42411) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تحسين في ClickHouse Keeper: إضافة دعم لرفع snapshots إلى S3. ويمكن تعريف معلومات S3 داخل `keeper_server.s3_snapshot`. [#41342](https://github.com/ClickHouse/ClickHouse/pull/41342) ([Antonio Andelic](https://github.com/antonio2368)).
* تمت إضافة دالة تجميعية `analysisOfVariance` (`anova`) لإجراء اختبار إحصائي على عدة مجموعات من المشاهدات ذات التوزيع الطبيعي لمعرفة ما إذا كان متوسط جميع المجموعات متساويًا أم لا. Original PR [#37872](https://github.com/ClickHouse/ClickHouse/issues/37872). [#42131](https://github.com/ClickHouse/ClickHouse/pull/42131) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* دعم تقييد حجم البيانات المؤقتة المخزنة على disk باستخدام settings ‏`max_temporary_data_on_disk_size_for_user`/`max_temporary_data_on_disk_size_for_query`. [#40893](https://github.com/ClickHouse/ClickHouse/pull/40893) ([Vladimir C](https://github.com/vdimir)).
* إضافة setting ‏`format_json_object_each_row_column_for_object_name` لكتابة/تحليل اسم object كقيمة column في format ‏JSONObjectEachRow. [#41703](https://github.com/ClickHouse/ClickHouse/pull/41703) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة دالة hash ‏BLAKE3 إلى SQL. [#33435](https://github.com/ClickHouse/ClickHouse/pull/33435) ([BoloniniD](https://github.com/BoloniniD)).
* تم توسيع الدالة `javaHash` لتشمل الأعداد الصحيحة. [#41131](https://github.com/ClickHouse/ClickHouse/pull/41131) ([JackyWoo](https://github.com/JackyWoo)).
* إضافة دعم OpenTelemetry إلى ON CLUSTER DDL (يتطلب ضبط `distributed_ddl_entry_format_version` على 4). [#41484](https://github.com/ClickHouse/ClickHouse/pull/41484) ([Frank Chen](https://github.com/FrankChen021)).
* تمت إضافة جدول النظام ‏`asynchronous_insert_log`. ويحتوي على معلومات حول asynchronous inserts (بما في ذلك نتائج الاستعلامات في وضع fire-and-forget (مع `wait_for_async_insert=0`)) لتحسين إمكانية الفحص الداخلي. [#42040](https://github.com/ClickHouse/ClickHouse/pull/42040) ([Anton Popov](https://github.com/CurtizJ)).
* إضافة دعم للطرق `lz4`, `bz2`, `snappy` في `Accept-Encoding` الخاص بـ HTTP، وهو امتداد غير قياسي لـ HTTP protocol. [#42071](https://github.com/ClickHouse/ClickHouse/pull/42071) ([Nikolay Degterinsky](https://github.com/evillique)).
* تمت إضافة دوال ترميز/فك ترميز Morton Coding (ZCurve). [#41753](https://github.com/ClickHouse/ClickHouse/pull/41753) ([Constantine Peresypkin](https://github.com/pkit)).
* إضافة دعم لعبارة `SET setting_name = DEFAULT`. [#42187](https://github.com/ClickHouse/ClickHouse/pull/42187) ([Filatenkov Artur](https://github.com/FArthur-cmd)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* تمت إضافة بنية تحتية جديدة لتحليل الاستعلام وتخطيطه ضمن الإعداد `allow_experimental_analyzer`. [#31796](https://github.com/ClickHouse/ClickHouse/pull/31796) ([Maksim Kita](https://github.com/kitaisreal)).
* التنفيذ الأولي للغة Kusto Query Language. يُرجى عدم استخدامها. [#37961](https://github.com/ClickHouse/ClickHouse/pull/37961) ([Yong Wang](https://github.com/kashwy)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تخفيف حدّ "Too many parts". يُغلق هذا [#6551](https://github.com/ClickHouse/ClickHouse/issues/6551). يتيح ClickHouse الآن عددًا أكبر من الأجزاء في partition إذا كان متوسط part size كبيرًا بما يكفي (10 GiB على الأقل). ويجعل ذلك من الممكن الوصول إلى ما يصل إلى petabytes من البيانات ضمن partition واحد في table واحدة على server واحد، وهو ما يمكن تحقيقه باستخدام رفوف الأقراص أو object storage. [#42002](https://github.com/ClickHouse/ClickHouse/pull/42002) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تنفيذ parser لعناصر أسبقية operator لتقليل حجم stack المطلوب. [#34892](https://github.com/ClickHouse/ClickHouse/pull/34892) ([Nikolay Degterinsky](https://github.com/evillique)).
* يستفيد تحسين DISTINCT in order من خصائص فرز streams البيانات. يتيح هذا التحسين القراءة بالترتيب لـ DISTINCT عند انطباق ذلك (إذ كان من الضروري سابقًا توفير ORDER BY للأعمدة الموجودة في DISTINCT). [#41014](https://github.com/ClickHouse/ClickHouse/pull/41014) ([Igor Nikonov](https://github.com/devcrafter)).
* ColumnVector: تحسين فهرس UInt8 باستخدام AVX512VBMI. [#41247](https://github.com/ClickHouse/ClickHouse/pull/41247) ([Guo Wangyang](https://github.com/guowangy)).
* تحسين التنافس على الأقفال الخاصة بـ `ThreadGroupStatus::mutex`. تُظهر تجارب الأداء الخاصة بـ **SSB** (Star Schema Benchmark) على جهاز ICX ‏(Intel Xeon Platinum 8380 CPU، ‏80 نواة، ‏160 thread) أن هذا التغيير يمكن أن يحقق تحسنًا بمقدار **2.95x** في المتوسط الهندسي لـ QPS عبر جميع الحالات الفرعية. [#41675](https://github.com/ClickHouse/ClickHouse/pull/41675) ([Zhiguo Zhou](https://github.com/ZhiguoZh)).
* إضافة capabilities ‏`ldapr` إلى builds الخاصة بـ AArch64. هذا مدعوم على Graviton 2+، وفي instances ‏Azure وGCP. ولم يظهر ذلك إلا في clang-15 [منذ وقت ليس ببعيد](https://github.com/llvm/llvm-project/commit/9609b5daffe9fd28d83d83da895abc5113f76c24). [#41778](https://github.com/ClickHouse/ClickHouse/pull/41778) ([Daniel Kutenin](https://github.com/danlark1)).
* تحسين الأداء عند مقارنة strings عندما يكون أحد argument عبارة عن string constant فارغ. [#41870](https://github.com/ClickHouse/ClickHouse/pull/41870) ([Jiebin Sun](https://github.com/jiebinn)).
* تحسين `insertFrom` في ColumnAggregateFunction لمشاركة aggregate state في بعض الحالات. [#41960](https://github.com/ClickHouse/ClickHouse/pull/41960) ([flynn](https://github.com/ucasfl)).
* جعل الكتابة إلى disks ‏`azure_blob_storage` أسرع (مع مراعاة `max_single_part_upload_size` بدلًا من كتابة block لكل حجم buffer). ذُكر هذا القصور في [#41754](https://github.com/ClickHouse/ClickHouse/issues/41754). [#42041](https://github.com/ClickHouse/ClickHouse/pull/42041) ([Kseniia Sumarokova](https://github.com/kssenii)).
* جعل معرّفات thread في قائمة العمليات و`query_log` فريدة لتجنّب الهدر. [#42180](https://github.com/ClickHouse/ClickHouse/pull/42180) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم تجاوز cache بالكامل (سواء التنزيل إلى cache أو قراءة البيانات المخزنة مؤقتًا) إذا تجاوز نطاق القراءة المطلوب threshold المحددة في إعداد cache ‏`bypass_cache_threashold`، ويتطلب ذلك تفعيله عبر `enable_bypass_cache_with_threshold`. [#42418](https://github.com/ClickHouse/ClickHouse/pull/42418) ([Han Shukai](https://github.com/KinderRiven)). يساعد هذا مع الأقراص المحلية البطيئة.

<div id="improvement">
  #### تحسينات
</div>

* إضافة الإعداد `allow_implicit_no_password`: بالاقتران مع `allow_no_password`، يمنع إنشاء مستخدم من دون كلمة مرور ما لم يُحدَّد `IDENTIFIED WITH no_password` صراحةً. [#41341](https://github.com/ClickHouse/ClickHouse/pull/41341) ([Nikolay Degterinsky](https://github.com/evillique)).
* سيبدأ Embedded Keeper دائمًا في الخلفية، مما يتيح لـ ClickHouse البدء من دون تحقيق quorum. [#40991](https://github.com/ClickHouse/ClickHouse/pull/40991) ([Antonio Andelic](https://github.com/antonio2368)).
* جُعلت إعادة إنشاء connection جديدة إلى ZooKeeper أكثر سرعة في الاستجابة عند انتهاء صلاحية الاتصال السابق. في السابق، كانت هناك مهمة تُشغَّل افتراضيًا كل دقيقة، ولذلك كان يمكن أن يبقى table في حالة readonly لهذه المدة تقريبًا. [#41092](https://github.com/ClickHouse/ClickHouse/pull/41092) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* يمكن الآن استخدام projections مع zero copy replication (تُعد zero-copy replication ميزة غير مخصصة لبيئات production). [#41147](https://github.com/ClickHouse/ClickHouse/pull/41147) ([alesapin](https://github.com/alesapin)).
* دعم expression ‏`(EXPLAIN SELECT ...)` داخل subquery. وأصبحت queries مثل `SELECT * FROM (EXPLAIN PIPELINE SELECT col FROM TABLE ORDER BY col)` صالحة الآن. [#40630](https://github.com/ClickHouse/ClickHouse/pull/40630) ([Vladimir C](https://github.com/vdimir)).
* السماح بتغيير `async_insert_max_data_size` أو `async_insert_busy_timeout_ms` ضمن نطاق query. على سبيل المثال، قد ترغب مستخدمة في insert data على فترات متباعدة، لكنها لا تملك صلاحية الوصول إلى config الخاص بـ server لضبط الإعدادات الافتراضية. [#40668](https://github.com/ClickHouse/ClickHouse/pull/40668) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تحسينات على القراءة من remote filesystems، مع إتاحة تهيئة حجم threadpool لعمليات reads/writes. يُغلق [#41070](https://github.com/ClickHouse/ClickHouse/issues/41070). [#41011](https://github.com/ClickHouse/ClickHouse/pull/41011) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم جميع تركيبات combinators في versioning الخاصة بـ WindowTransform/arratReduce\*/initializeAggregation/aggregate functions. سابقًا، لم تكن combinators مثل `ForEach/Resample/Map` تعمل في هذه المواضع، وكان استخدامها يؤدي إلى exception مثل `State function ... inserts results into non-state column`. [#41107](https://github.com/ClickHouse/ClickHouse/pull/41107) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة الدالة `tryDecrypt` التي تُرجع NULL عند فشل فك التشفير (مثلًا عند فك التشفير بمفتاح غير صحيح) بدلًا من إطلاق استثناء. [#41206](https://github.com/ClickHouse/ClickHouse/pull/41206) ([Duc Canh Le](https://github.com/canhld94)).
* إضافة العمود `unreserved_space` إلى table ‏`system.disks` للتحقق من مقدار المساحة غير المشغولة بالحجوزات على كل disk. [#41254](https://github.com/ClickHouse/ClickHouse/pull/41254) ([filimonov](https://github.com/filimonov)).
* دعم headers الخاصة بالتفويض في s3 ضمن arguments الخاصة بـ table function. [#41261](https://github.com/ClickHouse/ClickHouse/pull/41261) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة دعم MultiRead في Keeper وclient الداخلي لـ ZooKeeper (وهذا extension لبروتوكول ZooKeeper، ومتاح فقط في ClickHouse Keeper). [#41410](https://github.com/ClickHouse/ClickHouse/pull/41410) ([Antonio Andelic](https://github.com/antonio2368)).
* إضافة دعم مقارنة النوع Decimal مع قيمة floating point literal في المعامل IN. [#41544](https://github.com/ClickHouse/ClickHouse/pull/41544) ([liang.huang](https://github.com/lhuang09287750)).
* السماح باستخدام values ذات حجم قابل للقراءة (مثل `1TB`) في config الخاص بـ cache. [#41688](https://github.com/ClickHouse/ClickHouse/pull/41688) ([Kseniia Sumarokova](https://github.com/kssenii)).
* كان ClickHouse يحتفظ مؤقتًا بإدخالات DNS قديمة لبعض الوقت (15 ثانية افتراضيًا) إلى أن يجري تحديث الذاكرة المؤقتة بشكل غير متزامن. وخلال هذه الفترات، كان بإمكان ClickHouse مع ذلك محاولة إنشاء اتصال والتسبب في أخطاء. تم إصلاح هذا السلوك. [#41707](https://github.com/ClickHouse/ClickHouse/pull/41707) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إضافة بحث تفاعلي في السجل باستخدام أداة شبيهة بـ fzf ‏(fzf/sk) لـ `clickhouse-client`/`clickhouse-local` (لاحظ أنه يمكنك استخدام `FZF_DEFAULT_OPTS`/`SKIM_DEFAULT_OPTIONS` لتهيئة السلوك بشكل إضافي). [#41730](https://github.com/ClickHouse/ClickHouse/pull/41730) ([Azat Khuzhin](https://github.com/azat)).
* لا يُسمح الآن للعملاء الذين يتصلون بخادم آمن بشهادة غير صالحة بالمتابعة إلا باستخدام الخيار `--accept-certificate`. [#41743](https://github.com/ClickHouse/ClickHouse/pull/41743) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إضافة الدالة `tryBase58Decode`، على غرار الدالة الحالية `tryBase64Decode`. [#41824](https://github.com/ClickHouse/ClickHouse/pull/41824) ([Robert Schulze](https://github.com/rschu1ze)).
* تحسين الرسائل عند استبدال partition بمفتاح أساسي مختلف. يُصلح [#34798](https://github.com/ClickHouse/ClickHouse/issues/34798). [#41838](https://github.com/ClickHouse/ClickHouse/pull/41838) ([Salvatore](https://github.com/tbsal)).
* إصلاح التحليل المتوازي: إذ يتحقق segmentator الآن من `max_block_size`. وقد أصلح ذلك التخصيص الزائد للذاكرة في حالة التحليل المتوازي مع LIMIT صغير. [#41852](https://github.com/ClickHouse/ClickHouse/pull/41852) ([Vitaly Baranov](https://github.com/vitlibar)).
* لا تُضِف الاستثناء `"TABLE_IS_DROPPED"` إلى `system.errors` إذا حدث أثناء تنفيذ SELECT من جدول نظام وتم تجاهله. [#41908](https://github.com/ClickHouse/ClickHouse/pull/41908) ([AlfVII](https://github.com/AlfVII)).
* تحسين الخيار `enable_extended_results_for_datetime_functions` لإرجاع نتائج من النوع DateTime64 للدوال `toStartOfDay` و`toStartOfHour` و`toStartOfFifteenMinutes` و`toStartOfTenMinutes` و`toStartOfFiveMinutes` و`toStartOfMinute` و`timeSlot`. [#41910](https://github.com/ClickHouse/ClickHouse/pull/41910) ([Roman Vasin](https://github.com/rvasin)).
* تحسين استنتاج النوع `DateTime` في التنسيقات النصية. فهو الآن يراعي الإعداد `date_time_input_format` ولا يحاول استنتاج قيم التاريخ والوقت من الأرقام على أنها timestamps. يُغلق [#41389](https://github.com/ClickHouse/ClickHouse/issues/41389) ويُغلق [#42206](https://github.com/ClickHouse/ClickHouse/issues/42206). [#41912](https://github.com/ClickHouse/ClickHouse/pull/41912) ([Kruglov Pavel](https://github.com/Avogar)).
* إزالة التحذير المربك عند الإدراج مع `perform_ttl_move_on_insert` = false. [#41980](https://github.com/ClickHouse/ClickHouse/pull/41980) ([Vitaly Baranov](https://github.com/vitlibar)).
* السماح للمستخدم بكتابة `countState(*)` على غرار `count(*)`. هذا يُغلق [#9338](https://github.com/ClickHouse/ClickHouse/issues/9338). [#41983](https://github.com/ClickHouse/ClickHouse/pull/41983) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تجاوز السعة في حجم `rankCorr`. [#42020](https://github.com/ClickHouse/ClickHouse/pull/42020) ([Duc Canh Le](https://github.com/canhld94)).
* أُضيف خيار لتحديد سلسلة نصية عشوائية كاسم للبيئة في إعدادات Sentry لتسهيل التقارير. [#42037](https://github.com/ClickHouse/ClickHouse/pull/42037) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح تحليل قيم Date الخارجة عن النطاق من CSV. [#42044](https://github.com/ClickHouse/ClickHouse/pull/42044) ([Andrey Zvonov](https://github.com/zvonand)).
* يدعم `parseDataTimeBestEffort` الآن استخدام الفاصلة بين التاريخ والوقت. يُغلق [#42038](https://github.com/ClickHouse/ClickHouse/issues/42038). [#42049](https://github.com/ClickHouse/ClickHouse/pull/42049) ([flynn](https://github.com/ucasfl)).
* تم تحسين آلية استعادة النسخة المتماثلة المتقادمة في `ReplicatedMergeTree`. إذا كانت النسخة المتماثلة المفقودة تحتوي على بعض الأجزاء غير الموجودة في نسخة متماثلة سليمة، لكن من المفترض أن تظهر هذه الأجزاء لاحقًا وفقًا لطابور النسخ المتماثل للنسخة السليمة، فستحتفظ النسخة المتماثلة المفقودة بهذه الأجزاء بدلًا من فصلها. [#42134](https://github.com/ClickHouse/ClickHouse/pull/42134) ([Alexander Tokmakov](https://github.com/tavplubix)).
* أُضيفت إمكانية استخدام معاملات `Date32` مع الدالة date\_diff. كما أُصلحت مشكلة في الدالة date\_diff عند استخدام معاملات DateTime64 مع تاريخ بداية يسبق Unix epoch وتاريخ نهاية يليه. [#42308](https://github.com/ClickHouse/ClickHouse/pull/42308) ([Roman Vasin](https://github.com/rvasin)).
* عند رفع أجزاء كبيرة إلى Minio، قد تستغرق 'Complete Multipart Upload' وقتًا طويلًا. يرسل Minio نبضات حياة كل 10 ثوانٍ (انظر [https://github.com/minio/minio/pull/7198](https://github.com/minio/minio/pull/7198)). لكن ClickHouse تنتهي مهلته قبل ذلك، لأن مهلة الإرسال/الاستقبال الافتراضية [مضبوطة](https://github.com/ClickHouse/ClickHouse/blob/cc24fcd6d5dfb67f5f66f5483e986bd1010ad9cf/src/IO/S3/PocoHTTPClient.cpp#L123) على 5 ثوانٍ. [#42321](https://github.com/ClickHouse/ClickHouse/pull/42321) ([filimonov](https://github.com/filimonov)).
* أُصلح خلل نادر في تحويل الأنواع لحالات التجميع عند التعامل مع أنواع معقدة مثل Decimal. وهذا يُصلح [#42408](https://github.com/ClickHouse/ClickHouse/issues/42408). [#42417](https://github.com/ClickHouse/ClickHouse/pull/42417) ([Amos Bird](https://github.com/amosbird)).
* أصبح من الممكن استخدام معاملات `Date32` مع الدالة `dateName`. [#42554](https://github.com/ClickHouse/ClickHouse/pull/42554) ([Roman Vasin](https://github.com/rvasin)).
* ستُستخدم الآن المرشحات التي تحتوي على قيم NULL حرفية أثناء تحليل الفهرس. [#34063](https://github.com/ClickHouse/ClickHouse/issues/34063). [#41842](https://github.com/ClickHouse/ClickHouse/pull/41842) ([Amos Bird](https://github.com/amosbird)).
* تُدمج الأجزاء إذا كان كل جزء ضمن النطاق أقدم من عتبة معينة. ويمكن ضبط هذه العتبة باستخدام `min_age_to_force_merge_seconds`. هذا يُغلق [#35836](https://github.com/ClickHouse/ClickHouse/issues/35836). [#42423](https://github.com/ClickHouse/ClickHouse/pull/42423) ([Antonio Andelic](https://github.com/antonio2368)). وهذا استكمال لـ [#39550i](https://github.com/ClickHouse/ClickHouse/pull/39550) من [@fastio](https://github.com/fastio)، الذي نفّذ معظم هذا المنطق.
* أُضيفت بنية تحتية جديدة لتحليل الاستعلامات وتخطيطها ضمن الإعداد `allow_experimental_analyzer`. [#31796](https://github.com/ClickHouse/ClickHouse/pull/31796) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين الوقت اللازم لاستعادة اتصالات Keeper المفقودة. [#42541](https://github.com/ClickHouse/ClickHouse/pull/42541) ([Raúl Marín](https://github.com/Algunenano)).

<div id="buildtestingpackaging-improvement-2">
  #### تحسينات البناء/الاختبار/التغليف
</div>

* إضافة fuzzer لتعريفات الجداول [#40096](https://github.com/ClickHouse/ClickHouse/pull/40096) ([Anton Popov](https://github.com/CurtizJ)). ويمثل هذا أكبر تقدم في اختبارات ClickHouse خلال هذا العام حتى الآن.
* إصدار النسخة التجريبية Beta من خدمة ClickHouse Cloud: [https://console.clickhouse.cloud/](https://console.clickhouse.cloud/). وهي توفّر أسهل طريقة لاستخدام ClickHouse (بل أسهل قليلًا حتى من التثبيت بأمر واحد).
* إضافة دعم توليد WHERE clause إلى AST Fuzzer، مع إمكانية إضافة ORDER BY وWHERE clause أو إزالتهما. [#38519](https://github.com/ClickHouse/ClickHouse/pull/38519) ([Ilya Yatsishin](https://github.com/qoega)).
* أصبحت الملفات التنفيذية لـ Aarch64 تتطلب الآن ARMv8.2 على الأقل، الذي صدر في عام 2016. والأهم من ذلك أن هذا يتيح استخدام ARM LSE، أي العمليات الذرية الأصلية. كذلك أُضيف خيار build في CMake باسم "NO\_ARMV81\_OR\_HIGHER" للسماح بترجمة الملفات التنفيذية للأجهزة الأقدم من ARMv8.0، مثل Raspberry Pi 4. [#41610](https://github.com/ClickHouse/ClickHouse/pull/41610) ([Robert Schulze](https://github.com/rschu1ze)).
* إتاحة build لـ ClickHouse باستخدام Musl (مع تعديلات طفيفة بعد أن كان مدعومًا بالفعل لكنه كان معطّلًا). [#41987](https://github.com/ClickHouse/ClickHouse/pull/41987) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة التحقق من الملف `$CLICKHOUSE_CRONFILE` لتجنّب تشغيل الأمر `sed` فقط للوصول إلى خطأ يفيد بعدم العثور على الملف أثناء التثبيت. [#42081](https://github.com/ClickHouse/ClickHouse/pull/42081) ([Chun-Sheng, Li](https://github.com/peter279k)).
* تحديث cctz إلى `2022e` لدعم تغييرات timezone الجديدة. أصبحت التحولات في فلسطين الآن أيام السبت عند الساعة 02:00. كما جرى دمج المناطق الزمنية الثلاث في أوكرانيا في منطقة واحدة. وانتقلت الأردن وسوريا من +02/+03 مع التوقيت الصيفي إلى +03 على مدار العام. ([https://data.iana.org/time-zones/tzdb/NEWS](https://data.iana.org/time-zones/tzdb/NEWS)). يغلق هذا [#42252](https://github.com/ClickHouse/ClickHouse/issues/42252). [#42327](https://github.com/ClickHouse/ClickHouse/pull/42327) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#42273](https://github.com/ClickHouse/ClickHouse/pull/42273) ([Dom Del Nano](https://github.com/ddelnano)).
* إضافة دعم لشفرة Rust في ClickHouse، مع مكتبة دالة التجزئة BLAKE3 كمثال. [#33435](https://github.com/ClickHouse/ClickHouse/pull/33435) ([BoloniniD](https://github.com/BoloniniD)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release-2">
  #### إصلاح خلل (سلوك غير صحيح ظاهر للمستخدم في إصدار مستقر رسمي أو إصدار ما قبل الاستقرار رسمي)
</div>

* اختيار طريقة التجميع الصحيحة لـ `LowCardinality` مع أنواع الأعداد الصحيحة الكبيرة. [#42342](https://github.com/ClickHouse/ClickHouse/pull/42342) ([Duc Canh Le](https://github.com/canhld94)).
* عدة إصلاحات لقرص `web`. [#41652](https://github.com/ClickHouse/ClickHouse/pull/41652) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح مشكلة تؤدي إلى فشل `docker run` إذا لم يكن `https_port` موجودًا في ملف config. [#41693](https://github.com/ClickHouse/ClickHouse/pull/41693) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* لم يكن إلغاء عمليات mutations يتم على نحو صحيح عند إيقاف الخادم أو عند تنفيذ الاستعلام `SYSTEM STOP MERGES`، كما كان الإلغاء قد يستغرق وقتًا طويلًا. تم إصلاح ذلك. [#41699](https://github.com/ClickHouse/ClickHouse/pull/41699) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح النتائج الخاطئة للاستعلامات التي تستخدم `ORDER BY` أو `GROUP BY` على أعمدة من بادئة مفتاح الفرز، والمغلفة داخل دوال رتيبة، عند تفعيل تحسين "read in order" (الإعدادان `optimize_read_in_order` و `optimize_aggregation_in_order`). [#41701](https://github.com/ClickHouse/ClickHouse/pull/41701) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح تعطل محتمل في `SELECT` من جدول `Merge` عند تفعيل الإعداد `optimize_monotonous_functions_in_order_by`. يصلح [#41269](https://github.com/ClickHouse/ClickHouse/issues/41269). [#41740](https://github.com/ClickHouse/ClickHouse/pull/41740) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح الخطأ "Part ... intersects part ..." الذي قد يحدث في حالات نادرة جدًا إذا أُعيد تشغيل النسخة المتماثلة مباشرة بعد فصل part باعتباره تالفًا. [#41741](https://github.com/ClickHouse/ClickHouse/pull/41741) ([Alexander Tokmakov](https://github.com/tavplubix)).
* عدم السماح بإنشاء جداول MergeTree أو تعديلها إذا كان اسم أحد الأعمدة `_row_exists`، لأنه محجوز لميزة lightweight delete. أُصلح [#41716](https://github.com/ClickHouse/ClickHouse/issues/41716). [#41763](https://github.com/ClickHouse/ClickHouse/pull/41763) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* إصلاح خلل يؤدي إلى غياب headers الخاصة بـ CORS في بعض استجابات HTTP. [#41792](https://github.com/ClickHouse/ClickHouse/pull/41792) ([Frank Chen](https://github.com/FrankChen021)).
* كان الإصدار 22.9 قد يفشل في تشغيل جدول `ReplicatedMergeTree` إذا كان هذا الجدول قد أُنشئ في الإصدار 20.3 أو إصدار أقدم ولم يُعدّل مطلقًا، وقد تم إصلاح ذلك. يصلح [#41742](https://github.com/ClickHouse/ClickHouse/issues/41742). [#41796](https://github.com/ClickHouse/ClickHouse/pull/41796) ([Alexander Tokmakov](https://github.com/tavplubix)).
* عند فشل إرسال الـ Batch لأي سبب، لا يمكن التعافي منه تلقائيًا، وإذا لم يُعالج في الوقت المناسب فسيتسبب ذلك في التراكم، كما ستزداد رسالة الخطأ المطبوعة طولًا باستمرار، مما قد يؤدي إلى حظر thread الخاص بـ HTTP. [#41813](https://github.com/ClickHouse/ClickHouse/pull/41813) ([zhongyuankai](https://github.com/zhongyuankai)).
* إصلاح compact parts مع إعداد العلامات المضغوطة. يصلح [#41783](https://github.com/ClickHouse/ClickHouse/issues/41783) و [#41746](https://github.com/ClickHouse/ClickHouse/issues/41746). [#41823](https://github.com/ClickHouse/ClickHouse/pull/41823) ([alesapin](https://github.com/alesapin)).
* لا تحتوي الإصدارات القديمة من قاعدة البيانات Replicated على علامة خاصة في \[Zoo]Keeper. نحتاج فقط إلى التحقق مما إذا كانت العقدة تحتوي على بعض البيانات غير المعتادة بدلًا من علامة خاصة. [#41875](https://github.com/ClickHouse/ClickHouse/pull/41875) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح Exception محتمل في `fs cache`. [#41884](https://github.com/ClickHouse/ClickHouse/pull/41884) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح `use_environment_credentials` في دالة الجدول S3. [#41970](https://github.com/ClickHouse/ClickHouse/pull/41970) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تم إصلاح الخطأ "الدليل موجود بالفعل وليس فارغًا" عند فصل part تالف، وهو ما كان قد يمنع جدول `ReplicatedMergeTree` من بدء النسخ المتماثل. يُصلح [#40957](https://github.com/ClickHouse/ClickHouse/issues/40957). [#41981](https://github.com/ClickHouse/ClickHouse/pull/41981) ([Alexander Tokmakov](https://github.com/tavplubix)).
* تُرجع `toDateTime64` الآن الناتج نفسه عند استخدام argumentات صحيحة وسالبة عائمة. [#42025](https://github.com/ClickHouse/ClickHouse/pull/42025) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح الكتابة إلى `azure_blob_storage`. يُغلق جزئيًا [#41754](https://github.com/ClickHouse/ClickHouse/issues/41754). [#42034](https://github.com/ClickHouse/ClickHouse/pull/42034) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح مشكلة فك ترميز `bzip2` لبعض ملفات `bzip2` المحددة. [#42046](https://github.com/ClickHouse/ClickHouse/pull/42046) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح دالة SQL ‏`toLastDayOfMonth` مع الإعداد "enable\_extended\_results\_for\_datetime\_functions = 1" عند بداية النطاق الموسّع (يناير 1900). - إصلاح دالة SQL ‏"toRelativeWeekNum()" مع الإعداد "enable\_extended\_results\_for\_datetime\_functions = 1" عند نهاية النطاق الموسّع (ديسمبر 2299). - تحسين أداء دوال SQL ‏"toISOYear()" و"toFirstDayNumOfISOYearIndex()" و"toYearWeekOfNewyearMode()" عبر تجنّب العمليات الحسابية غير الضرورية على الفهرس. [#42084](https://github.com/ClickHouse/ClickHouse/pull/42084) ([Roman Vasin](https://github.com/rvasin)).
* تم عن طريق الخطأ تعيين الحد الأقصى لعمليات fetches لكل table إلى 8، رغم أن حجم pool قد يكون أكبر. الآن أصبح الحد الأقصى لعمليات fetches لكل table مساويًا لحجم pool. [#42090](https://github.com/ClickHouse/ClickHouse/pull/42090) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* كان من الممكن إيقاف table وفصل Dictionary قبل التحقق مما إذا كان يمكن إسقاطه من دون كسر dependencies الخاصة بالجدول، وقد تم إصلاح ذلك. يُصلح [#41982](https://github.com/ClickHouse/ClickHouse/issues/41982). [#42106](https://github.com/ClickHouse/ClickHouse/pull/42106) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح ضعف الكفاءة في `remote_filesystem_read_method=read` مع filesystem cache. يُغلق [#42125](https://github.com/ClickHouse/ClickHouse/issues/42125). [#42129](https://github.com/ClickHouse/ClickHouse/pull/42129) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح Exception مهلة محتملة في distributed queries مع use\_hedged\_requests = 0. [#42130](https://github.com/ClickHouse/ClickHouse/pull/42130) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح خطأ طفيف داخل الدالة `runningDifference` عند استخدامها مع النوع `Date32`. كان النوع `Date` يُستخدم سابقًا، وقد يؤدي ذلك إلى بعض logical errors مثل `Bad cast from type DB::ColumnVector<int> to DB::ColumnVector<unsigned short>'`. [#42143](https://github.com/ClickHouse/ClickHouse/pull/42143) ([Alfred Xu](https://github.com/sperlingxx)).
* إصلاح إعادة استخدام الملفات التي يزيد حجمها على 4GB من base backup. [#42146](https://github.com/ClickHouse/ClickHouse/pull/42146) ([Azat Khuzhin](https://github.com/azat)).
* يفشل `DISTINCT in order` مع LOGICAL\_ERROR إذا كان العمود الأول في sorting key يحتوي على دالة. [#42186](https://github.com/ClickHouse/ClickHouse/pull/42186) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح خطأ في projections والإعداد `aggregate_functions_null_for_empty`. هذا الخطأ نادر جدًا، ولا يظهر إلا عند تفعيل الإعداد `aggregate_functions_null_for_empty` في config الخاصة بـ server. يغلق هذا [#41647](https://github.com/ClickHouse/ClickHouse/issues/41647). [#42198](https://github.com/ClickHouse/ClickHouse/pull/42198) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح القراءة من جداول `Buffer` عند القراءة بترتيب تنازلي. [#42236](https://github.com/ClickHouse/ClickHouse/pull/42236) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح خطأ يمنع ClickHouse من البدء عندما يكون `background_pool_size setting` مضبوطًا في profile الافتراضي، بينما لا يكون `background_merges_mutations_concurrency_ratio` مضبوطًا. [#42315](https://github.com/ClickHouse/ClickHouse/pull/42315) ([nvartolomei](https://github.com/nvartolomei)).
* كان `ALTER UPDATE` لجزء attached (بـ columns تختلف عن schema الخاص بالجدول) قد يؤدي إلى إنشاء metadata غير صالحة في `columns.txt` على disk. وقد تفشل القراءة من هذا الجزء مع أخطاء أو تُرجع data غير صالحة. يُصلح هذا [#42161](https://github.com/ClickHouse/ClickHouse/issues/42161). [#42319](https://github.com/ClickHouse/ClickHouse/pull/42319) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* لم يكن الإعداد `additional_table_filters` يُطبَّق على تخزين `Distributed`. يُصلح هذا [#41692](https://github.com/ClickHouse/ClickHouse/issues/41692). [#42322](https://github.com/ClickHouse/ClickHouse/pull/42322) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح data race عند إنهاء query أو إلغائها. يغلق هذا [#42346](https://github.com/ClickHouse/ClickHouse/issues/42346). [#42362](https://github.com/ClickHouse/ClickHouse/pull/42362) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* يتراجع هذا عن [#40217](https://github.com/ClickHouse/ClickHouse/issues/40217)، الذي تسبب في تراجع في دوال التاريخ/الوقت. [#42367](https://github.com/ClickHouse/ClickHouse/pull/42367) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح assert cast في join عند condition غير متحقق. يغلق هذا [#42380](https://github.com/ClickHouse/ClickHouse/issues/42380). [#42407](https://github.com/ClickHouse/ClickHouse/pull/42407) ([Vladimir C](https://github.com/vdimir)).
* إصلاح buffer overflow في معالجة data types من نوع Decimal. يغلق هذا [#42451](https://github.com/ClickHouse/ClickHouse/issues/42451). [#42465](https://github.com/ClickHouse/ClickHouse/pull/42465) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* يعمل `AggregateFunctionQuantile` الآن بشكل صحيح مع columns من نوع UInt128. سابقًا، كانت حالة quantile تفسّر columns من نوع `UInt128` على أنها `Int128`، ما كان قد يؤدي إلى نتائج غير صحيحة. [#42473](https://github.com/ClickHouse/ClickHouse/pull/42473) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح assert من نوع bad\_cast أثناء INSERT في indexes الخاصة بـ `Annoy` على columns ليست من نوع Float32. وتُعد indexes الخاصة بـ `Annoy` ميزة تجريبية. [#42485](https://github.com/ClickHouse/ClickHouse/pull/42485) ([Robert Schulze](https://github.com/rschu1ze)).
* كان العامل الحسابي مع Date أو DateTime ومع عدد صحيح بعرض 128 أو 256 بت يشير إلى ذاكرة غير مهيأة. [#42453](https://github.com/ClickHouse/ClickHouse/issues/42453). [#42573](https://github.com/ClickHouse/ClickHouse/pull/42573) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح خطأ غير متوقع أثناء تحميل الجدول عند احتواء مفتاح التقسيم على أسماء دوال مستعارة أثناء ترقية الخادم. [#36379](https://github.com/ClickHouse/ClickHouse/pull/36379) ([Amos Bird](https://github.com/amosbird)).

### <a id="229" /> إصدار ClickHouse 22.9، 2022-09-22. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.9/)، [الفيديو](https://www.youtube.com/watch?v=rK2BsaaaOCA)

<Frame>
  <iframe src="https://www.youtube.com/embed/rK2BsaaaOCA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* يجب تنفيذ الترقية من 20.3 وما قبله إلى 22.9 وما بعده عبر إصدار وسيط إذا كانت هناك أي جداول `ReplicatedMergeTree`، وإلا فلن يبدأ ClickHouse server بالإصدار الجديد. [#40641](https://github.com/ClickHouse/ClickHouse/pull/40641) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إزالة الدالتين `accurate_Cast` و`accurate_CastOrNull` (وهما تختلفان عن `accurateCast` و`accurateCastOrNull` بوجود الشرطة السفلية في الاسم، كما أنهما لا تتأثران بقيمة الإعداد `cast_keep_nullable`). كانت هاتان الدالتان غير موثقتين وغير مختبرتين وغير مستخدمتين وغير لازمتين. ويبدو أنهما بقيتا موجودتين بسبب تعميم الشيفرة. [#40682](https://github.com/ClickHouse/ClickHouse/pull/40682) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة اختبار لضمان توثيق كل table function جديدة. انظر [#40649](https://github.com/ClickHouse/ClickHouse/issues/40649). إعادة تسمية table function ‏`MeiliSearch` إلى `meilisearch`. [#40709](https://github.com/ClickHouse/ClickHouse/pull/40709) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة اختبار لضمان توثيق كل دالة جديدة. انظر [#40649](https://github.com/ClickHouse/ClickHouse/pull/40649). كانت الدوال `lemmatize` و`synonyms` و`stem` غير حساسة لحالة الأحرف عن طريق الخطأ، وهي الآن حساسة لحالة الأحرف. [#40711](https://github.com/ClickHouse/ClickHouse/pull/40711) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* لأسباب تتعلق بالأمان والاستقرار، لم يعد يجري تقييم نماذج catboost داخل ClickHouse server. وبدلاً من ذلك، أصبح التقييم الآن
  يُجرى في clickhouse-library-bridge، وهي عملية منفصلة تحمّل مكتبة catboost وتتواصل مع server process عبر
  HTTP. [#40897](https://github.com/ClickHouse/ClickHouse/pull/40897) ([Robert Schulze](https://github.com/rschu1ze)).
* جعل تفسير إعدادات YAML أكثر توافقًا مع المتعارف عليه. [#41044](https://github.com/ClickHouse/ClickHouse/pull/41044) ([Vitaly Baranov](https://github.com/vitlibar)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* دعم `insert_quorum = 'auto'` لاستخدام عدد الأغلبية. [#39970](https://github.com/ClickHouse/ClickHouse/pull/39970) ([Sachin](https://github.com/SachinSetiya)).
* إضافة لوحات معلومات مضمّنة إلى ClickHouse server. هذا مشروع تجريبي يوضّح كيفية تحقيق 90% من النتائج ببذل 1% من الجهد باستخدام ميزات ClickHouse. [#40461](https://github.com/ClickHouse/ClickHouse/pull/40461) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُضيف نوع جديد لقابلية كتابة قيد الإعدادات `changeable_in_readonly`. [#40631](https://github.com/ClickHouse/ClickHouse/pull/40631) ([Sergei Trifonov](https://github.com/serxa)).
* إضافة دعم `INTERSECT DISTINCT` و `EXCEPT DISTINCT`. [#40792](https://github.com/ClickHouse/ClickHouse/pull/40792) ([Duc Canh Le](https://github.com/canhld94)).
* إضافة تنسيق إدخال/إخراج جديد `JSONObjectEachRow` - دعم الاستيراد للتنسيقات `JSON/JSONCompact/JSONColumnsWithMetadata`. إضافة إعداد جديد `input_format_json_validate_types_from_metadata` يتحكّم في ما إذا كان ينبغي التحقق من تطابق أنواع البيانات في البيانات الوصفية مع أنواع البيانات في الترويسة. - إضافة إعداد جديد `input_format_json_validate_utf8`، وعند تمكينه، ستتحقق جميع تنسيقات `JSON` من تسلسلات UTF-8. وسيكون معطّلاً افتراضياً. لاحظ أن هذا الإعداد لا يؤثر في تنسيقات الإخراج `JSON/JSONCompact/JSONColumnsWithMetadata`، إذ تتحقق هذه التنسيقات دائماً من تسلسلات UTF-8 (وقد أُجري هذا الاستثناء لأسباب تتعلق بالتوافق). - إضافة إعداد جديد `input_format_json_read_numbers_as_strings ` يتيح تحليل الأرقام في عمود String، ويكون هذا الإعداد معطّلاً افتراضياً. - إضافة إعداد جديد `output_format_json_quote_decimals` يتيح إخراج القيم العشرية بين علامتَي اقتباس مزدوجتين، وهو معطّل افتراضياً. - السماح بتحليل القيم العشرية بين علامتَي اقتباس مزدوجتين أثناء استيراد البيانات. [#40910](https://github.com/ClickHouse/ClickHouse/pull/40910) ([Kruglov Pavel](https://github.com/Avogar)).
* دعم معلمات الاستعلام في استعلام DESCRIBE TABLE. [#40952](https://github.com/ClickHouse/ClickHouse/pull/40952) ([Nikita Taranov](https://github.com/nickitat)).
* إضافة دعم Parquet Time32/64 عبر تحويله إلى DateTime64. يمثّل Parquet time32/64 الوقت المنقضي منذ منتصف الليل، بينما يمثّل DateTime32/64 طابعاً زمنياً فعلياً من نوع Unix timestamp. ويجري التحويل ببساطة عبر الإزاحة من `0`. [#41333](https://github.com/ClickHouse/ClickHouse/pull/41333) ([Arthur Passos](https://github.com/arthurpassos)).
* تنفيذ عمليات المجموعات على Apache Datasketches. [#39919](https://github.com/ClickHouse/ClickHouse/pull/39919) ([Fangyuan Deng](https://github.com/pzhdfy)). ملاحظة: لا جدوى من استخدام Apache Datasketches، فهي أدنى من ClickHouse ولا يكون لها معنى إلا للتكامل مع أنظمة أخرى.
* السماح بتسجيل الأخطاء في ملف محدد أثناء قراءة التنسيقات النصية (`CSV`, `TSV`). [#40516](https://github.com/ClickHouse/ClickHouse/pull/40516) ([zjial](https://github.com/zjial)).

<div id="experimental-feature-3">
  #### الميزة التجريبية
</div>

* إضافة فهرس ANN (أقرب جار تقريبي) يستند إلى `Annoy`. [#40818](https://github.com/ClickHouse/ClickHouse/pull/40818) ([Filatenkov Artur](https://github.com/FArthur-cmd)). [#37215](https://github.com/ClickHouse/ClickHouse/pull/37215) ([VVMak](https://github.com/VVMak)).
* إضافة محرك تخزين جديد `KeeperMap` يستخدم ClickHouse Keeper أو ZooKeeper كمخزن مفتاح-قيمة. [#39976](https://github.com/ClickHouse/ClickHouse/pull/39976) ([Antonio Andelic](https://github.com/antonio2368)). صُمم محرك التخزين هذا لتخزين كمية صغيرة من البيانات الوصفية.
* تحسين لأجزاء البيانات الموجودة في الذاكرة: إزالة ملفات WAL التي تمت معالجتها بالكامل. [#40592](https://github.com/ClickHouse/ClickHouse/pull/40592) ([Azat Khuzhin](https://github.com/azat)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تنفيذ ضغط العلامات والمفتاح الأساسي. إغلاق [#34437](https://github.com/ClickHouse/ClickHouse/issues/34437). [#37693](https://github.com/ClickHouse/ClickHouse/pull/37693) ([zhongyuankai](https://github.com/zhongyuankai)).
* السماح بتحميل العلامات مسبقًا باستخدام threadpool. يتحكم في ذلك الإعداد `load_marks_asynchronously` (الافتراضي: 0). [#40821](https://github.com/ClickHouse/ClickHouse/pull/40821) ([Kseniia Sumarokova](https://github.com/kssenii)).
* سيستخدم نظام الملفات الافتراضي فوق S3 أسماء كائنات عشوائية موزعة على عدة بادئات مسارات لتحسين الأداء على AWS. [#40968](https://github.com/ClickHouse/ClickHouse/pull/40968) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أخذ قيمة `max_block_size` في الاعتبار عند إنتاج نتائج التجميع أحادي المستوى. يتيح ذلك تنفيذ خطوات خطة الاستعلام التالية باستخدام عدد أكبر من مؤشرات الترابط. [#39138](https://github.com/ClickHouse/ClickHouse/pull/39138) ([Nikita Taranov](https://github.com/nickitat)).
* يُستخدم الجلب المسبق البرمجي في التجميع لتسريع العمليات على جداول التجزئة. ويتحكم في ذلك الإعداد `enable_software_prefetch_in_aggregation`، وهو مفعّل افتراضيًا. [#39304](https://github.com/ClickHouse/ClickHouse/pull/39304) ([Nikita Taranov](https://github.com/nickitat)).
* تحسين دعم `optimize_read_in_order` عندما تكون بعض أعمدة sorting key ثابتة دائمًا بعد تطبيق جملة `WHERE`. على سبيل المثال، استعلام مثل `SELECT ... FROM table WHERE a = 'x' ORDER BY a, b`، حيث يملك `table` تعريف التخزين التالي: `MergeTree ORDER BY (a, b)`. [#38715](https://github.com/ClickHouse/ClickHouse/pull/38715) ([Anton Popov](https://github.com/CurtizJ)).
* ترشيح streams الموصولة في `full_sorting_join` بعضها ببعض قبل الفرز. [#39418](https://github.com/ClickHouse/ClickHouse/pull/39418) ([Vladimir C](https://github.com/vdimir)).
* تحسين فك ضغط LZ4 عبر تخطي معالجة القيم الحرفية الفارغة. [#40142](https://github.com/ClickHouse/ClickHouse/pull/40142) ([Nikita Taranov](https://github.com/nickitat)).
* تسريع عملية النسخ الاحتياطي باستخدام `copy` الأصلي عند الإمكان بدلًا من النسخ عبر ذاكرة `clickhouse-server`. [#40395](https://github.com/ClickHouse/ClickHouse/pull/40395) ([alesapin](https://github.com/alesapin)).
* عدم الحصول على snapshot للتخزين لكل block من INSERT (مما يحسن الأداء قليلًا). [#40638](https://github.com/ClickHouse/ClickHouse/pull/40638) ([Azat Khuzhin](https://github.com/azat)).
* تنفيذ المعالجة الدفعية للدوال التجميعية ذات الوسائط Nullable المتعددة. [#41058](https://github.com/ClickHouse/ClickHouse/pull/41058) ([Raúl Marín](https://github.com/Algunenano)).
* تسريع قراءة UniquesHashSet (مثل `uniqState` من القرص، على سبيل المثال). [#41089](https://github.com/ClickHouse/ClickHouse/pull/41089) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح الارتفاع الكبير في استخدام الذاكرة أثناء تنفيذ mutations للأجزاء compact في الجداول التي تحتوي على عدد هائل من الأعمدة. [#41122](https://github.com/ClickHouse/ClickHouse/pull/41122) ([lthaooo](https://github.com/lthaooo)).
* تمكين مكتبة vectorscan على ARM، مما يسرّع تقييم Regexp. [#41033](https://github.com/ClickHouse/ClickHouse/pull/41033) ([Robert Schulze](https://github.com/rschu1ze)).
* ترقية vectorscan إلى 5.4.8، التي تتضمن العديد من تحسينات الأداء لتسريع تقييم Regexp. [#41270](https://github.com/ClickHouse/ClickHouse/pull/41270) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح fallback غير الصحيح الذي يؤدي إلى تخطي local filesystem cache في VFS (مثل S3)، والذي كان يحدث عند مستويات مرتفعة جدًا من التزامن. [#40420](https://github.com/ClickHouse/ClickHouse/pull/40420) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إذا كان مرشح سياسة الصف دائمًا false، فأعِد نتيجة فارغة فورًا من دون قراءة أي بيانات. ويغلق هذا [#24012](https://github.com/ClickHouse/ClickHouse/issues/24012). [#40740](https://github.com/ClickHouse/ClickHouse/pull/40740) ([Amos Bird](https://github.com/amosbird)).
* قد لا يكون Parallel hash JOIN لأنواع البيانات Float الخيار الأمثل. تحسينه. [#41183](https://github.com/ClickHouse/ClickHouse/pull/41183) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="improvement-3">
  #### تحسين
</div>

* أثناء بدء التشغيل وعند استدعاء ATTACH، ستكون جداول `ReplicatedMergeTree` للقراءة فقط إلى أن يتم الاتصال بـ ZooKeeper ويكتمل الإعداد. [#40148](https://github.com/ClickHouse/ClickHouse/pull/40148) ([Antonio Andelic](https://github.com/antonio2368)).
* إضافة الخيار `enable_extended_results_for_datetime_functions` لإرجاع نتائج من النوع Date32 للدوال toStartOfYear و toStartOfISOYear و toStartOfQuarter و toStartOfMonth و toStartOfWeek و toMonday و toLastDayOfMonth عندما تكون الوسيطة من النوع Date32 أو DateTime64، وإلا فستُرجع نتائج من النوع Date. ولأسباب التوافق، تكون القيمة الافتراضية هي '0'. [#41214](https://github.com/ClickHouse/ClickHouse/pull/41214) ([Roman Vasin](https://github.com/rvasin)).
* لأسباب تتعلق بالأمان والاستقرار، لم تعد نماذج CatBoost تُقيَّم داخل خادم ClickHouse. وبدلًا من ذلك، أصبح التقييم يُجرى الآن في clickhouse-library-bridge، وهي عملية منفصلة تُحمِّل مكتبة catboost وتتواصل مع عملية الخادم عبر HTTP. وقد استُبدلت الدالة `modelEvaluate()` بـ `catboostEvaluate()`. [#40897](https://github.com/ClickHouse/ClickHouse/pull/40897) ([Robert Schulze](https://github.com/rschu1ze)). [#39629](https://github.com/ClickHouse/ClickHouse/pull/39629) ([Robert Schulze](https://github.com/rschu1ze)).
* إضافة المزيد من المقاييس للبيانات المؤقتة المخزنة على القرص، وإغلاق [#40206](https://github.com/ClickHouse/ClickHouse/issues/40206). [#40239](https://github.com/ClickHouse/ClickHouse/pull/40239) ([Vladimir C](https://github.com/vdimir)).
* إضافة خيار config ‏`warning_supress_regexp`، وإغلاق [#40330](https://github.com/ClickHouse/ClickHouse/issues/40330). [#40548](https://github.com/ClickHouse/ClickHouse/pull/40548) ([Vladimir C](https://github.com/vdimir)).
* إضافة إعداد لتعطيل الحد المفروض على kafka\_num\_consumers. إغلاق [#40331](https://github.com/ClickHouse/ClickHouse/issues/40331). [#40670](https://github.com/ClickHouse/ClickHouse/pull/40670) ([Kruglov Pavel](https://github.com/Avogar)).
* دعم `SETTINGS` في استعلام `DELETE ...`. [#41533](https://github.com/ClickHouse/ClickHouse/pull/41533) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة أحداث profile تفصيلية لـ S3 ‏`DiskS3*`، مقسّمة حسب كل استدعاء لـ API في S3 لـ S3 ObjectStorage. [#41532](https://github.com/ClickHouse/ClickHouse/pull/41532) ([Sergei Trifonov](https://github.com/serxa)).
* مقياسان جديدان في `system.asynchronous_metrics`: ‏`NumberOfDetachedParts` و `NumberOfDetachedByUserParts`. [#40779](https://github.com/ClickHouse/ClickHouse/pull/40779) ([Sema Checherinda](https://github.com/CheSema)).
* السماح باستخدام CONSTRAINTs مع جداول ODBC و JDBC. [#34551](https://github.com/ClickHouse/ClickHouse/pull/34551) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* عدم طباعة `SETTINGS` أكثر من مرة أثناء تنسيق الاستعلام إذا لم يظهر أكثر من مرة في الاستعلام الأصلي. [#38900](https://github.com/ClickHouse/ClickHouse/pull/38900) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين تمرير سياق tracing ‏(OpenTelemetry) بين threads. [#39010](https://github.com/ClickHouse/ClickHouse/pull/39010) ([Frank Chen](https://github.com/FrankChen021)).
* ClickHouse Keeper: إضافة listeners لـ `interserver_listen_host` في Keeper فقط إذا كان محددًا. [#39973](https://github.com/ClickHouse/ClickHouse/pull/39973) ([Antonio Andelic](https://github.com/antonio2368)).
* تحسين recovery لمخزن وصول المستخدم Replicated بعد الأخطاء. [#39977](https://github.com/ClickHouse/ClickHouse/pull/39977) ([Vitaly Baranov](https://github.com/vitlibar)).
* إضافة دعم TTL إلى `EmbeddedRocksDB`. [#39986](https://github.com/ClickHouse/ClickHouse/pull/39986) ([Lloyd-Pottiger](https://github.com/Lloyd-Pottiger)).
* إضافة استنتاج المخطط إلى `clickhouse-obfuscator`، بحيث لم يعد الوسيط `--structure` مطلوبًا. [#40120](https://github.com/ClickHouse/ClickHouse/pull/40120) ([Nikolay Degterinsky](https://github.com/evillique)).
* تحسين القواميس وإصلاحها في تنسيق `Arrow`. [#40173](https://github.com/ClickHouse/ClickHouse/pull/40173) ([Kruglov Pavel](https://github.com/Avogar)).
* تحويل أكثر سلاسة من `Date32` و`DateTime64` و`Date` إلى الأنواع الأضيق: تؤخذ القيمة الطبيعية العليا أو الدنيا في الاعتبار عند الخروج عن النطاق الطبيعي. [#40217](https://github.com/ClickHouse/ClickHouse/pull/40217) ([Andrey Zvonov](https://github.com/zvonand)).
* إصلاح الحالة التي يتعذر فيها على جدول `Merge` المبني على `View` استخدام الفهرس. [#40233](https://github.com/ClickHouse/ClickHouse/pull/40233) ([Duc Canh Le](https://github.com/canhld94)).
* أسماء مفاتيح مخصّصة لسجلات JSON الخاصة بالخادم. [#40251](https://github.com/ClickHouse/ClickHouse/pull/40251) ([Mallik Hassan](https://github.com/SadiHassan)).
* أصبح من الممكن الآن تعيين رمز خطأ مخصّص للاستثناء الذي تطرحه الدالة `throwIf`. [#40319](https://github.com/ClickHouse/ClickHouse/pull/40319) ([Robert Schulze](https://github.com/rschu1ze)).
* تحسين ذاكرة التخزين المؤقت لاستنتاج المخطط، مع مراعاة إعدادات التنسيق التي يمكن أن تغيّر المخطط. [#40414](https://github.com/ClickHouse/ClickHouse/pull/40414) ([Kruglov Pavel](https://github.com/Avogar)).
* السماح بتحليل `Date` باعتباره `DateTime` و`DateTime64`. ينفّذ هذا التحسين المقترح في [#36949](https://github.com/ClickHouse/ClickHouse/issues/36949). [#40474](https://github.com/ClickHouse/ClickHouse/pull/40474) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* السماح بالتحويل من `String` مع `DateTime64` مثل `2022-08-22 01:02:03.456` إلى `Date` و`Date32`. كما يُسمح بالتحويل من `String` مع `DateTime` مثل `2022-08-22 01:02:03` إلى `Date32`. ويغلق هذا [#39598](https://github.com/ClickHouse/ClickHouse/issues/39598). [#40475](https://github.com/ClickHouse/ClickHouse/pull/40475) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم أفضل لهياكل البيانات المتداخلة في تنسيق Parquet. [#40485](https://github.com/ClickHouse/ClickHouse/pull/40485) ([Arthur Passos](https://github.com/arthurpassos)).
* دعم قراءة Array(Record) إلى جدول Nested مسطّح في Avro. [#40534](https://github.com/ClickHouse/ClickHouse/pull/40534) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة دعم وضع القراءة فقط إلى `EmbeddedRocksDB`. [#40543](https://github.com/ClickHouse/ClickHouse/pull/40543) ([Lloyd-Pottiger](https://github.com/Lloyd-Pottiger)).
* التحقق من صحة معامل أسلوب الضغط لمحرك الجدول URL. [#40600](https://github.com/ClickHouse/ClickHouse/pull/40600) ([Frank Chen](https://github.com/FrankChen021)).
* تحسين اكتشاف التنسيق لوظيفة/محرك الجدول URL عند وجود سلسلة استعلام بعد اسم ملف. ويغلق هذا [#40315](https://github.com/ClickHouse/ClickHouse/issues/40315). [#40636](https://github.com/ClickHouse/ClickHouse/pull/40636) ([Kruglov Pavel](https://github.com/Avogar)).
* تعطيل الإسقاط عند استخدام مجموعة التجميع، إذ كان يولّد نتيجة خاطئة. ويصلح هذا [#40635](https://github.com/ClickHouse/ClickHouse/issues/40635). [#40726](https://github.com/ClickHouse/ClickHouse/pull/40726) ([Amos Bird](https://github.com/amosbird)).
* إصلاح التنسيق غير الصحيح لمحوّل الأعمدة `APPLY`، والذي قد يؤدي إلى إتلاف البيانات الوصفية إذا استُخدم في تعريف الجدول. يُصلح هذا [#37590](https://github.com/ClickHouse/ClickHouse/issues/37590). [#40727](https://github.com/ClickHouse/ClickHouse/pull/40727) ([Amos Bird](https://github.com/amosbird)).
* دعم الواصف `%z` لتنسيق إزاحة المنطقة الزمنية في `formatDateTime`. [#40736](https://github.com/ClickHouse/ClickHouse/pull/40736) ([Cory Levy](https://github.com/LevyCory)).
* أصبح الوضع التفاعلي في `clickhouse-client` يفسّر الآن `.` و`/` على أنهما "تشغيل الأمر الأخير". [#40750](https://github.com/ClickHouse/ClickHouse/pull/40750) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح مشكلة في تمرير مهلات MySQL إلى محرك قاعدة بيانات MySQL ودالة جدول MySQL. يُغلق هذا [#34168](https://github.com/ClickHouse/ClickHouse/issues/34168). [#40751](https://github.com/ClickHouse/ClickHouse/pull/40751) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إنشاء ملف status لدليل filesystem cache للتأكد من عدم مشاركة أدلة cache بين خوادم أو caches مختلفة. [#40820](https://github.com/ClickHouse/ClickHouse/pull/40820) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة دعم `DELETE` و`UPDATE` إلى التخزين `EmbeddedRocksDB`. [#40853](https://github.com/ClickHouse/ClickHouse/pull/40853) ([Antonio Andelic](https://github.com/antonio2368)).
* ClickHouse Keeper: إصلاح الإيقاف أثناء commit طويل وزيادة الحجم المسموح به للطلبات. [#40941](https://github.com/ClickHouse/ClickHouse/pull/40941) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح حالة تسابق في WriteBufferFromS3، وإضافة annotations الخاصة بـ TSA. [#40950](https://github.com/ClickHouse/ClickHouse/pull/40950) ([Kseniia Sumarokova](https://github.com/kssenii)).
* يجب أن تحوّل مجموعات التجميع مع group\_by\_use\_nulls الأعمدة المفتاحية فقط إلى Nullable. [#40997](https://github.com/ClickHouse/ClickHouse/pull/40997) ([Duc Canh Le](https://github.com/canhld94)).
* تحسين قابلية الرصد لعمليات INSERT على distributed table. [#41034](https://github.com/ClickHouse/ClickHouse/pull/41034) ([Frank Chen](https://github.com/FrankChen021)).
* المزيد من المقاييس منخفضة المستوى للتفاعل مع S3. [#41039](https://github.com/ClickHouse/ClickHouse/pull/41039) ([mateng915](https://github.com/mateng0915)).
* دعم المسار النسبي في ترويسة Location بعد إعادة توجيه HTTP. يُغلق هذا [#40985](https://github.com/ClickHouse/ClickHouse/issues/40985). [#41162](https://github.com/ClickHouse/ClickHouse/pull/41162) ([Kruglov Pavel](https://github.com/Avogar)).
* تطبيق التغييرات على معالجات HTTP مباشرةً دون إعادة تشغيل الخادم. [#41177](https://github.com/ClickHouse/ClickHouse/pull/41177) ([Azat Khuzhin](https://github.com/azat)).
* ClickHouse Keeper: إغلاق الجلسات النشطة بشكل صحيح أثناء الإيقاف. [#41215](https://github.com/ClickHouse/ClickHouse/pull/41215) ([Antonio Andelic](https://github.com/antonio2368)). يقلّل هذا من مدة أخطاء "الجدول للقراءة فقط".
* إضافة إمكانية التعليق التلقائي على استعلامات SQL في clickhouse-client/local (باستخدام `Alt-#`، كما في readline). [#41224](https://github.com/ClickHouse/ClickHouse/pull/41224) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح عدم توافق cache بعد تبديل الإعداد `do_no_evict_index_and_mark_files` من 1 إلى 0 أو من 0 إلى 1. [#41330](https://github.com/ClickHouse/ClickHouse/pull/41330) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيف الإعداد `allow_suspicious_fixed_string_types` لمنع المستخدمين من إنشاء أعمدة من النوع FixedString بحجم يزيد على 256. [#41495](https://github.com/ClickHouse/ClickHouse/pull/41495) ([Duc Canh Le](https://github.com/canhld94)).
* أُضيف `has_lightweight_delete` إلى system.parts. [#41564](https://github.com/ClickHouse/ClickHouse/pull/41564) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="buildtestingpackaging-improvement-3">
  #### تحسينات في البناء والاختبار والتحزيم
</div>

* فرض توثيق لكل إعداد. [#40644](https://github.com/ClickHouse/ClickHouse/pull/40644) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* فرض توثيق لكل مقياس حالي. [#40645](https://github.com/ClickHouse/ClickHouse/pull/40645) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* فرض توثيق لكل عدّاد أحداث profile، وكتابة التوثيق حيثما كان مفقودًا. [#40646](https://github.com/ClickHouse/ClickHouse/pull/40646) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إتاحة إنشاء بنية مصغّرة من `clickhouse-local` عبر تصحيح بعض الاعتماديات. [#40460](https://github.com/ClickHouse/ClickHouse/pull/40460) ([Alexey Milovidov](https://github.com/alexey-milovidov)). ويبلغ حجمها أقل من 50 MiB.
* حساب تغطية دوال SQL في الاختبارات والإبلاغ عنها. [#40593](https://github.com/ClickHouse/ClickHouse/issues/40593). [#40647](https://github.com/ClickHouse/ClickHouse/pull/40647) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* فرض توثيق لكل إعداد من إعدادات MergeTree. [#40648](https://github.com/ClickHouse/ClickHouse/pull/40648) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* نموذج أولي لتوثيق مرجعي مضمّن لمكوّنات الخادم عالية المستوى والموحّدة. [#40649](https://github.com/ClickHouse/ClickHouse/pull/40649) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* سنتحقق من جميع الاستعلامات في اختبارات الأداء المعدّلة لضمان اختبار جميع الاستعلامات التي تغيّرت. [#40322](https://github.com/ClickHouse/ClickHouse/pull/40322) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح حزم TGZ. [#40681](https://github.com/ClickHouse/ClickHouse/pull/40681) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إصلاح رموز التنقيح. [#40873](https://github.com/ClickHouse/ClickHouse/pull/40873) ([Azat Khuzhin](https://github.com/azat)).
* توسيع إعدادات CI لإنشاء بنية x86 تدعم SSE2 فقط. وهذا مفيد للأجهزة القديمة أو المضمّنة. [#40999](https://github.com/ClickHouse/ClickHouse/pull/40999) ([Robert Schulze](https://github.com/rschu1ze)).
* التحويل إلى llvm/clang 15. [#41046](https://github.com/ClickHouse/ClickHouse/pull/41046) ([Azat Khuzhin](https://github.com/azat)).
* استكمال لـ [#40938](https://github.com/ClickHouse/ClickHouse/issues/40938). إصلاح انتهاك ODR للفئة `Loggers`. ويعالج [#40398](https://github.com/ClickHouse/ClickHouse/issues/40398)، [#40937](https://github.com/ClickHouse/ClickHouse/issues/40937). [#41060](https://github.com/ClickHouse/ClickHouse/pull/41060) ([Dmitry Novik](https://github.com/novikd)).
* إضافة الملفات التنفيذية الخاصة بـ macOS إلى أصول إصدار GitHub، ما يُصلح [#37718](https://github.com/ClickHouse/ClickHouse/issues/37718). [#41088](https://github.com/ClickHouse/ClickHouse/pull/41088) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* أصبحت مكتبة c-ares الآن مضمّنة في نظام بناء ClickHouse. [#41239](https://github.com/ClickHouse/ClickHouse/pull/41239) ([Robert Schulze](https://github.com/rschu1ze)).
* التخلّص من `dlopen` في الشيفرة الرئيسية لـ ClickHouse. ولا يزال موجودًا في library-bridge و odbc-bridge. [#41428](https://github.com/ClickHouse/ClickHouse/pull/41428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* عدم السماح باستخدام `dlopen` في الملف التنفيذي الرئيسي لـ ClickHouse، لأنه مضر وغير آمن. نحن لا نستخدمه. لكن قد تستخدمه بعض المكتبات لتنفيذ "الإضافات". ونحن نثني بشدة عن الأسلوب القديم المتمثل في تحميل مكتبات خطِرة وغير خاضعة للرقابة من جهات خارجية إلى مساحة عناوين العملية، لأن ذلك تصرّف غير معقول. [#41429](https://github.com/ClickHouse/ClickHouse/pull/41429) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة الحقل `source` إلى حزم deb، وتحديث `nfpm`. [#41531](https://github.com/ClickHouse/ClickHouse/pull/41531) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* دعم DWARF-5 في محلل DWARF الداخلي. [#40710](https://github.com/ClickHouse/ClickHouse/pull/40710) ([Azat Khuzhin](https://github.com/azat)).
* إضافة حقن الأعطال إلى عميل ZooKeeper لأغراض الاختبار [#30498](https://github.com/ClickHouse/ClickHouse/pull/30498) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إضافة اختبارات عديمة الحالة مع تخزين S3 باستخدام debug و tsan [#35262](https://github.com/ClickHouse/ClickHouse/pull/35262) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تجربة اختبارات الضغط على S3 [#36837](https://github.com/ClickHouse/ClickHouse/pull/36837) ([alesapin](https://github.com/alesapin)).
* تفعيل `concurrency-mt-unsafe` في `clang-tidy` [#40224](https://github.com/ClickHouse/ClickHouse/pull/40224) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix">
  #### إصلاح الأخطاء
</div>

* إصلاح احتمال فقدان البيانات بسبب [خلل في AWS SDK](https://github.com/aws/aws-sdk-cpp/issues/658). لا يظهر هذا الخلل إلا عند استخدام ClickHouse عبر S3. [#40506](https://github.com/ClickHouse/ClickHouse/pull/40506) ([alesapin](https://github.com/alesapin)). ظل هذا الخلل مفتوحًا لمدة 5 سنوات في AWS SDK، وأُغلق بعد بلاغنا.
* قد تتسبب البيانات الخبيثة بتنسيق Native في حدوث تعطل. [#41441](https://github.com/ClickHouse/ClickHouse/pull/41441) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* كانت خصائص الدالة التجميعية `categorialInformationValue` معرّفة على نحو غير صحيح، ما قد يؤدي إلى فكّ إشارة مؤشر فارغ وقت التشغيل. ويغلق هذا [#41443](https://github.com/ClickHouse/ClickHouse/issues/41443). [#41449](https://github.com/ClickHouse/ClickHouse/pull/41449) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* قد تؤدي كتابة البيانات بتنسيق Apache `ORC` إلى تجاوز سعة المخزن المؤقت. [#41458](https://github.com/ClickHouse/ClickHouse/pull/41458) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح مشكلات سلامة الذاكرة في الدالتين `encrypt` و`contingency` عند استخدام `Array` من `Nullable` كوسيطة. ويصلح هذا [#41004](https://github.com/ClickHouse/ClickHouse/issues/41004). [#40195](https://github.com/ClickHouse/ClickHouse/pull/40195) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح أخطاء في MergeJoin عندما لا تكون 'not\_processed' بقيمة NULL. [#40335](https://github.com/ClickHouse/ClickHouse/pull/40335) ([liql2007](https://github.com/liql2007)).
* إصلاح النتائج غير الصحيحة في حالة فقدان الدقة العشرية في المعامل IN، راجع [#41125](https://github.com/ClickHouse/ClickHouse/issues/41125). [#41130](https://github.com/ClickHouse/ClickHouse/pull/41130) ([Vladimir C](https://github.com/vdimir)).
* إصلاح ملء أعمدة `Nested` المفقودة ذات المستويات المتعددة. [#37152](https://github.com/ClickHouse/ClickHouse/pull/37152) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الاستعلام SYSTEM UNFREEZE لقاعدة البيانات Ordinary (Deprecated). إصلاح لـ [https://github.com/ClickHouse/ClickHouse/pull/36424](https://github.com/ClickHouse/ClickHouse/pull/36424). [#38262](https://github.com/ClickHouse/ClickHouse/pull/38262) ([Vadim Volodin](https://github.com/PolyProgrammist)).
* إصلاح الأعمدة المجهولة غير المستخدمة التي أدخلتها عبارة WITH. ويصلح هذا [#37812](https://github.com/ClickHouse/ClickHouse/issues/37812) . [#39131](https://github.com/ClickHouse/ClickHouse/pull/39131) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تحليل الاستعلام لعبارة ORDER BY عند وجود دوال النوافذ. يصلح [#38741](https://github.com/ClickHouse/ClickHouse/issues/38741) ويصلح [#24892](https://github.com/ClickHouse/ClickHouse/issues/24892). [#39354](https://github.com/ClickHouse/ClickHouse/pull/39354) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح استثناء `Unknown identifier (aggregate-function)` الذي يظهر عندما يحاول المستخدم حساب تعبيرات WINDOW ORDER BY/PARTITION BY على الدوال التجميعية. [#39762](https://github.com/ClickHouse/ClickHouse/pull/39762) ([Vladimir Chebotaryov](https://github.com/quickhouse)).
* تقييد عدد مرات التحليل للاستعلام الواحد باستخدام الإعداد `max_analyze_depth`. يمنع ذلك التضخم الأسي في وقت التحليل للاستعلامات التي تحتوي على عدد هائل من الاستعلامات الفرعية. [#40334](https://github.com/ClickHouse/ClickHouse/pull/40334) ([Vladimir C](https://github.com/vdimir)).
* إصلاح خلل نادر في TTL الأعمدة لعائلة محركات MergeTree: في حال تكرار vertical merge، قد يظهر الخطأ `Cannot unlink file ColumnName.bin ... No such file or directory.`. [#40346](https://github.com/ClickHouse/ClickHouse/pull/40346) ([alesapin](https://github.com/alesapin)).
* استخدم سجلات DNS لكلٍّ من IPv4 وIPv6 إذا كانت موجودة. [#40353](https://github.com/ClickHouse/ClickHouse/pull/40353) ([Maksim Kita](https://github.com/kitaisreal)).
* السماح بقراءة الملفات المضغوطة بـ snappy من Hadoop. [#40482](https://github.com/ClickHouse/ClickHouse/pull/40482) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تعطل أثناء تحليل قيم من النوع `Object` (ميزة تجريبية) تحتوي على مصفوفات ذات أبعاد متغيرة. [#40483](https://github.com/ClickHouse/ClickHouse/pull/40483) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح الإعداد `input_format_tsv_skip_first_lines`. [#40491](https://github.com/ClickHouse/ClickHouse/pull/40491) ([mini4](https://github.com/mini4)).
* إصلاح خطأ (حالة سباق) عند بدء تشغيل محرك قاعدة البيانات/الجدول MaterializedPostgreSQL. [#40262](https://github.com/ClickHouse/ClickHouse/issues/40262). وإصلاح خطأ عند بلوغ الحد الأقصى لفتحات relcache\_callback\_list. [#40511](https://github.com/ClickHouse/ClickHouse/pull/40511) ([Maksim Buren](https://github.com/maks-buren630501)).
* إصلاح الخطأ المحتمل 'Decimal math overflow' أثناء تحليل DateTime64. [#40546](https://github.com/ClickHouse/ClickHouse/pull/40546) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الدمج العمودي للأجزاء التي تحتوي على صفوف محذوفة بحذف خفيف. [#40559](https://github.com/ClickHouse/ClickHouse/pull/40559) ([Alexander Gololobov](https://github.com/davenger)).
* إصلاح خطأ segmentation fault عند كتابة البيانات إلى محرك الجدول URL إذا كان الضغط مفعّلًا. [#40565](https://github.com/ClickHouse/ClickHouse/pull/40565) ([Frank Chen](https://github.com/FrankChen021)).
* إصلاح الخطأ المنطقي المحتمل `'Invalid Field get from type UInt64 to type String'` في الدالة arrayElement مع Map. [#40572](https://github.com/ClickHouse/ClickHouse/pull/40572) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح حالة سباق محتملة في filesystem cache. [#40586](https://github.com/ClickHouse/ClickHouse/pull/40586) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إزالة تخطي الـ mutations في الأقسام غير المتأثرة من جداول `MergeTree`، لأن هذه الميزة لم تعمل قط بشكل صحيح وقد تتسبب في إحياء mutations المكتملة من جديد. [#40589](https://github.com/ClickHouse/ClickHouse/pull/40589) ([Alexander Tokmakov](https://github.com/tavplubix)).
* سيتعطل خادم ClickHouse إذا أضفنا أثناء وقت التشغيل منفذ GRPC مشغولًا بالفعل إلى الإعداد. [#40597](https://github.com/ClickHouse/ClickHouse/pull/40597) ([何李夫](https://github.com/helifu)).
* إصلاح تعامل `base58Encode / base58Decode` مع الصفر البادئ / '1'. [#40620](https://github.com/ClickHouse/ClickHouse/pull/40620) ([Andrey Zvonov](https://github.com/zvonand)).
* keeper-fix: إصلاح حالة سباق عند الوصول إلى السجلات أثناء تثبيت snapshot. [#40627](https://github.com/ClickHouse/ClickHouse/pull/40627) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح التنفيذ قصير المسار للدالة toFixedString. يحلّ هذا (جزئيًا) [#40622](https://github.com/ClickHouse/ClickHouse/issues/40622). [#40628](https://github.com/ClickHouse/ClickHouse/pull/40628) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تحويل عمود SQLite من int8 إلى عمود int64 في ClickHouse. يعالج [#40639](https://github.com/ClickHouse/ClickHouse/issues/40639). [#40642](https://github.com/ClickHouse/ClickHouse/pull/40642) ([Barum Rho](https://github.com/barumrho)).
* إصلاح تجاوز سعة المكدس في جداول `Buffer` التكرارية. هذا يغلق [#40637](https://github.com/ClickHouse/ClickHouse/issues/40637). [#40643](https://github.com/ClickHouse/ClickHouse/pull/40643) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أثناء إدراج استعلام جديد في `ProcessList` تحدث عمليات تخصيص للذاكرة. وإذا وصلنا إلى حد الذاكرة أثناء هذه العمليات، فلا يمكن استخدام `OvercommitTracker` لأن `ProcessList::mutex` يكون قد تم الاستحواذ عليه بالفعل. يُصلح [#40611](https://github.com/ClickHouse/ClickHouse/issues/40611). [#40677](https://github.com/ClickHouse/ClickHouse/pull/40677) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح LOGICAL\_ERROR مع max\_read\_buffer\_size=0 أثناء قراءة marks. [#40705](https://github.com/ClickHouse/ClickHouse/pull/40705) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تسرّب للذاكرة أثناء الدفع إلى MVs بدون سياق استعلام (من Kafka/...). [#40732](https://github.com/ClickHouse/ClickHouse/pull/40732) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الخطأ المحتمل Attempt to read after eof أثناء schema inference في CSV. [#40746](https://github.com/ClickHouse/ClickHouse/pull/40746) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خطأ منطقي في write-through cache: "File segment completion can be done only by downloader". يُغلق [#40748](https://github.com/ClickHouse/ClickHouse/issues/40748). [#40759](https://github.com/ClickHouse/ClickHouse/pull/40759) ([Kseniia Sumarokova](https://github.com/kssenii)).
* جعل نتيجة الدالة GROUPING مطابقة لما هي عليه في SQL وأنظمة إدارة قواعد البيانات الأخرى. [#40762](https://github.com/ClickHouse/ClickHouse/pull/40762) ([Dmitry Novik](https://github.com/novikd)).
* في [#40595](https://github.com/ClickHouse/ClickHouse/issues/40595)، تم الإبلاغ عن أن وظيفة `host_regexp` لم تكن تعمل بشكل صحيح مع تحليل الاسم إلى عنوان في `/etc/hosts`. وقد تم إصلاح ذلك. [#40769](https://github.com/ClickHouse/ClickHouse/pull/40769) ([Arthur Passos](https://github.com/arthurpassos)).
* إصلاح النسخ الاحتياطية التزايدية لعائلة Log. [#40827](https://github.com/ClickHouse/ClickHouse/pull/40827) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح خلل نادر للغاية قد يؤدي إلى فقدان محتمل للبيانات في zero-copy replication. [#40844](https://github.com/ClickHouse/ClickHouse/pull/40844) ([alesapin](https://github.com/alesapin)).
* إصلاح أعطال تحليل شرط المفتاح عند إنشاء تعبير set نفسه من عمود أو أعمدة مختلفة. [#40850](https://github.com/ClickHouse/ClickHouse/pull/40850) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح schema inference لكائنات JSON المتداخلة. [#40851](https://github.com/ClickHouse/ClickHouse/pull/40851) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح عدم حذف الدليل ذي البادئة المكوّنة من 3 أرقام لملفات filesystem cache إذا كان فارغًا. يُغلق [#40797](https://github.com/ClickHouse/ClickHouse/issues/40797). [#40867](https://github.com/ClickHouse/ClickHouse/pull/40867) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح DNS\_ERROR غير المُعالَج عند فشل الاتصال بالنسخ المتماثلة. [#40881](https://github.com/ClickHouse/ClickHouse/pull/40881) ([Robert Coelho](https://github.com/coelho)).
* إصلاح خلل عند إزالة الأعمدة غير اللازمة في استعلام فرعي. [#40884](https://github.com/ClickHouse/ClickHouse/pull/40884) ([luocongkai](https://github.com/TKaxe)).
* إصلاح تخصيص إضافي للذاكرة لمخازن القراءة المؤقتة البعيدة. [#40896](https://github.com/ClickHouse/ClickHouse/pull/40896) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تم إصلاح سلوك كان يسمح لمستخدم سُحبت منه صلاحية حذف قواعد البيانات صراحةً بأن يظل قادرًا على حذفها. [#40906](https://github.com/ClickHouse/ClickHouse/pull/40906) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح لـ ClickHouse Keeper: مقارنة المسارات بشكل صحيح في write requests مع مسارات عُقد النظام الداخلية في Keeper. [#40918](https://github.com/ClickHouse/ClickHouse/pull/40918) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح حالة deadlock في WriteBufferFromS3. [#40943](https://github.com/ClickHouse/ClickHouse/pull/40943) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح access rights لـ `DESCRIBE TABLE url()` وبعض حالات `DESCRIBE TABLE <table_function>()` الأخرى. [#40975](https://github.com/ClickHouse/ClickHouse/pull/40975) ([Vitaly Baranov](https://github.com/vitlibar)).
* إزالة منطق parser خاطئ لـ `WITH GROUPING SETS` قد يؤدي إلى dereference لمؤشر nullptr. [#41049](https://github.com/ClickHouse/ClickHouse/pull/41049) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح لـ ClickHouse Keeper: إصلاح segfault محتمل أثناء إيقاف Keeper. [#41075](https://github.com/ClickHouse/ClickHouse/pull/41075) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح حالات segfault محتملة، واستخدام الذاكرة بعد تحريرها، وتسرّب الذاكرة في aggregate function combinators. يُغلق [#40848](https://github.com/ClickHouse/ClickHouse/issues/40848). [#41083](https://github.com/ClickHouse/ClickHouse/pull/41083) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح query\_views\_log مع Window views. [#41132](https://github.com/ClickHouse/ClickHouse/pull/41132) ([Raúl Marín](https://github.com/Algunenano)).
* تعطيل optimize\_monotonous\_functions\_in\_order\_by افتراضيًا، للتخفيف من: [#40094](https://github.com/ClickHouse/ClickHouse/issues/40094). [#41136](https://github.com/ClickHouse/ClickHouse/pull/41136) ([Denny Crane](https://github.com/den-crane)).
* إصلاح الخطأ "possible deadlock avoided" عند التحويل التلقائي لـ database engine من Ordinary إلى Atomic. [#41146](https://github.com/ClickHouse/ClickHouse/pull/41146) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح SIGSEGV في SortedBlocksWriter عند وجود block فارغة (وقد يحدث ذلك مع `optimize_aggregation_in_order` و `join_algorithm=auto`). [#41154](https://github.com/ClickHouse/ClickHouse/pull/41154) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح نتيجة query غير صحيحة عندما يكون تحسين العدّ البسيط مفعّلًا مع ARRAY JOIN. هذا يصلح [#39431](https://github.com/ClickHouse/ClickHouse/issues/39431). [#41158](https://github.com/ClickHouse/ClickHouse/pull/41158) ([Denny Crane](https://github.com/den-crane)).
* إصلاح stack-use-after-return في GetPriorityForLoadBalancing::getPriorityFunc(). [#41159](https://github.com/ClickHouse/ClickHouse/pull/41159) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح استثناء positional arguments ‏Positional argument out of bounds. يُغلق [#40634](https://github.com/ClickHouse/ClickHouse/issues/40634). [#41189](https://github.com/ClickHouse/ClickHouse/pull/41189) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح التنظيف في الخلفية لـ broken detached parts. [#41190](https://github.com/ClickHouse/ClickHouse/pull/41190) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح query rewrite الأسي في حالة وجود عدد كبير من CROSS JOIN مع where، وإغلاق [#21557](https://github.com/ClickHouse/ClickHouse/issues/21557). [#41223](https://github.com/ClickHouse/ClickHouse/pull/41223) ([Vladimir C](https://github.com/vdimir)).
* إصلاح خطأ منطقي محتمل في `write-through cache`، وكان يحدث لأن بعض أنواع الاستثناءات لم تكن تُعالَج كما ينبغي. يغلق [#41208](https://github.com/ClickHouse/ClickHouse/issues/41208). [#41232](https://github.com/ClickHouse/ClickHouse/pull/41232) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح Log entry من نوع String في `system.filesystem&#95;cache&#95;log`. [#41233](https://github.com/ClickHouse/ClickHouse/pull/41233) ([jmimbrero](https://github.com/josemimbrero-tinybird)).
* قد تُرجِع الاستعلامات التي تتضمن عبارة `OFFSET` في استعلام فرعي وعبارة `WHERE` في الاستعلام الخارجي نتائج غير صحيحة، وقد تم إصلاح ذلك. يُصلح [#40416](https://github.com/ClickHouse/ClickHouse/issues/40416). [#41280](https://github.com/ClickHouse/ClickHouse/pull/41280) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح احتمال إرجاع نتيجة استعلام غير صحيحة عند تمكين `query_plan_optimize_primary_key`. يُصلح [#40599](https://github.com/ClickHouse/ClickHouse/issues/40599). [#41281](https://github.com/ClickHouse/ClickHouse/pull/41281) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* منع التسلسلات غير الصالحة من التأثير في الصفوف الأخرى في `lowerUTF8/upperUTF8`. [#41286](https://github.com/ClickHouse/ClickHouse/pull/41286) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح استعلامات `ALTER <table> ADD COLUMN` مع الأعمدة من النوع `Object`. [#41290](https://github.com/ClickHouse/ClickHouse/pull/41290) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الخطأ "No node" عند التحديد من `system.distributed_ddl_queue` في حال عدم وجود `distributed_ddl.path` في config. يُصلح [#41096](https://github.com/ClickHouse/ClickHouse/issues/41096). [#41296](https://github.com/ClickHouse/ClickHouse/pull/41296) ([young scott](https://github.com/young-scott)).
* إصلاح الخطأ المنطقي غير الصحيح `Expected relative path` في disk object storage. ذو صلة بـ [#41246](https://github.com/ClickHouse/ClickHouse/issues/41246). [#41297](https://github.com/ClickHouse/ClickHouse/pull/41297) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة تحقّق من نوع العمود قبل إدراج UUID بتنسيق MsgPack. [#41309](https://github.com/ClickHouse/ClickHouse/pull/41309) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تعطل محتمل بعد الإدراج غير المتزامن (مع تمكين الإعداد `async_insert`) لبيانات غير سليمة إلى أعمدة من النوع `Object`. وكان يمكن أن يحدث ذلك إذا كانت ملفات JSON في جميع دفعات async inserts غير صالحة وتعذّر parse لها. [#41336](https://github.com/ClickHouse/ClickHouse/pull/41336) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح حالة توقف متبادل محتملة مع `async&#95;socket&#95;for&#95;remote/use&#95;hedged&#95;requests` و`KILL` المتوازي. [#41343](https://github.com/ClickHouse/ClickHouse/pull/41343) ([Azat Khuzhin](https://github.com/azat)).
* تعطيل `optimize&#95;rewrite&#95;sum&#95;if&#95;to&#95;count&#95;if` افتراضيًا للتخفيف من: [#38605](https://github.com/ClickHouse/ClickHouse/issues/38605) [#38683](https://github.com/ClickHouse/ClickHouse/issues/38683). [#41388](https://github.com/ClickHouse/ClickHouse/pull/41388) ([Denny Crane](https://github.com/den-crane)).
* منذ الإصدار 22.8، يتم تجاهل العبارة `ON CLUSTER` إذا كانت قاعدة البيانات من نوع `Replicated` وكان اسم العنقود واسم قاعدة البيانات متطابقين. وبسبب ذلك، كانت `DROP PARTITION ON CLUSTER` تعمل بطريقة غير متوقعة مع `Replicated`. وقد أُصلح هذا الأمر، وأصبحت العبارة `ON CLUSTER` الآن تُتجاهل فقط للاستعلامات التي يجري تكرارها على مستوى قاعدة البيانات. يُصلح [#41299](https://github.com/ClickHouse/ClickHouse/issues/41299). [#41390](https://github.com/ClickHouse/ClickHouse/pull/41390) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح احتمال حدوث تعليق أو توقف متبادل عند إلغاء الاستعلام (`KILL QUERY` أو إيقاف الخادم). [#41467](https://github.com/ClickHouse/ClickHouse/pull/41467) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح احتمال تعطل الخادم عند استخدام ميزة JBOD. وهذا يُصلح [#41365](https://github.com/ClickHouse/ClickHouse/issues/41365). [#41483](https://github.com/ClickHouse/ClickHouse/pull/41483) ([Amos Bird](https://github.com/amosbird)).
* إصلاح التحويل من fixed string قابل للقيم NULL إلى string. [#41541](https://github.com/ClickHouse/ClickHouse/pull/41541) ([Duc Canh Le](https://github.com/canhld94)).
* منع التعطل عند تمرير حالات aggregation غير صحيحة إلى groupBitmap\*. [#41563](https://github.com/ClickHouse/ClickHouse/pull/41563) ([Raúl Marín](https://github.com/Algunenano)).
* كان يمكن أن تُرجع الاستعلامات التي تحتوي على `ORDER BY` و `1500 <= LIMIT <= max_block_size` نتائج غير صحيحة مع فقدان بعض الصفوف من البداية. يُصلح [#41182](https://github.com/ClickHouse/ClickHouse/issues/41182). [#41576](https://github.com/ClickHouse/ClickHouse/pull/41576) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح عدد البايتات/الصفوف المقروءة في X-ClickHouse-Summary مع العروض المادية. [#41586](https://github.com/ClickHouse/ClickHouse/pull/41586) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح احتمال ظهور استثناء `pipeline stuck` في الاستعلامات التي تحتوي على `OFFSET`. تم العثور على الخطأ عند استخدام `enable_optimize_predicate_expression = 0` مع شرط يكون false دائمًا في `WHERE`. يُصلح [#41383](https://github.com/ClickHouse/ClickHouse/issues/41383). [#41588](https://github.com/ClickHouse/ClickHouse/pull/41588) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

### <a id="228" /> إصدار ClickHouse 22.8، بتاريخ 2022-08-18. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.8/)، [الفيديو](https://www.youtube.com/watch?v=yob7AnaBJz0)

<Frame>
  <iframe src="https://www.youtube.com/embed/yob7AnaBJz0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* وُسِّع نطاق `Date32` و`DateTime64` لدعم التواريخ من عام 1900 إلى 2299. في الإصدارات السابقة، كان النطاق المدعوم يقتصر على الفترة من عام 1925 إلى 2283 فقط. يعتمد التنفيذ على التقويم الغريغوري الممتد (المتوافق مع [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601):2004 (البند 3.2.1: التقويم الغريغوري)) بدلًا من مراعاة التحولات التاريخية من التقويم اليولياني إلى التقويم الغريغوري. يؤثر هذا التغيير في السلوك المرتبط بالتنفيذ للوسائط الخارجة عن النطاق. على سبيل المثال، إذا كانت القيمة `1899-01-01` في الإصدارات السابقة تُثبَّت عند `1925-01-01`، ففي الإصدار الجديد ستُثبَّت عند `1900-01-01`. كما يغيّر سلوك التقريب باستخدام `toStartOfInterval` عند تمرير `INTERVAL 3 QUARTER` بمقدار قد يصل إلى ربع سنة واحد، لأن الفواصل الزمنية تُحتسب انطلاقًا من نقطة زمنية خاصة بالتنفيذ. يغلق [#28216](https://github.com/ClickHouse/ClickHouse/issues/28216)، ويحسّن [#38393](https://github.com/ClickHouse/ClickHouse/issues/38393). [#39425](https://github.com/ClickHouse/ClickHouse/pull/39425) ([Roman Vasin](https://github.com/rvasin)).
* الآن، تراعي جميع مصادر القواميس ذات الصلة الإعداد `remote_url_allow_hosts`. وكان ذلك مطبقًا بالفعل على HTTP وCassandra وRedis. وأُضيف الآن ClickHouse وMongoDB وMySQL وPostgreSQL. ولا يُتحقق من المضيف إلا للقواميس المُنشأة من DDL. [#39184](https://github.com/ClickHouse/ClickHouse/pull/39184) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تتطلب الآن ثنائيات ClickHouse الجاهزة مسبقًا لمعمارية x86 دعم تعليمات AVX، أي معالج CPU ليس أقدم من Intel Sandy Bridge / AMD Bulldozer، وكلاهما صدر في عام 2011. [#39000](https://github.com/ClickHouse/ClickHouse/pull/39000) ([Robert Schulze](https://github.com/rschu1ze)).
* جُعلت ذاكرة التخزين المؤقت لنظام الملفات البعيد قابلة للتركيب، مع السماح بالاحتفاظ ببعض الملفات دون إخلائها (مثل idx وmrk و..)، وحذف الإصدار القديم من ذاكرة التخزين المؤقت. وأصبح من الممكن الآن تهيئة ذاكرة تخزين مؤقت فوق قرص Azure blob storage، أو فوق قرص محلي، أو فوق قرص StaticWeb، وغير ذلك. وصُنّف هذا PR بأنه غير متوافق مع الإصدارات السابقة لأن تهيئة ذاكرة التخزين المؤقت تغيّرت، ولا بد من تحديث ملف الإعدادات لكي تعمل. وستظل ذاكرة التخزين المؤقت القديمة مستخدمة مع التهيئة الجديدة. كما سيبدأ الخادم بصورة سليمة باستخدام تهيئة ذاكرة التخزين المؤقت القديمة. يغلق [https://github.com/ClickHouse/ClickHouse/issues/36140](https://github.com/ClickHouse/ClickHouse/issues/36140). يغلق [https://github.com/ClickHouse/ClickHouse/issues/37889](https://github.com/ClickHouse/ClickHouse/issues/37889). ([Kseniia Sumarokova](https://github.com/kssenii)). [#36171](https://github.com/ClickHouse/ClickHouse/pull/36171))

<div id="new-feature">
  #### ميزة جديدة
</div>

* دعم صياغة SQL القياسية `DELETE FROM` على جداول MergeTree، وتنفيذ الحذف خفيف الوزن لعائلة MergeTree. [#37893](https://github.com/ClickHouse/ClickHouse/pull/37893) ([Jianmei Zhang](https://github.com/zhangjmruc)) ([Alexander Gololobov](https://github.com/davenger)). ملاحظة: هذه الميزة الجديدة لا تجعل ClickHouse نظام HTAP DBMS.
* يمكن تعيين معاملات الاستعلام في الوضع التفاعلي بصيغة `SET param_abc = 'def'` ونقلها عبر البروتوكول الأصلي على هيئة إعدادات. [#39906](https://github.com/ClickHouse/ClickHouse/pull/39906) ([Nikita Taranov](https://github.com/nickitat)).
* يمكن تعيين مفتاح الحصة عبر البروتوكول الأصلي ([Yakov Olkhovsky](https://github.com/ClickHouse/ClickHouse/pull/39874)).
* أُضيف الإعداد `exact_rows_before_limit` ‏(0/1). عند تمكينه، سيوفّر ClickHouse قيمة دقيقة للإحصائية `rows_before_limit_at_least`، لكن مقابل الحاجة إلى قراءة البيانات السابقة للحد بالكامل. هذا يُغلق [#6613](https://github.com/ClickHouse/ClickHouse/issues/6613). [#25333](https://github.com/ClickHouse/ClickHouse/pull/25333) ([kevin wan](https://github.com/MaxWk)).
* أُضيف دعم لعمليات insert select الموزعة والمتوازية باستخدام table function ‏`s3Cluster` إلى الجداول التي تستخدم المحركين `Distributed` و`Replicated` [#34670](https://github.com/ClickHouse/ClickHouse/issues/34670). [#39107](https://github.com/ClickHouse/ClickHouse/pull/39107) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أُضيفت إعدادات جديدة للتحكم في استنتاج المخطط من التنسيقات النصية: - `input_format_try_infer_dates` - محاولة استنتاج التواريخ من السلاسل النصية. - `input_format_try_infer_datetimes` - محاولة استنتاج قيم DateTime من السلاسل النصية. - `input_format_try_infer_integers` - محاولة استنتاج `Int64` بدلًا من `Float64`. - `input_format_json_try_infer_numbers_from_strings` - محاولة استنتاج الأرقام من سلاسل JSON النصية في JSON formats. [#39186](https://github.com/ClickHouse/ClickHouse/pull/39186) ([Kruglov Pavel](https://github.com/Avogar)).
* خيار لتوفير مخرجات السجل بتنسيق JSON. والغرض منه تسهيل إدخال البيانات والاستعلام عنها في أدوات تحليل السجلات. [#39277](https://github.com/ClickHouse/ClickHouse/pull/39277) ([Mallik Hassan](https://github.com/SadiHassan)).
* أُضيفت الدالة `nowInBlock` التي تتيح الحصول على الوقت الحالي أثناء الاستعلامات الطويلة والمستمرة. يُغلق هذا [#39522](https://github.com/ClickHouse/ClickHouse/issues/39522). ملاحظات: لا توجد دالتا `now64InBlock` و`todayInBlock`. [#39533](https://github.com/ClickHouse/ClickHouse/pull/39533) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُضيفت إمكانية تحديد الإعدادات لـ table function ‏`executable()`. [#39681](https://github.com/ClickHouse/ClickHouse/pull/39681) ([Constantine Peresypkin](https://github.com/pkit)).
* نُفِّذ التحويل التلقائي لمحرك قاعدة البيانات من `Ordinary` إلى `Atomic`. أنشئ ملفًا فارغًا باسم `convert_ordinary_to_atomic` في الدليل `flags`، وستُحوَّل جميع قواعد بيانات `Ordinary` تلقائيًا عند بدء تشغيل الخادم في المرة التالية. يحل هذا [#39546](https://github.com/ClickHouse/ClickHouse/issues/39546). [#39933](https://github.com/ClickHouse/ClickHouse/pull/39933) ([Alexander Tokmakov](https://github.com/tavplubix)).
* دعم `SELECT ... INTO OUTFILE '...' AND STDOUT`. [#37490](https://github.com/ClickHouse/ClickHouse/issues/37490). [#39054](https://github.com/ClickHouse/ClickHouse/pull/39054) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* أُضيفت التنسيقات `PrettyMonoBlock`, `PrettyNoEscapesMonoBlock`, `PrettyCompactNoEscapes`, `PrettyCompactNoEscapesMonoBlock`, `PrettySpaceNoEscapes`, `PrettySpaceMonoBlock`, `PrettySpaceNoEscapesMonoBlock`. [#39646](https://github.com/ClickHouse/ClickHouse/pull/39646) ([Kruglov Pavel](https://github.com/Avogar)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تحسين استهلاك الذاكرة أثناء الدمج الموفّر للذاكرة لنتائج التجميع. [#39429](https://github.com/ClickHouse/ClickHouse/pull/39429) ([Nikita Taranov](https://github.com/nickitat)).
* أُضيف منطق للتحكم في التزامن للحد من العدد الإجمالي لخيوط التنفيذ المتزامنة التي تنشئها الاستعلامات. [#37558](https://github.com/ClickHouse/ClickHouse/pull/37558) ([Sergei Trifonov](https://github.com/serxa)). أُضيف المعامل `concurrent_threads_soft_limit parameter` لزيادة الأداء عند ارتفاع QPS من خلال تقييد العدد الإجمالي لخيوط التنفيذ لجميع الاستعلامات. [#37285](https://github.com/ClickHouse/ClickHouse/pull/37285) ([Roman Vasin](https://github.com/rvasin)).
* أُضيفت سياسة cache `SLRU` إلى uncompressed cache وmarks cache. ([Kseniia Sumarokova](https://github.com/kssenii)). [#34651](https://github.com/ClickHouse/ClickHouse/pull/34651) ([alexX512](https://github.com/alexX512)). فُصلت وظيفة cache المحلية عن خوارزمية cache [#38048](https://github.com/ClickHouse/ClickHouse/pull/38048) ([Han Shukai](https://github.com/KinderRiven)).
* Intel® In-Memory Analytics Accelerator (Intel® IAA) هو مسرّع عتادي متاح في الجيل القادم من معالجات Intel® Xeon® Scalable ("Sapphire Rapids"). يهدف إلى تسريع العمليات الشائعة في analytics، مثل ضغط البيانات وفك ضغطها والتصفية. حصل ClickHouse على compression codec جديد باسم "DeflateQpl" يستخدم تقنية الإسناد إلى Intel® IAA لتوفير تنفيذ DEFLATE عالي الأداء. ويستخدم هذا codec مكتبة [Intel® Query Processing Library (QPL)](https://github.com/intel/qpl) التي تجرّد الوصول إلى المسرّع العتادي، أو إلى بديل برمجي عند عدم توفر المسرّع العتادي. ويوفر DEFLATE عموماً معدلات ضغط أعلى من codec ‏LZ4 الافتراضي في ClickHouse، ونتيجة لذلك يقلل disk I/O واستهلاك الذاكرة الرئيسية. [#36654](https://github.com/ClickHouse/ClickHouse/pull/36654) ([jasperzhu](https://github.com/jinjunzh)). [#39494](https://github.com/ClickHouse/ClickHouse/pull/39494) ([Robert Schulze](https://github.com/rschu1ze)).
* `DISTINCT` مع `ORDER BY`: استنتاج طريقة الفرز استناداً إلى وصف فرز stream الإدخال. تخطَّ الفرز إذا كان stream الإدخال مفروزاً بالفعل. [#38719](https://github.com/ClickHouse/ClickHouse/pull/38719) ([Igor Nikonov](https://github.com/devcrafter)). تحسين استهلاك الذاكرة (بشكل ملحوظ) ووقت تنفيذ الاستعلام + استخدام `DistinctSortedChunkTransform` لإجراء distinct النهائي عندما تتطابق أعمدة `DISTINCT` مع أعمدة `ORDER BY`، مع إعادة تسميته إلى `DistinctSortedStreamTransform` في `EXPLAIN PIPELINE` → ما يحسّن استهلاك الذاكرة بشكل كبير + إزالة allocations غير الضرورية في الحلقة الساخنة في `DistinctSortedChunkTransform`. [#39432](https://github.com/ClickHouse/ClickHouse/pull/39432) ([Igor Nikonov](https://github.com/devcrafter)). استخدام `DistinctSortedTransform` فقط عندما يكون وصف الفرز قابلاً للتطبيق على أعمدة `DISTINCT`، وإلا فارجع إلى تنفيذ `DISTINCT` العادي + ما يتيح إجراء عدد أقل من checks أثناء تنفيذ `DistinctSortedTransform`. [#39528](https://github.com/ClickHouse/ClickHouse/pull/39528) ([Igor Nikonov](https://github.com/devcrafter)). إصلاح: لم يكن `DistinctSortedTransform` يستفيد من الفرز. ولم يكن يمسح `HashSet` أبداً لأن `clearing_columns` كُشف عنها بشكل غير صحيح (فارغة دائماً). لذلك كان يعمل عملياً مثل `DISTINCT` العادي (`DistinctTransform`). ويقلل هذا الإصلاح استهلاك الذاكرة بشكل كبير. [#39538](https://github.com/ClickHouse/ClickHouse/pull/39538) ([Igor Nikonov](https://github.com/devcrafter)).
* استخدام العقدة المحلية كأولوية أولى للحصول على structure الجدول البعيد عند تنفيذ `cluster` وtable functions المماثلة. [#39440](https://github.com/ClickHouse/ClickHouse/pull/39440) ([Mingliang Pan](https://github.com/liangliangpan)).
* تحسين التصفية حسب الأعمدة الرقمية باستخدام AVX512VBMI2 compress store. [#39633](https://github.com/ClickHouse/ClickHouse/pull/39633) ([Guo Wangyang](https://github.com/guowangy)). بالنسبة للأنظمة التي تدعم AVX512 VBMI2، يحسّن هذا PR الأداء بنحو 6% لاستعلامات اختبار الأداء SSB‏ 3.1 و3.2 و3.3 ‏(SF=100). اختُبر على Intel Icelake Xeon 8380 ‏\* 2 socket. [#40033](https://github.com/ClickHouse/ClickHouse/pull/40033) ([Robert Schulze](https://github.com/rschu1ze)).
* تحسين تحليل الفهارس باستخدام التعبيرات الدالية في سيناريو متعدد الخيوط. [#39812](https://github.com/ClickHouse/ClickHouse/pull/39812) ([Guo Wangyang](https://github.com/guowangy)).
* تحسينات للاستعلامات المعقدة: عدم زيارة AST الخاصة بـ UDFs إذا لم يكن أيٌّ منها مسجّلًا. [#40069](https://github.com/ClickHouse/ClickHouse/pull/40069) ([Raúl Marín](https://github.com/Algunenano)). تحسين عمليات alloc وfree في CurrentMemoryTracker. [#40078](https://github.com/ClickHouse/ClickHouse/pull/40078) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين ترميز/فك ترميز Base58. [#39292](https://github.com/ClickHouse/ClickHouse/pull/39292) ([Andrey Zvonov](https://github.com/zvonand)).
* تحسين تحويل قناع bytes إلى bits لـ SSE/AVX/AVX512. [#39586](https://github.com/ClickHouse/ClickHouse/pull/39586) ([Guo Wangyang](https://github.com/guowangy)).

<div id="improvement-3">
  #### تحسين
</div>

* طَبِّع أنواع `AggregateFunction` وتمثيلات الحالة، لأن تحسينات مثل [#35788](https://github.com/ClickHouse/ClickHouse/pull/35788) ستتعامل مع `count(not null columns)` على أنه `count()`، ما قد يربك Interpreters الموزعة ويؤدي إلى الخطأ التالي: `Conversion from AggregateFunction(count) to AggregateFunction(count, Int64) is not supported`. [#39420](https://github.com/ClickHouse/ClickHouse/pull/39420) ([Amos Bird](https://github.com/amosbird)). ويمكن استخدام الدوال ذات الحالات المتطابقة بالتبادل في materialized views.
* أُعيدت هيكلة جدول `system.backups` وتبسيطه، مع إزالة العمود `internal`، وإتاحة تعيين معرّف العملية للمستخدم، وإضافة الأعمدة `num_files` و`uncompressed_size` و`compressed_size` و`start_time` و`end_time`. [#39503](https://github.com/ClickHouse/ClickHouse/pull/39503) ([Vitaly Baranov](https://github.com/vitlibar)).
* تحسين بنية result table الخاصة بـ DDL query لقاعدة البيانات `Replicated` (فصل الأعمدة الخاصة باسم shard واسم replica، وتوضيح الحالة بشكل أفضل) - يمكن أولًا تطبيع استعلامات `CREATE TABLE ... ON CLUSTER` على initiator إذا كانت `distributed_ddl_entry_format_version` مضبوطة على 3 (default value). وهذا يعني أن استعلامات `ON CLUSTER` قد لا تعمل إذا كان initiator لا ينتمي إلى cluster المحدد في الاستعلام. إصلاح [#37318](https://github.com/ClickHouse/ClickHouse/issues/37318)، [#39500](https://github.com/ClickHouse/ClickHouse/issues/39500) - تجاهل عبارة `ON CLUSTER` إذا كانت قاعدة البيانات `Replicated` وكان اسم cluster مساويًا لاسم قاعدة البيانات. ذو صلة بـ [#35570](https://github.com/ClickHouse/ClickHouse/issues/35570) - إصلاحات طفيفة متنوعة لمحرك قاعدة البيانات `Replicated` - التحقق من اتساق metadata عند بدء تشغيل قاعدة البيانات `Replicated`، وبدء recovery للـ replica عند عدم تطابق metadata المحلية مع metadata الموجودة في Keeper. يحل [#24880](https://github.com/ClickHouse/ClickHouse/issues/24880). [#37198](https://github.com/ClickHouse/ClickHouse/pull/37198) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إضافة result\_rows وresult\_bytes إلى تقارير التقدّم (`X-ClickHouse-Summary`). [#39567](https://github.com/ClickHouse/ClickHouse/pull/39567) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين تحليل primary key في MergeTree. [#25563](https://github.com/ClickHouse/ClickHouse/pull/25563) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* أصبحت `timeSlots` تعمل الآن مع DateTime64؛ كما أصبح كل من المدة دون الثانية وحجم الفتحة الزمنية متاحين عند العمل مع DateTime64. [#37951](https://github.com/ClickHouse/ClickHouse/pull/37951) ([Andrey Zvonov](https://github.com/zvonand)).
* إضافة دعم `LEFT SEMI` و`LEFT ANTI` لـ direct join مع جداول `EmbeddedRocksDB`. [#38956](https://github.com/ClickHouse/ClickHouse/pull/38956) ([Vladimir C](https://github.com/vdimir)).
* إضافة profile events لعمليات fsync. [#39179](https://github.com/ClickHouse/ClickHouse/pull/39179) ([Azat Khuzhin](https://github.com/azat)).
* إضافة الوسيط الثاني إلى الدالة العادية `file(path[, default])`، وهو القيمة التي تُرجعها الدالة إذا لم يكن الملف موجودًا. [#39218](https://github.com/ClickHouse/ClickHouse/pull/39218) ([Nikolay Degterinsky](https://github.com/evillique)).
* بعض الإصلاحات الصغيرة للقراءة عبر http، مع السماح بإعادة محاولة المحتوى الجزئي في حالة 200 OK. [#39244](https://github.com/ClickHouse/ClickHouse/pull/39244) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم الاستعلامات `CREATE TEMPORARY TABLE ... (<list of columns>) AS ...`. [#39462](https://github.com/ClickHouse/ClickHouse/pull/39462) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة دعم `!`/`*` (علامة التعجب/النجمة) في نطاقات TLD المخصصة (`cutToFirstSignificantSubdomainCustom()`/`cutToFirstSignificantSubdomainCustomWithWWW()`/`firstSignificantSubdomainCustom()`). [#39496](https://github.com/ClickHouse/ClickHouse/pull/39496) ([Azat Khuzhin](https://github.com/azat)).
* إضافة دعم اتصالات TLS مع NATS. ينفّذ [#39525](https://github.com/ClickHouse/ClickHouse/issues/39525). [#39527](https://github.com/ClickHouse/ClickHouse/pull/39527) ([Constantine Peresypkin](https://github.com/pkit)).
* أصبح `clickhouse-obfuscator` (أداة لتعمية قاعدة البيانات لأغراض الاختبار وتوليد الحمل) يدعم الآن المعلَمين الجديدين `--save` و`--load` للعمل مع النماذج المدرَّبة مسبقًا. يغلق هذا [#39534](https://github.com/ClickHouse/ClickHouse/issues/39534). [#39541](https://github.com/ClickHouse/ClickHouse/pull/39541) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح السلوك غير الصحيح لتدوير السجلات أثناء إعادة التشغيل. [#39558](https://github.com/ClickHouse/ClickHouse/pull/39558) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح إنشاء projections التجميعية عند تفعيل external aggregation. وجرى تصنيف ذلك كتحسين لأن هذه الحالة نادرة ويوجد حل بديل سهل لها عبر تغيير الإعدادات. يصلح هذا [#39667](https://github.com/ClickHouse/ClickHouse/issues/39667) . [#39671](https://github.com/ClickHouse/ClickHouse/pull/39671) ([Amos Bird](https://github.com/amosbird)).
* السماح بتنفيذ دوال hash باستخدام معاملات من النوع `Map`. [#39685](https://github.com/ClickHouse/ClickHouse/pull/39685) ([Anton Popov](https://github.com/CurtizJ)).
* إضافة معلمة configuration لإخفاء العناوين في stack traces. قد يحسّن ذلك الأمان قليلًا، لكنه عمومًا مضرّ ولا ينبغي استخدامه. [#39690](https://github.com/ClickHouse/ClickHouse/pull/39690) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تغيير حجم البادئة لـ AggregateFunctionDistinct لضمان محاذاة مقطع ذاكرة بيانات الدالة المتداخلة. [#39696](https://github.com/ClickHouse/ClickHouse/pull/39696) ([Pxl](https://github.com/BiteTheDDDDt)).
* إجراء escape بشكل صحيح لبيانات الاعتماد الممرّرة إلى أداة `clickhouse-diagnostic`. [#39707](https://github.com/ClickHouse/ClickHouse/pull/39707) ([Dale McDiarmid](https://github.com/gingerwizard)).
* تحسين ClickHouse Keeper: إنشاء snapshot عند الخروج. يمكن التحكم في ذلك باستخدام config ‏`keeper_server.create_snapshot_on_exit`، والقيمة الافتراضية هي `true`. [#39755](https://github.com/ClickHouse/ClickHouse/pull/39755) ([Antonio Andelic](https://github.com/antonio2368)).
* دعم تحليل primary key لكل من `row_policy_filter` و`additional_filter`. ويساعد ذلك أيضًا في إصلاح مشكلات مثل [#37454](https://github.com/ClickHouse/ClickHouse/issues/37454) . [#39826](https://github.com/ClickHouse/ClickHouse/pull/39826) ([Amos Bird](https://github.com/amosbird)).
* إصلاح مشكلتين في سهولة الاستخدام في Play UI: - لم تكن الواجهة متقنة على مستوى البكسل على iPad بسبب نصف قطر حدود وهوامش غير مرغوب فيها؛ - ولم يكن مؤشر التقدم يظهر بعد أول query. يغلق هذا [#39957](https://github.com/ClickHouse/ClickHouse/issues/39957). ويغلق هذا [#39960](https://github.com/ClickHouse/ClickHouse/issues/39960). [#39961](https://github.com/ClickHouse/ClickHouse/pull/39961) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Play UI: إضافة أرقام الصفوف؛ وإضافة تحديد الخلايا عند النقر؛ وإضافة hysteresis لخلايا الجدول. [#39962](https://github.com/ClickHouse/ClickHouse/pull/39962) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Play UI: التعرّف على مفتاح tab في textarea، ولكن دون الإخلال في الوقت نفسه بالتنقل باستخدام tab. [#40053](https://github.com/ClickHouse/ClickHouse/pull/40053) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* سيعرض العميل الوقت المنقضي من جهة الخادم. وهذا مهم لمقارنة أداء خدمات ClickHouse في مراكز البيانات البعيدة. وبذلك يُغلق [#38070](https://github.com/ClickHouse/ClickHouse/issues/38070). راجع أيضًا [هذا](https://github.com/ClickHouse/ClickBench/blob/main/hardware/benchmark-cloud.sh#L37) للاطلاع على الدافع. [#39968](https://github.com/ClickHouse/ClickHouse/pull/39968) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة الدوال `parseDateTime64BestEffortUS` و`parseDateTime64BestEffortUSOrNull` و`parseDateTime64BestEffortUSOrZero`، مع إغلاق [#37492](https://github.com/ClickHouse/ClickHouse/issues/37492). [#40015](https://github.com/ClickHouse/ClickHouse/pull/40015) ([Tanya Bragin](https://github.com/tbragin)).
* توسيع `system.processors_profile_log` بمزيد من المعلومات، مثل صفوف الإدخال. [#40121](https://github.com/ClickHouse/ClickHouse/pull/40121) ([Amos Bird](https://github.com/amosbird)).
* عرض الوقت من جهة الخادم في `clickhouse-benchmark` افتراضيًا إذا كان متاحًا (بدءًا من إصدار ClickHouse 22.8). وهذا ضروري لمقارنة أداء البيئات السحابية بشكل صحيح. ويمكن تغيير هذا السلوك باستخدام خيار سطر الأوامر الجديد `--client-side-time`. كما تغيّر خيار سطر الأوامر `--randomize` من `--randomize 1` إلى صيغة بدون وسيطة. [#40193](https://github.com/ClickHouse/ClickHouse/pull/40193) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة عدادات (ProfileEvents) للحالات التي جرى فيها تعيين حد لتعقيد الاستعلام وتم بلوغه (مع عداد منفصل لكل من `overflow_mode` = `break` و`throw`). على سبيل المثال، إذا كنت قد ضبطت `max_rows_to_read` مع `read_overflow_mode = 'break'`، فإن النظر إلى قيمة العداد `OverflowBreak` يتيح التمييز بين النتائج غير المكتملة. [#40205](https://github.com/ClickHouse/ClickHouse/pull/40205) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح احتساب الذاكرة في حالة أخطاء "Memory limit exceeded" (إذ كان استخدام الذاكرة \[الأقصى] سابقًا يحتسب التخصيصات الفاشلة أيضًا). [#40249](https://github.com/ClickHouse/ClickHouse/pull/40249) ([Azat Khuzhin](https://github.com/azat)).
* إضافة metrics لذاكرة التخزين المؤقت لنظام الملفات: `FilesystemCacheSize` و`FilesystemCacheElements`. [#40260](https://github.com/ClickHouse/ClickHouse/pull/40260) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم نقل RPC الآمن في Hadoop ‏(hadoop.rpc.protection=privacy وhadoop.rpc.protection=integrity). [#39411](https://github.com/ClickHouse/ClickHouse/pull/39411) ([michael1589](https://github.com/michael1589)).
* تجنب الزيادة المستمرة في استهلاك الذاكرة في ذاكرة التخزين المؤقت للأنماط عند استخدام الدوال multi(Fuzzy)Match(Any|AllIndices|AnyIndex)(). [#40264](https://github.com/ClickHouse/ClickHouse/pull/40264) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="buildtestingpackaging-improvement-3">
  #### تحسينات في البناء والاختبار والتحزيم
</div>

* [ClickFiddle](https://fiddle.clickhouse.com/): أداة جديدة لاختبار إصدارات ClickHouse في وضع القراءة والكتابة (**Igor Baliuk**).
* أصبح ملف ClickHouse التنفيذي ذاتي الاستخراج [#35775](https://github.com/ClickHouse/ClickHouse/pull/35775) ([Yakov Olkhovskiy, Arthur Filatenkov](https://github.com/yakov-olkhovskiy)).
* تحديث tzdata إلى 2022b لدعم تغييرات timezone الجديدة. راجع [https://github.com/google/cctz/pull/226](https://github.com/google/cctz/pull/226). تم تأجيل بدء التوقيت الصيفي لعام 2022 في تشيلي من 4 سبتمبر إلى 11 سبتمبر. كما تخطط إيران للتوقف عن العمل بالتوقيت الصيفي نهائيًا بعد العودة إلى التوقيت القياسي في 2022-09-21. وهناك تصحيحات تتعلق بالمنطقة الزمنية التاريخية لـ Asia/Tehran في عام 1977: اعتمدت إيران التوقيت القياسي في 1935 وليس 1946. وفي عام 1977 طُبّق التوقيت الصيفي من 03-21 23:00 إلى 10-20 24:00؛ وكانت انتقالات عام 1978 في 03-24 و08-05، وليس 03-20 و10-20؛ وكان انتقال ربيع 1979 في 05-27، وليس 03-21 ([https://data.iana.org/time-zones/tzdb/NEWS](https://data.iana.org/time-zones/tzdb/NEWS)). ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* كانت الحزم السابقة تثبّت ملف systemd.service في `/etc`. وتُعلَّم الملفات هناك على أنها `conf`، لذلك لا تُزال ولا تُحدَّث تلقائيًا. يقوم طلب الدمج هذا بتنظيفها. [#39323](https://github.com/ClickHouse/ClickHouse/pull/39323) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* ضمان فعالية LSan. [#39430](https://github.com/ClickHouse/ClickHouse/pull/39430) ([Azat Khuzhin](https://github.com/azat)).
* توجد مشكلات في TSAN مع clang-14 ([https://github.com/google/sanitizers/issues/1552](https://github.com/google/sanitizers/issues/1552), [https://github.com/google/sanitizers/issues/1540)،](https://github.com/google/sanitizers/issues/1540\)،) لذا تُبنى هنا binaries الخاصة بـ TSAN باستخدام clang-15. [#39450](https://github.com/ClickHouse/ClickHouse/pull/39450) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إزالة خيار بناء أدوات ClickHouse كبرامج executable منفصلة. هذا يُصلح [#37847](https://github.com/ClickHouse/ClickHouse/issues/37847). [#39520](https://github.com/ClickHouse/ClickHouse/pull/39520) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحضيرات بسيطة للبناء على s390x (وهي معمارية big-endian). [#39627](https://github.com/ClickHouse/ClickHouse/pull/39627) ([Harry Lee](https://github.com/HarryLeeIBM)). [#39656](https://github.com/ClickHouse/ClickHouse/pull/39656) ([Harry Lee](https://github.com/HarryLeeIBM)). إصلاح مشكلة Endian في BitHelpers على s390x. [#39656](https://github.com/ClickHouse/ClickHouse/pull/39656) ([Harry Lee](https://github.com/HarryLeeIBM)). تنفيذ جزء من الشيفرة المتعلق بـ SipHash لمعمارية s390x (غير المدعومة في ClickHouse). [#39732](https://github.com/ClickHouse/ClickHouse/pull/39732) ([Harry Lee](https://github.com/HarryLeeIBM)). إصلاح مشكلة Endian في شيفرة snapshot الخاصة بـ Coordination لمعمارية s390x (غير المدعومة في ClickHouse). [#39931](https://github.com/ClickHouse/ClickHouse/pull/39931) ([Harry Lee](https://github.com/HarryLeeIBM)). إصلاح مشكلات Endian في شيفرة Codec لمعمارية s390x (غير المدعومة في ClickHouse). [#40008](https://github.com/ClickHouse/ClickHouse/pull/40008) ([Harry Lee](https://github.com/HarryLeeIBM)). إصلاح مشكلات Endian في قراءة وكتابة البيانات الثنائية BigEndian في شيفرة ReadHelpers وWriteHelpers لمعمارية s390x (غير المدعومة في ClickHouse). [#40179](https://github.com/ClickHouse/ClickHouse/pull/40179) ([Harry Lee](https://github.com/HarryLeeIBM)).
* إضافة دعم للبناء باستخدام `clang-16` ‏(trunk). وبذلك يُغلَق [#39949](https://github.com/ClickHouse/ClickHouse/issues/39949). [#40181](https://github.com/ClickHouse/ClickHouse/pull/40181) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تهيئة بناء RISC-V 64 للتشغيل ضمن CI. وهذا من أجل [#40141](https://github.com/ClickHouse/ClickHouse/issues/40141). [#40197](https://github.com/ClickHouse/ClickHouse/pull/40197) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تبسيط واجهة ماكرو تسجيل الدوال (`FUNCTION_REGISTER*`) لإلغاء خطوة إضافة دالة `extern` واستدعائها في `registerFunctions.cpp`، كما يجعل البناءات التزايدية للدوال الجديدة أسرع. [#38615](https://github.com/ClickHouse/ClickHouse/pull/38615) ([Li Yin](https://github.com/liyinsg)).
* Docker: أصبح `entrypoint.sh` الآن في صورة Docker ينشئ أمر `chown` وينفّذه على جميع المجلدات التي يعثر عليها في `config` لإعداد الأقراص المتعددة [#17717](https://github.com/ClickHouse/ClickHouse/issues/17717). [#39121](https://github.com/ClickHouse/ClickHouse/pull/39121) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="bug-fix">
  #### إصلاح الأخطاء
</div>

* إصلاح احتمال حدوث `segfault` في تنسيق الإدخال `CapnProto`. اكتُشف هذا الخطأ وأُبلغ عنه عبر [program](https://github.com/ClickHouse/ClickHouse/issues/38986) مكافآت الثغرات في ClickHouse بواسطة *kiojj*. [#40241](https://github.com/ClickHouse/ClickHouse/pull/40241) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح حالة نادرة جدًا من السلوك غير الصحيح لمعامل الفهرسة في المصفوفات. هذا يُغلق [#28720](https://github.com/ClickHouse/ClickHouse/issues/28720). [#40185](https://github.com/ClickHouse/ClickHouse/pull/40185) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح التحقق غير الكافي من الوسائط في دوال التشفير (اكتشفه query fuzzer). هذا يُغلق [#39987](https://github.com/ClickHouse/ClickHouse/issues/39987). [#40194](https://github.com/ClickHouse/ClickHouse/pull/40194) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح الحالة التي قد يصبح فيها ترتيب الأعمدة غير صحيح إذا استُخدم العامل `IN` مع جدول ذي `ENGINE = Set` يحتوي على عدة أعمدة. هذا يصلح [#13014](https://github.com/ClickHouse/ClickHouse/issues/13014). [#40225](https://github.com/ClickHouse/ClickHouse/pull/40225) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح عملية seek أثناء القراءة من `disk` مشفّر. يُصلح طلب السحب هذا [#38381](https://github.com/ClickHouse/ClickHouse/issues/38381). [#39687](https://github.com/ClickHouse/ClickHouse/pull/39687) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح الأعمدة المكررة في خطة join. وأخيرًا، حل [#26809](https://github.com/ClickHouse/ClickHouse/issues/26809). [#40009](https://github.com/ClickHouse/ClickHouse/pull/40009) ([Vladimir C](https://github.com/vdimir)).
* إصلاح تعليق query عند تنفيذ SELECT مع ORDER BY WITH FILL لأنواع تاريخ/وقت مختلفة. [#37849](https://github.com/ClickHouse/ClickHouse/pull/37849) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح ORDER BY الذي يطابق ORDER BY الخاص بـ projections (إذ كان يعيد سابقًا نتيجة غير مرتبة). [#38725](https://github.com/ClickHouse/ClickHouse/pull/38725) ([Azat Khuzhin](https://github.com/azat)).
* عدم تحسين الدوال في عبارات GROUP BY إذا كانت تحجب أحد أعمدة الجدول أو التعبيرات. يُصلح [#37032](https://github.com/ClickHouse/ClickHouse/issues/37032). [#39103](https://github.com/ClickHouse/ClickHouse/pull/39103) ([Anton Kozlov](https://github.com/tonickkozlov)).
* إصلاح اسم الجدول الخاطئ في السجلات بعد RENAME TABLE. هذا يُصلح [#38018](https://github.com/ClickHouse/ClickHouse/issues/38018). [#39227](https://github.com/ClickHouse/ClickHouse/pull/39227) ([Amos Bird](https://github.com/amosbird)).
* إصلاح الوسائط الموضعية في حالة pruning الأعمدة عند تحسين query. يُغلق [#38433](https://github.com/ClickHouse/ClickHouse/issues/38433). [#39293](https://github.com/ClickHouse/ClickHouse/pull/39293) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خطأ في schema inference في حالة الرسائل الفارغة في تنسيقات Protobuf/CapnProto، كان يسمح بإنشاء عمود بنوع `Tuple` فارغ. يُغلق [#39051](https://github.com/ClickHouse/ClickHouse/issues/39051) تمت إضافة إعدادين جديدين `input_format_{protobuf/capnproto}_skip_fields_with_unsupported_types_in_schema_inference` يتيحان تخطي الحقول ذات الأنواع غير المدعومة أثناء schema inference لتنسيقَي Protobuf وCapnProto. [#39357](https://github.com/ClickHouse/ClickHouse/pull/39357) ([Kruglov Pavel](https://github.com/Avogar)).
* (Window View ميزة تجريبية) إصلاح segmentation fault عند `CREATE WINDOW VIEW .. ON CLUSTER ... INNER`. يُغلق [#39363](https://github.com/ClickHouse/ClickHouse/issues/39363). [#39384](https://github.com/ClickHouse/ClickHouse/pull/39384) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح إنهاء WriteBuffer عند إلغاء insert into function (في الإصدارات السابقة، كان ذلك قد يؤدي إلى `std::terminate`). [#39458](https://github.com/ClickHouse/ClickHouse/pull/39458) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تخزين الأعمدة من النوع `Object` في التسلسل المتناثر. [#39464](https://github.com/ClickHouse/ClickHouse/pull/39464) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح استثناء محتمل بعنوان "Not found column in block" عند استخدام projections. هذا يُغلق [#39469](https://github.com/ClickHouse/ClickHouse/issues/39469). [#39470](https://github.com/ClickHouse/ClickHouse/pull/39470) ([小路](https://github.com/nicelulu)).
* إصلاح استثناء ناتج عن تسابق بين DROP و INSERT مع العروض المادية. [#39477](https://github.com/ClickHouse/ClickHouse/pull/39477) ([Azat Khuzhin](https://github.com/azat)).
* خطأ في مكتبة Apache Avro: إصلاح data race واحتمال heap-buffer-overflow في تنسيق Avro. يُغلق [#39094](https://github.com/ClickHouse/ClickHouse/issues/39094) ويُغلق [#33652](https://github.com/ClickHouse/ClickHouse/issues/33652). [#39498](https://github.com/ClickHouse/ClickHouse/pull/39498) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خطأ نادر في القراءة غير المتزامنة (مع الإعداد `local_filesystem_read_method='pread_threadpool'`) عند تفعيل `O_DIRECT` (عبر الإعداد `min_bytes_to_use_direct_io`). [#39506](https://github.com/ClickHouse/ClickHouse/pull/39506) ([Anton Popov](https://github.com/CurtizJ)).
* (على FreeBSD فقط) إصلاح الخطأ "Code: 49. DB::Exception: FunctionFactory: the function name '' is not unique. (LOGICAL\_ERROR)" الذي لوحظ على FreeBSD عند بدء تشغيل ClickHouse. [#39551](https://github.com/ClickHouse/ClickHouse/pull/39551) ([Alexander Gololobov](https://github.com/davenger)).
* إصلاح خطأ في الوسيطة "maxsplit" التي أُضيفت مؤخرًا إلى `splitByChar`، إذ لم تكن تعمل بشكل صحيح. [#39552](https://github.com/ClickHouse/ClickHouse/pull/39552) ([filimonov](https://github.com/filimonov)).
* إصلاح خطأ في ASOF JOIN مع `enable_optimize_predicate_expression`، ويُغلق [#37813](https://github.com/ClickHouse/ClickHouse/issues/37813). [#39556](https://github.com/ClickHouse/ClickHouse/pull/39556) ([Vladimir C](https://github.com/vdimir)).
* إصلاح استعلام `CREATE/DROP INDEX` مع `ON CLUSTER` أو قاعدة بيانات `Replicated` و `ReplicatedMergeTree`. كان يُنفَّذ سابقًا على جميع replicas (مما يسبب خطأ أو يؤدي إلى تعليق DDL queue). يُصلح [#39511](https://github.com/ClickHouse/ClickHouse/issues/39511). [#39565](https://github.com/ClickHouse/ClickHouse/pull/39565) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح خطأ "column not found" في push down مع join، ويُغلق [#39505](https://github.com/ClickHouse/ClickHouse/issues/39505). [#39575](https://github.com/ClickHouse/ClickHouse/pull/39575) ([Vladimir C](https://github.com/vdimir)).
* إصلاح الاسم المستعار الخاطئ لـ `REGEXP_REPLACE`. هذا يُصلح [https://github.com/ClickHouse/ClickBench/issues/9](https://github.com/ClickHouse/ClickBench/issues/9). [#39592](https://github.com/ClickHouse/ClickHouse/pull/39592) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تم إصلاح نقطة origin في window functions الخاصة بالتناقص الأسي لتكون القيمة الأخيرة في window. سابقًا، كان التناقص يُحسب بالصيغة `exp((t - curr_row_t) / decay_length)`، وهذا غير صحيح عندما لا يكون الحد الأيمن للنافذة هو `CURRENT ROW`. وقد تغيّرت إلى: `exp((t - last_row_t) / decay_length)`. لا يوجد تغيير في النتائج للنوافذ التي تحتوي على `ROWS BETWEEN (smth) AND CURRENT ROW`. [#39593](https://github.com/ClickHouse/ClickHouse/pull/39593) ([Vladimir Chebotaryov](https://github.com/quickhouse)).
* إصلاح تجاوز السعة في قسمة Decimal، والذي يمكن اكتشافه استنادًا إلى scale الخاصة بالمعاملات. [#39600](https://github.com/ClickHouse/ClickHouse/pull/39600) ([Andrey Zvonov](https://github.com/zvonand)).
* إصلاح عمل الإعدادين `output_format_arrow_string_as_string` و`output_format_arrow_low_cardinality_as_dictionary` معًا بشكل صحيح. يغلق [#39624](https://github.com/ClickHouse/ClickHouse/issues/39624). [#39647](https://github.com/ClickHouse/ClickHouse/pull/39647) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خلل في تحديد قاعدة البيانات default في قراءات distributed table. [#39674](https://github.com/ClickHouse/ClickHouse/pull/39674) ([Anton Kozlov](https://github.com/tonickkozlov)).
* (فقط مع Ordinary databases المتقادمة) كان من الممكن أن يقرأ Select بيانات table محذوف إذا استُخدمت cache الخاصة بـ mmap IO وكان database engine هو Ordinary وأُنشئت tables جديدة بالاسم نفسه الذي كان يحمله الجدول المحذوف. تم إصلاح ذلك. [#39708](https://github.com/ClickHouse/ClickHouse/pull/39708) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح error محتمل: `Invalid column type for ColumnUnique::insertRangeFrom. Expected String, got ColumnLowCardinality` إصلاح [#38460](https://github.com/ClickHouse/ClickHouse/issues/38460). [#39716](https://github.com/ClickHouse/ClickHouse/pull/39716) ([Arthur Passos](https://github.com/arthurpassos)).
* كانت أسماء الحقول في قسم `meta` من format ‏JSON تُهرَّب مرتين عن طريق الخطأ. هذا يغلق [#39693](https://github.com/ClickHouse/ClickHouse/issues/39693). [#39747](https://github.com/ClickHouse/ClickHouse/pull/39747) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح index analysis غير صحيح مع tuples والعامل `IN`، والذي كان يمكن أن يؤدي إلى نتيجة query خاطئة. [#39752](https://github.com/ClickHouse/ClickHouse/pull/39752) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح Filtering لجداول `EmbeddedRocksDB` حسب key باستخدام params. [#39757](https://github.com/ClickHouse/ClickHouse/pull/39757) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح الخطأ `Invalid number of columns in chunk pushed to OutputPort` الناتج عن تحسين ARRAY JOIN. إصلاح [#39164](https://github.com/ClickHouse/ClickHouse/issues/39164). [#39799](https://github.com/ClickHouse/ClickHouse/pull/39799) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* حل بديل لخلل في Linux kernel. إصلاح الاستثناء `CANNOT_READ_ALL_DATA` مع `local_filesystem_read_method=pread_threadpool`. وقد أثّر هذا الخلل فقط على إصداري Linux kernel ‏5.9 و5.10 وفقًا لـ [man](https://manpages.debian.org/testing/manpages-dev/preadv2.2.en.html#BUGS). [#39800](https://github.com/ClickHouse/ClickHouse/pull/39800) ([Anton Popov](https://github.com/CurtizJ)).
* (على NFS فقط) إصلاح تعطل `mkdir` في NFS لوحدات التخزين root-squashed. [#39898](https://github.com/ClickHouse/ClickHouse/pull/39898) ([Constantine Peresypkin](https://github.com/pkit)).
* إزالة Dictionaries من metrics الخاصة بـ prometheus عند DETACH/DROP. [#39926](https://github.com/ClickHouse/ClickHouse/pull/39926) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح read data لـ StorageFile مع virtual columns. يغلق [#39907](https://github.com/ClickHouse/ClickHouse/issues/39907). [#39943](https://github.com/ClickHouse/ClickHouse/pull/39943) ([flynn](https://github.com/ucasfl)).
* إصلاح memory usage مرتفع أثناء fetches. إصلاح [#39915](https://github.com/ClickHouse/ClickHouse/issues/39915). [#39990](https://github.com/ClickHouse/ClickHouse/pull/39990) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* (ميزة تجريبية) إصلاح تعطل `hashId` وعدم استخدام المعلَمة salt. [#40002](https://github.com/ClickHouse/ClickHouse/pull/40002) ([Raúl Marín](https://github.com/Algunenano)).
* قد يؤدي العاملان `EXCEPT` و `INTERSECT` إلى حدوث تعطل عند استخدام تركيبة معيّنة من الأعمدة الثابتة وغير الثابتة. [#40020](https://github.com/ClickHouse/ClickHouse/pull/40020) ([Duc Canh Le](https://github.com/canhld94)).
* تم إصلاح الخطأين "Part directory doesn't exist" و "`tmp_<part_name>` ... No such file or directory" أثناء تنفيذ INSERT ببطء شديد أو أثناء عمليات merge/mutation الطويلة جدًا. كما تم إصلاح مشكلة قد تؤدي إلى تعليق بعض إدخالات replication queue من دون أي أخطاء أو تحذيرات في السجلات إذا فشلت محاولة سابقة لجلب part، لكن لم يُنظَّف الدليل `tmp-fetch_<part_name>`. [#40031](https://github.com/ClickHouse/ClickHouse/pull/40031) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح حالات نادرة في parsing لمصفوفات من Tuples بالتنسيق `Values`. [#40034](https://github.com/ClickHouse/ClickHouse/pull/40034) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح تحويل تنسيق ArrowColumn من Dictionary(X) و Dictionary(Nullable(X)) إلى ClickHouse LowCardinality(X) و LowCardinality(Nullable(X)) على الترتيب. [#40037](https://github.com/ClickHouse/ClickHouse/pull/40037) ([Arthur Passos](https://github.com/arthurpassos)).
* إصلاح حالة توقف متبادل محتملة أثناء الكتابة إلى S3 عند فشل scheduling للمهام. [#40070](https://github.com/ClickHouse/ClickHouse/pull/40070) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح خطأ في collectFilesToSkip() عبر إضافة امتداد الملف الصحيح (.idx أو idx2) إلى indexes التي ستُعاد إعادة حسابها، لتجنّب hard links الخاطئة. أُغلقت المشكلة [#39896](https://github.com/ClickHouse/ClickHouse/issues/39896). [#40095](https://github.com/ClickHouse/ClickHouse/pull/40095) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* إصلاح لـ DNS resolution العكسي. [#40134](https://github.com/ClickHouse/ClickHouse/pull/40134) ([Arthur Passos](https://github.com/arthurpassos)).
* إصلاح النتيجة غير المتوقعة للدالة `arrayDifference` مع \`Array(UInt32). [#40211](https://github.com/ClickHouse/ClickHouse/pull/40211) ([Duc Canh Le](https://github.com/canhld94)).

### <a id="227" /> إصدار ClickHouse 22.7، بتاريخ 2022-07-21. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.7/), [الفيديو](https://www.youtube.com/watch?v=IOJyo14BpTQ)

<Frame>
  <iframe src="https://www.youtube.com/embed/IOJyo14BpTQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### ملاحظات الترقية
</div>

* فُعِّل الإعداد `enable_positional_arguments` افتراضيًا. يتيح ذلك استعلامات مثل `SELECT ... ORDER BY 1, 2` حيث يشير 1 و2 إلى مراجع في عبارة `SELECT`. إذا كنت بحاجة إلى استعادة السلوك القديم، فعطّل هذا الإعداد. [#38204](https://github.com/ClickHouse/ClickHouse/pull/38204) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* عُطِّل `format_csv_allow_single_quotes` افتراضيًا. راجع [#37096](https://github.com/ClickHouse/ClickHouse/issues/37096). ([Kruglov Pavel](https://github.com/Avogar)).
* أُهمِل database engine ‏`Ordinary` وصياغة تعريف التخزين القديمة لجداول `*MergeTree`. افتراضيًا، لم يعد ممكنًا إنشاء database جديدة باستخدام engine ‏`Ordinary`. وإذا كانت database ‏`system` تستخدم engine ‏`Ordinary`، فستُحوَّل تلقائيًا إلى `Atomic` عند بدء تشغيل server. توجد إعدادات للإبقاء على السلوك القديم (`allow_deprecated_database_ordinary` و`allow_deprecated_syntax_for_merge_tree`)، لكن قد تُزال هذه الإعدادات في إصدارات لاحقة. [#38335](https://github.com/ClickHouse/ClickHouse/pull/38335) ([Alexander Tokmakov](https://github.com/tavplubix)).
* فُرضت إعادة كتابة comma join إلى inner افتراضيًا (بضبط default value ‏`cross_to_inner_join_rewrite = 2`). وللحصول على السلوك القديم، اضبط `cross_to_inner_join_rewrite = 1`. [#39326](https://github.com/ClickHouse/ClickHouse/pull/39326) ([Vladimir C](https://github.com/vdimir)). وإذا واجهت أي حالات عدم توافق، يمكنك إعادة هذا الإعداد إلى وضعه السابق.

<div id="new-feature">
  #### ميزة جديدة
</div>

* دعم expressions مع دوال window functions. يغلق [#19857](https://github.com/ClickHouse/ClickHouse/issues/19857). [#37848](https://github.com/ClickHouse/ClickHouse/pull/37848) ([Dmitry Novik](https://github.com/novikd)).
* إضافة خوارزمية join جديدة باسم `direct` لجداول `EmbeddedRocksDB`، انظر [#33582](https://github.com/ClickHouse/ClickHouse/issues/33582). [#35363](https://github.com/ClickHouse/ClickHouse/pull/35363) ([Vladimir C](https://github.com/vdimir)).
* إضافة خوارزمية full sorting merge join. [#35796](https://github.com/ClickHouse/ClickHouse/pull/35796) ([Vladimir C](https://github.com/vdimir)).
* تنفيذ table engine لـ NATS، بما يتيح النشر/الاشتراك عبر NATS. يغلق [#32388](https://github.com/ClickHouse/ClickHouse/issues/32388). [#37171](https://github.com/ClickHouse/ClickHouse/pull/37171) ([tchepavel](https://github.com/tchepavel)). ([Kseniia Sumarokova](https://github.com/kssenii))
* تنفيذ table function `mongodb`. مع السماح بالكتابة إلى تخزين `MongoDB` / table function الخاصة به. [#37213](https://github.com/ClickHouse/ClickHouse/pull/37213) ([aaapetrenko](https://github.com/aaapetrenko)). ([Kseniia Sumarokova](https://github.com/kssenii))
* إضافة output format `SQLInsert`. يغلق [#38441](https://github.com/ClickHouse/ClickHouse/issues/38441). [#38477](https://github.com/ClickHouse/ClickHouse/pull/38477) ([Kruglov Pavel](https://github.com/Avogar)).
* تقديم الإعداد `additional_table_filters`. باستخدام هذا الإعداد، يمكنك تحديد شرط تصفية إضافي لجدول يُطبَّق مباشرةً بعد القراءة. مثال: `select number, x, y from (select number from system.numbers limit 5) f any left join (select x, y from table_1) s on f.number = s.x settings additional_table_filters={'system.numbers : 'number != 3', 'table_1' : 'x != 2'}`. كما تم تقديم الإعداد `additional_result_filter` الذي يحدد شرط تصفية إضافيًا لنتيجة query. يغلق [#37918](https://github.com/ClickHouse/ClickHouse/issues/37918). [#38475](https://github.com/ClickHouse/ClickHouse/pull/38475) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إضافة الإعداد `compatibility` وsystem table `system.settings_changes` الذي يحتوي على معلومات حول التغييرات في الإعدادات عبر إصدارات ClickHouse. يغلق [#35972](https://github.com/ClickHouse/ClickHouse/issues/35972). [#38957](https://github.com/ClickHouse/ClickHouse/pull/38957) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة الدالتين `translate(string, from_string, to_string)` و`translateUTF8(string, from_string, to_string)`. تقومان باستبدال بعض المحارف بمحارف أخرى. [#38935](https://github.com/ClickHouse/ClickHouse/pull/38935) ([Nikolay Degterinsky](https://github.com/evillique)).
* دعم الدالة `parseTimeDelta`. ويمكن استخدامها على النحو التالي: يمكن استخدام ` ;-+,:` كفواصل، مثل `1yr-2mo` و`2m:6s`: `SELECT parseTimeDelta('1yr-2mo-4w + 12 days, 3 hours : 1 minute ; 33 seconds')`. [#39071](https://github.com/ClickHouse/ClickHouse/pull/39071) ([jiahui-97](https://github.com/jiahui-97)).
* إضافة query ‏`CREATE TABLE ... EMPTY AS SELECT`. وهي تستنتج تلقائيًا بنية الجدول من query ‏`SELECT`، لكنها لا تملأ الجدول بعد إنشائه. يحل [#38049](https://github.com/ClickHouse/ClickHouse/issues/38049). [#38272](https://github.com/ClickHouse/ClickHouse/pull/38272) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إضافة خيارات لتقييد عمليات IO مع التخزين البعيد: `max_remote_read_network_bandwidth_for_server` و`max_remote_write_network_bandwidth_for_server`. [#39095](https://github.com/ClickHouse/ClickHouse/pull/39095) ([Sergei Trifonov](https://github.com/serxa)).
* أُضيف الإعداد `group_by_use_nulls` لجعل أعمدة مفاتيح التجميع قابلة لأن تكون NULL في حالات ROLLUP و CUBE و GROUPING SETS. يُغلق [#37359](https://github.com/ClickHouse/ClickHouse/issues/37359). [#38642](https://github.com/ClickHouse/ClickHouse/pull/38642) ([Dmitry Novik](https://github.com/novikd)).
* أُضيفت إمكانية تحديد مستوى الضغط أثناء تصدير البيانات. [#38907](https://github.com/ClickHouse/ClickHouse/pull/38907) ([Nikolay Degterinsky](https://github.com/evillique)).
* أُضيف خيار لطلب grants صريحة لتنفيذ SELECT من قاعدة البيانات `system`. التفاصيل: [#38970](https://github.com/ClickHouse/ClickHouse/pull/38970) ([Vitaly Baranov](https://github.com/vitlibar)).
* أصبحت الدوال `multiMatchAny` و `multiMatchAnyIndex` و `multiMatchAllIndices` ومتغيراتها التقريبية تقبل الآن وسيطة مصفوفة pattern غير ثابتة. [#38485](https://github.com/ClickHouse/ClickHouse/pull/38485) ([Robert Schulze](https://github.com/rschu1ze)). كما أصبحت دالة SQL ‏`multiSearchAllPositions` تقبل الآن وسائط needle غير ثابتة. [#39167](https://github.com/ClickHouse/ClickHouse/pull/39167) ([Robert Schulze](https://github.com/rschu1ze)).
* أُضيف الإعداد `zstd_window_log_max` لضبط الحد الأقصى لاستخدام الذاكرة عند فك ترميز zstd أثناء استيراد الملفات الخارجية. يُغلق [#35693](https://github.com/ClickHouse/ClickHouse/issues/35693). [#37015](https://github.com/ClickHouse/ClickHouse/pull/37015) ([wuxiaobai24](https://github.com/wuxiaobai24)).
* أُضيف الإعداد `send_logs_source_regexp`. يرسل سجلات server النصية باستخدام regexp المحدد لمطابقة اسم مصدر السجل. وتعني القيمة الفارغة جميع المصادر. [#39161](https://github.com/ClickHouse/ClickHouse/pull/39161) ([Amos Bird](https://github.com/amosbird)).
* تمت إضافة دعم `ALTER` لجداول `Hive`. [#38214](https://github.com/ClickHouse/ClickHouse/pull/38214) ([lgbo](https://github.com/lgbo-ustc)).
* تمت إضافة دعم الدالة `isNullable`. تتحقق هذه الدالة مما إذا كانت وسيطتها قابلة لأن تكون NULL وتُرجع 1 أو 0. يُغلق [#38611](https://github.com/ClickHouse/ClickHouse/issues/38611). [#38841](https://github.com/ClickHouse/ClickHouse/pull/38841) ([lokax](https://github.com/lokax)).
* أُضيفت دوال لترميز وفك ترميز base58. [#38159](https://github.com/ClickHouse/ClickHouse/pull/38159) ([Andrey Zvonov](https://github.com/zvonand)).
* أُضيف تصور مخطط إلى واجهة Play UI. [#38197](https://github.com/ClickHouse/ClickHouse/pull/38197) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُضيفت دوال لمسافة L2 Squared وnorm لكل من المصفوفات وTuples. [#38545](https://github.com/ClickHouse/ClickHouse/pull/38545) ([Julian Gilyadov](https://github.com/israelg99)).
* أُضيفت إمكانية تمرير HTTP headers إلى table function ‏`url` / التخزين عبر SQL. يُغلق [#37897](https://github.com/ClickHouse/ClickHouse/issues/37897). [#38176](https://github.com/ClickHouse/ClickHouse/pull/38176) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيف الملف التنفيذي `clickhouse-diagnostics` إلى الحزم. [#38647](https://github.com/ClickHouse/ClickHouse/pull/38647) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).

<div id="experimental-feature-3">
  #### الميزة التجريبية
</div>

* يضيف الإعداد الجديد `implicit_transaction` لتشغيل الاستعلامات المستقلة ضمن معاملة. ويتولى تلقائيًا فتح المعاملة وإغلاقها (باستخدام COMMIT إذا نجح الاستعلام أو ROLLBACK إذا لم ينجح). [#38344](https://github.com/ClickHouse/ClickHouse/pull/38344) ([Raúl Marín](https://github.com/Algunenano)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تحسين `Distinct` للأعمدة المرتبة. يُستخدم تحويل distinct متخصص عندما يكون دفق الإدخال مرتبًا حسب العمود أو الأعمدة في distinct. ويمكن تطبيق هذا التحسين على pre-distinct أو final distinct أو كليهما. التنفيذ الأولي من @dimarub2000. [#37803](https://github.com/ClickHouse/ClickHouse/pull/37803) ([Igor Nikonov](https://github.com/devcrafter)).
* تحسين أداء `ORDER BY` وعمليات الدمج في `MergeTree` وwindow functions باستخدام إصدار batch من `BinaryHeap`. [#38022](https://github.com/ClickHouse/ClickHouse/pull/38022) ([Maksim Kita](https://github.com/kitaisreal)).
* تنفيذ أكثر توازيًا للاستعلامات التي تستخدم `FINAL` [#36396](https://github.com/ClickHouse/ClickHouse/pull/36396) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح تراجع كبير في أداء join أُدخل في [#35616](https://github.com/ClickHouse/ClickHouse/pull/35616). والمثير للاهتمام أن استعلامات join الشائعة، مثل استعلامات ssb، كانت أبطأ بعشر مرات لما يقرب من 3 أشهر من دون أن يشتكي أحد. [#38052](https://github.com/ClickHouse/ClickHouse/pull/38052) ([Amos Bird](https://github.com/amosbird)).
* الانتقال من مكتبة Intel hyperscan إلى vectorscan، ما يسرّع العديد من عمليات مطابقة السلاسل النصية على المنصات غير x86. [#38171](https://github.com/ClickHouse/ClickHouse/pull/38171) ([Robert Schulze](https://github.com/rschu1ze)).
* زيادة التوازي في خطوات خطة الاستعلام التي تُنفَّذ بعد aggregation. [#38295](https://github.com/ClickHouse/ClickHouse/pull/38295) ([Nikita Taranov](https://github.com/nickitat)).
* تحسين أداء الإدراج في الأعمدة من النوع `JSON`. [#38320](https://github.com/ClickHouse/ClickHouse/pull/38320) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين الإدراج وعمليات البحث في HashTable. [#38413](https://github.com/ClickHouse/ClickHouse/pull/38413) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح تدهور الأداء الناتج عن [#32493](https://github.com/ClickHouse/ClickHouse/issues/32493). [#38417](https://github.com/ClickHouse/ClickHouse/pull/38417) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء joining باستخدام الأعمدة الرقمية عبر تعليمات SIMD. [#37235](https://github.com/ClickHouse/ClickHouse/pull/37235) ([zzachimed](https://github.com/zzachimed)). [#38565](https://github.com/ClickHouse/ClickHouse/pull/38565) ([Maksim Kita](https://github.com/kitaisreal)).
* تسريع دوال Norm وDistance للمصفوفات بمقدار يتراوح بين 1.2 و2 مرة. [#38740](https://github.com/ClickHouse/ClickHouse/pull/38740) ([Alexander Gololobov](https://github.com/davenger)).
* إضافة `copyOverlap32Shuffle` محسّنة باستخدام AVX-512 VBMI لفك ضغط LZ4. وبعبارة أخرى، جرى تحسين أداء فك ضغط LZ4. [#37891](https://github.com/ClickHouse/ClickHouse/pull/37891) ([Guo Wangyang](https://github.com/guowangy)).
* سيستفيد `ORDER BY (a, b)` من جميع المزايا نفسها التي يوفرها `ORDER BY a, b`. [#38873](https://github.com/ClickHouse/ClickHouse/pull/38873) ([Igor Nikonov](https://github.com/devcrafter)).
* محاذاة التفرعات ضمن حد 32B لجعل benchmark أكثر استقرارًا. [#38988](https://github.com/ClickHouse/ClickHouse/pull/38988) ([Guo Wangyang](https://github.com/guowangy)). وهذا يحسّن الأداء بمتوسط 1..2% على Intel.
* ستتجنب Executable UDF وexecutable dictionaries وExecutable tables إهدار ثانية واحدة أثناء انتظار انتهاء العملية الفرعية. [#38929](https://github.com/ClickHouse/ClickHouse/pull/38929) ([Constantine Peresypkin](https://github.com/pkit)).
* تحسين الوصول إلى جدول `system.stack_trace` إذا لم تُحدَّد جميع الأعمدة. [#39177](https://github.com/ClickHouse/ClickHouse/pull/39177) ([Azat Khuzhin](https://github.com/azat)).
* تحسين أداء isNullable/isConstant/isNull/isNotNull لوسيطة LowCardinality. [#39192](https://github.com/ClickHouse/ClickHouse/pull/39192) ([Kruglov Pavel](https://github.com/Avogar)).
* تحسين معالجة ORDER BY في window functions. [#34632](https://github.com/ClickHouse/ClickHouse/pull/34632) ([Vladimir Chebotarev](https://github.com/excitoon)).
* جرى تحسين الجدول `system.asynchronous_metric_log` بشكل أكبر من حيث مساحة التخزين. هذا يُغلق [#38134](https://github.com/ClickHouse/ClickHouse/issues/38134). راجع [فيديو YouTube](https://www.youtube.com/watch?v=0fSp9SF8N8A). [#38428](https://github.com/ClickHouse/ClickHouse/pull/38428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="improvement-3">
  #### تحسين
</div>

* دعم صيغة CREATE INDEX وDROP INDEX القياسية في SQL. [#35166](https://github.com/ClickHouse/ClickHouse/pull/35166) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* إرسال أحداث profile لاستعلامات INSERT (إذ كان الدعم سابقًا مقتصرًا على SELECT فقط). [#37391](https://github.com/ClickHouse/ClickHouse/pull/37391) ([Azat Khuzhin](https://github.com/azat)).
* تنفيذ التجميع بأسلوب in order (`optimize_aggregation_in_order`) للإسقاطات المُجسَّدة بالكامل. [#37469](https://github.com/ClickHouse/ClickHouse/pull/37469) ([Azat Khuzhin](https://github.com/azat)).
* إزالة استخدام عملية فرعية لتهيئة Kerberos. أُضيف اختبار تكاملي جديد. يُغلق [#27651](https://github.com/ClickHouse/ClickHouse/issues/27651). [#38105](https://github.com/ClickHouse/ClickHouse/pull/38105) ([Roman Vasin](https://github.com/rvasin)).
* * إضافة الإعداد `multiple_joins_try_to_keep_original_names` لتجنّب إعادة كتابة اسم المعرّف عند إعادة كتابة عدة عمليات JOIN، وإغلاق [#34697](https://github.com/ClickHouse/ClickHouse/issues/34697). [#38149](https://github.com/ClickHouse/ClickHouse/pull/38149) ([Vladimir C](https://github.com/vdimir)).
* تحسين تجربة المستخدم في trace-visualizer. [#38169](https://github.com/ClickHouse/ClickHouse/pull/38169) ([Sergei Trifonov](https://github.com/serxa)).
* تمكين جمع تتبعات المكدس وquery profiler لمعمارية AArch64. [#38181](https://github.com/ClickHouse/ClickHouse/pull/38181) ([Maksim Kita](https://github.com/kitaisreal)).
* عدم تخطي الروابط الرمزية في الدليل `user_defined` أثناء تحميل دوال SQL المعرفة من قبل المستخدم. يُغلق [#38042](https://github.com/ClickHouse/ClickHouse/issues/38042). [#38184](https://github.com/ClickHouse/ClickHouse/pull/38184) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة تنظيفٍ في الخلفية للدلائل الفرعية في `store/`. في بعض الحالات، قد يترك clickhouse-server دلائل فرعية غير مرغوب فيها في `store/` (على سبيل المثال، عند فشل إنشاء جدول)، ولم تكن هذه الدلائل تُزال مطلقًا. يُصلح [#33710](https://github.com/ClickHouse/ClickHouse/issues/33710). [#38265](https://github.com/ClickHouse/ClickHouse/pull/38265) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إضافة استعلام `DESCRIBE CACHE` لعرض إعدادات cache من config. وإضافة استعلام `SHOW CACHES` لعرض قائمة filesystem cache المتاحة. [#38279](https://github.com/ClickHouse/ClickHouse/pull/38279) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة تحقّق من صلاحية الوصول إلى `system drop filesystem cache`. ودعم ON CLUSTER. [#38319](https://github.com/ClickHouse/ClickHouse/pull/38319) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح عدم توافق محرك قاعدة بيانات PostgreSQL عند الترقية من 21.3 إلى 22.3. يُغلق [#36659](https://github.com/ClickHouse/ClickHouse/issues/36659). [#38369](https://github.com/ClickHouse/ClickHouse/pull/38369) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تعمل الآن الدالة `filesystemAvailable` والدوال المشابهة في `clickhouse-local`. هذا يُغلق [#38423](https://github.com/ClickHouse/ClickHouse/issues/38423). [#38424](https://github.com/ClickHouse/ClickHouse/pull/38424) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة الدالة `revision`. [#38555](https://github.com/ClickHouse/ClickHouse/pull/38555) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح استخدام GCS عبر نفق proxy. [#38726](https://github.com/ClickHouse/ClickHouse/pull/38726) ([Azat Khuzhin](https://github.com/azat)).
* دعم `\i file` في clickhouse client / local (على غرار `\i` في psql). [#38813](https://github.com/ClickHouse/ClickHouse/pull/38813) ([Kseniia Sumarokova](https://github.com/kssenii)).
* خيار جديد `optimize = 1` في `EXPLAIN AST`. إذا كان مفعّلًا، فسيعرض AST بعد إعادة كتابته، وإلا فسيعرض AST الخاص بالاستعلام الأصلي. وهو معطّل افتراضيًا. [#38910](https://github.com/ClickHouse/ClickHouse/pull/38910) ([Igor Nikonov](https://github.com/devcrafter)).
* السماح بوجود فاصلة زائدة في قائمة الأعمدة. يُغلق [#38425](https://github.com/ClickHouse/ClickHouse/issues/38425). [#38440](https://github.com/ClickHouse/ClickHouse/pull/38440) ([chen](https://github.com/xiedeyantu)).
* إصلاحات وتحسينات في الأداء لطريقة JOIN `parallel_hash`. [#37648](https://github.com/ClickHouse/ClickHouse/pull/37648) ([Vladimir C](https://github.com/vdimir)).
* دعم نقل RPC الآمن في hadoop ‏(`hadoop.rpc.protection=privacy` و `hadoop.rpc.protection=integrity`). [#37852](https://github.com/ClickHouse/ClickHouse/pull/37852) ([Peng Liu](https://github.com/michael1589)).
* إضافة دعم النوع struct في `StorageHive`. [#38118](https://github.com/ClickHouse/ClickHouse/pull/38118) ([lgbo](https://github.com/lgbo-ustc)).
* تُزال الآن الكائنات المفردة في S3 باستخدام `RemoveObjectRequest`. وقد أُضيف التوافق مع GCP، الذي لم يكن يسمح باستخدام `removeFileIfExists`، ما كان يعطّل فعليًا نحو نصف وظائف `remove`. كما أُضيف الاكتشاف التلقائي لواجهة برمجة تطبيقات S3 `DeleteObjects` غير المدعومة في GCS. يتيح ذلك استخدام GCS من دون الحاجة إلى تعيين `support_batch_delete=0` صراحةً في الإعدادات. [#37882](https://github.com/ClickHouse/ClickHouse/pull/37882) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إتاحة بيانات monitoring أساسية متعلقة بـ ClickHouse Keeper (عبر ProfileEvents وCurrentMetrics). [#38072](https://github.com/ClickHouse/ClickHouse/pull/38072) ([lingpeng0314](https://github.com/lingpeng0314)).
* دعم الخيار `auto_close` لاتصال محرك PostgreSQL. يُغلق [#31486](https://github.com/ClickHouse/ClickHouse/issues/31486). [#38363](https://github.com/ClickHouse/ClickHouse/pull/38363) ([Kseniia Sumarokova](https://github.com/kssenii)).
* السماح باستخدام المعدِّل `NULL` في تعريف الأعمدة ضمن table functions. [#38816](https://github.com/ClickHouse/ClickHouse/pull/38816) ([Kruglov Pavel](https://github.com/Avogar)).
* تعطيل `mutations_finalizing_task` قبل الإيقاف لتجنّب أخطاء `TABLE_IS_READ_ONLY` غير الضارة أثناء الإيقاف. [#38851](https://github.com/ClickHouse/ClickHouse/pull/38851) ([Raúl Marín](https://github.com/Algunenano)).
* إزالة الانتظار غير الضروري لاستعلامات SELECT بعد استعلامات ALTER عند وجود استعلامات INSERT إذا كنت تستخدم قواعد البيانات Ordinary المهجورة. [#38864](https://github.com/ClickHouse/ClickHouse/pull/38864) ([Azat Khuzhin](https://github.com/azat)).
* خيار جديد `rewrite` في `EXPLAIN AST`. عند تفعيله، يعرض AST بعد إعادة كتابته، وإلا فيعرض AST للاستعلام الأصلي. وهو معطّل افتراضيًا. [#38910](https://github.com/ClickHouse/ClickHouse/pull/38910) ([Igor Nikonov](https://github.com/devcrafter)).
* إيقاف الإبلاغ عن استثناءات Zookeeper "Node exists" في system.errors عندما تكون متوقعة. [#38961](https://github.com/ClickHouse/ClickHouse/pull/38961) ([Raúl Marín](https://github.com/Algunenano)).
* `clickhouse-keeper`: إضافة دعم لحساب digest والتحقق منه آنيًا. وهو معطّل افتراضيًا. [#37555](https://github.com/ClickHouse/ClickHouse/pull/37555) ([Antonio Andelic](https://github.com/antonio2368)).
* السماح بتحديد globs `* or {expr1, expr2, expr3}` داخل مفتاح لأداة `clickhouse-extract-from-config`. [#38966](https://github.com/ClickHouse/ClickHouse/pull/38966) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* clearOldLogs: عدم الإبلاغ عن KEEPER\_EXCEPTION عند عمليات الحذف المتزامنة. [#39016](https://github.com/ClickHouse/ClickHouse/pull/39016) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين في clickhouse-keeper: حفظ البيانات الوصفية المتعلقة بخوادم Keeper على القرص. [#39069](https://github.com/ClickHouse/ClickHouse/pull/39069) ([Antonio Andelic](https://github.com/antonio2368)). سيجعل ذلك التشغيل أسهل إذا أوقفت جميع عقد keeper أو أعدت تشغيلها في الوقت نفسه.
* المتابعة دون استثناء عند نفاد مساحة القرص عند استخدام filesystem cache. [#39106](https://github.com/ClickHouse/ClickHouse/pull/39106) ([Kseniia Sumarokova](https://github.com/kssenii)).
* التعامل مع إشارات SIGTERM من k8s. [#39130](https://github.com/ClickHouse/ClickHouse/pull/39130) ([Timur Solodovnikov](https://github.com/tsolodov)).
* إضافة العمود `merge_algorithm` ‏(Undecided, Horizontal, Vertical) إلى system.part\_log. [#39181](https://github.com/ClickHouse/ClickHouse/pull/39181) ([Azat Khuzhin](https://github.com/azat)).
* لا تزِد أي عدّاد في `system.errors` عندما لا يكون القرص دوّارًا. [#39216](https://github.com/ClickHouse/ClickHouse/pull/39216) ([Raúl Marín](https://github.com/Algunenano)).
* يُظهر المقياس `result_bytes` لاستعلامات `INSERT` في `system.query_log` عدد البايتات المُدرجة. في السابق، كانت هذه القيمة غير صحيحة، إذ كانت تُخزَّن بالقيمة نفسها الخاصة بـ `result_rows`. [#39225](https://github.com/ClickHouse/ClickHouse/pull/39225) ([Ilya Yatsishin](https://github.com/qoega)).
* سيُعرَض مقياس استخدام CPU في `clickhouse-client` بطريقة أفضل. يُصلح [#38756](https://github.com/ClickHouse/ClickHouse/issues/38756). [#39280](https://github.com/ClickHouse/ClickHouse/pull/39280) ([Sergei Trifonov](https://github.com/serxa)).
* أعِد رمي الاستثناء عند تهيئة `filesystem cache` أثناء بدء تشغيل الخادم، مع رسالة خطأ أفضل. [#39386](https://github.com/ClickHouse/ClickHouse/pull/39386) ([Kseniia Sumarokova](https://github.com/kssenii)).
* يجمع OpenTelemetry الآن `traces` من دون `spans` الخاصة بـ `Processors` افتراضيًا (لأن عددها كبير جدًا). ولتمكين جمع `spans` الخاصة بـ `Processors`، استخدم الإعداد `opentelemetry_trace_processors`. [#39170](https://github.com/ClickHouse/ClickHouse/pull/39170) ([Ilya Yatsishin](https://github.com/qoega)).
* الدوال `multiMatch[Fuzzy](AllIndices/Any/AnyIndex)` — لا تُطلق `logical error` إذا كانت قيمة الوسيط `needle` فارغة. [#39012](https://github.com/ClickHouse/ClickHouse/pull/39012) ([Robert Schulze](https://github.com/rschu1ze)).
* السماح بتعريف `queue` لـ `RabbitMQ` من دون الوسيطات الافتراضية `x-max-length` و`x-overflow`. [#39259](https://github.com/ClickHouse/ClickHouse/pull/39259) ([rnbondarenko](https://github.com/rnbondarenko)).

<div id="buildtestingpackaging-improvement-3">
  #### تحسينات في البناء والاختبار والتحزيم
</div>

* تطبيق annotations لتحليل أمان الخيوط (TSA) في Clang على ClickHouse. [#38068](https://github.com/ClickHouse/ClickHouse/pull/38068) ([Robert Schulze](https://github.com/rschu1ze)).
* تكييف برنامج التثبيت النصي العام ليتوافق مع FreeBSD. [#39302](https://github.com/ClickHouse/ClickHouse/pull/39302) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحضير البناء على منصة `s390x`. [#39193](https://github.com/ClickHouse/ClickHouse/pull/39193) ([Harry Lee](https://github.com/HarryLeeIBM)).
* إصلاح خطأ في مكتبة `jemalloc`. [#38757](https://github.com/ClickHouse/ClickHouse/pull/38757) ([Azat Khuzhin](https://github.com/azat)).
* أصبح اختبار الأداء على الأجهزة يدعم الآن رفع النتائج تلقائيًا. [#38427](https://github.com/ClickHouse/ClickHouse/pull/38427) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أصبح جدول النظام "system.licenses" يُملأ بشكل صحيح على Mac (Darwin). [#38294](https://github.com/ClickHouse/ClickHouse/pull/38294) ([Robert Schulze](https://github.com/rschu1ze)).
* تغيير حزم `all|noarch` إلى حزم معتمدة على المعمارية - إصلاح بعض الوثائق المتعلقة بذلك - دفع حزم aarch64|arm64 إلى Artifactory وأصول الإصدار - إصلاح [#36443](https://github.com/ClickHouse/ClickHouse/issues/36443). [#38580](https://github.com/ClickHouse/ClickHouse/pull/38580) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release-3">
  #### إصلاح خطأ (سلوك غير صحيح ظاهر للمستخدم في إصدار رسمي مستقر أو ما قبل مستقر)
</div>

* إصلاح التقريب في `Decimal128/Decimal256` عند استخدام scale يزيد طوله على 19 رقمًا. [#38027](https://github.com/ClickHouse/ClickHouse/pull/38027) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح تعطل ناتج عن data race في التخزين `Hive` (محرك جدول التكامل). [#38887](https://github.com/ClickHouse/ClickHouse/pull/38887) ([lgbo](https://github.com/lgbo-ustc)).
* إصلاح التعطل عند تنفيذ GRANT ALL ON *.* مع ON CLUSTER. كان هذا معطّلًا بسبب [https://github.com/ClickHouse/ClickHouse/pull/35767](https://github.com/ClickHouse/ClickHouse/pull/35767). وهذا يغلق [#38618](https://github.com/ClickHouse/ClickHouse/issues/38618). [#38674](https://github.com/ClickHouse/ClickHouse/pull/38674) ([Vitaly Baranov](https://github.com/vitlibar)).
* تصحيح توسيع glob في حالة الصيغ `{0..10}`. يُصلح [#38498](https://github.com/ClickHouse/ClickHouse/issues/38498). التنفيذ الحالي مشابه لما تفعله shell، كما ذكر @rschu1ze [هنا](https://github.com/ClickHouse/ClickHouse/pull/38502#issuecomment-1169057723). [#38502](https://github.com/ClickHouse/ClickHouse/pull/38502) ([Heena Bansal](https://github.com/HeenaBansal2009)).
* إصلاح التعطل في الدالتين `mapUpdate` و`mapFilter` عند استخدام وسيطة map ثابتة. يغلق [#38547](https://github.com/ClickHouse/ClickHouse/issues/38547). [#38553](https://github.com/ClickHouse/ClickHouse/pull/38553) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح معلومات الرتابة للدالة `toHour` في query optimization، والتي قد تؤدي إلى نتائج query غير صحيحة (index analysis غير صحيح). وهذا يُصلح [#38333](https://github.com/ClickHouse/ClickHouse/issues/38333). [#38675](https://github.com/ClickHouse/ClickHouse/pull/38675) ([Amos Bird](https://github.com/amosbird)).
* إصلاح التحقق مما إذا كانت S3 storage تدعم الكتابات المتوازية. وكان ذلك يؤدي إلى عدم عمل الكتابات المتوازية إلى S3. [#38792](https://github.com/ClickHouse/ClickHouse/pull/38792) ([chen](https://github.com/xiedeyantu)).
* إصلاح reads القابلة للـ seek في S3 مع read buffer المتوازي. (وقد أثّر ذلك في memory usage أثناء query). يغلق [#38258](https://github.com/ClickHouse/ClickHouse/issues/38258). [#38802](https://github.com/ClickHouse/ClickHouse/pull/38802) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تحديث `simdjson`. يُصلح هذا [#38621](https://github.com/ClickHouse/ClickHouse/issues/38621) — وهو overflow في buffer على الأجهزة التي تستخدم أحدث معالجات Intel مع AVX-512 VBMI. [#38838](https://github.com/ClickHouse/ClickHouse/pull/38838) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح logical error محتمل في عمليات Vertical merges. [#38859](https://github.com/ClickHouse/ClickHouse/pull/38859) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح settings profile مع وحدة Seconds. [#38896](https://github.com/ClickHouse/ClickHouse/pull/38896) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح partition pruning غير الصحيح عند وجود partition key من نوع Nullable. ملاحظة: على الأرجح أنك لا تستخدم مفاتيح partition من نوع Nullable — فهذه ميزة نادرة لا ينبغي استخدامها. مفاتيح Nullable غير منطقية، وهذه الميزة مطلوبة فقط لبعض حالات الاستخدام الغريبة جدًا. وهذا يُصلح [#38941](https://github.com/ClickHouse/ClickHouse/issues/38941). [#38946](https://github.com/ClickHouse/ClickHouse/pull/38946) ([Amos Bird](https://github.com/amosbird)).
* تحسين `fsync_part_directory` لعمليات fetches. [#38993](https://github.com/ClickHouse/ClickHouse/pull/38993) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح حالة deadlock محتملة داخل `OvercommitTracker`. يُصلح [#37794](https://github.com/ClickHouse/ClickHouse/issues/37794). [#39030](https://github.com/ClickHouse/ClickHouse/pull/39030) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح خطأ في filesystem cache كان يمكن أن يحدث في بعض الحالات النادرة عند وصول سعة ذاكرة التخزين المؤقت إلى الحد الأقصى. يغلق [#39066](https://github.com/ClickHouse/ClickHouse/issues/39066). [#39070](https://github.com/ClickHouse/ClickHouse/pull/39070) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح بعض الحالات النادرة في تفسير الوسيطات الخاصة بتعبيرات window. ويصلح هذا [#38538](https://github.com/ClickHouse/ClickHouse/issues/38538)، كما يسمح باستخدام الدوال عالية الرتبة في تعبيرات window. [#39112](https://github.com/ClickHouse/ClickHouse/pull/39112) ([Dmitry Novik](https://github.com/novikd)).
* الإبقاء على النوع `LowCardinality` في الدالة `tuple`. سابقًا، كان النوع `LowCardinality` يُزال، وكانت عناصر tuple المُنشأ تأخذ النوع الأساسي لـ `LowCardinality`. [#39113](https://github.com/ClickHouse/ClickHouse/pull/39113) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الخطأ `Block structure mismatch` الذي كان يمكن أن يحدث عند تنفيذ INSERT في table تحتوي على `MATERIALIZED VIEW` مرفقة وكان الإعداد `extremes = 1` ممكّنًا. يغلق [#29759](https://github.com/ClickHouse/ClickHouse/issues/29759) و[#38729](https://github.com/ClickHouse/ClickHouse/issues/38729). [#39125](https://github.com/ClickHouse/ClickHouse/pull/39125) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح نتيجة query غير متوقعة عندما يكون كل من `optimize_trivial_count_query` و `empty_result_for_aggregation_by_empty_set` مضبوطًا على true. ويصلح هذا [#39140](https://github.com/ClickHouse/ClickHouse/issues/39140). [#39155](https://github.com/ClickHouse/ClickHouse/pull/39155) ([Amos Bird](https://github.com/amosbird)).
* إصلاح الخطأ `Not found column Type in block` في عمليات SELECT التي تستخدم `PREWHERE` وتحسينات القراءة بالترتيب. [#39157](https://github.com/ClickHouse/ClickHouse/pull/39157) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح race condition نادرة للغاية أثناء إنشاء hardlinks في remote filesystem. والطريقة الوحيدة لإعادة إنتاجها هي التشغيل المتزامن لعمليات النسخ الاحتياطي. [#39190](https://github.com/ClickHouse/ClickHouse/pull/39190) ([alesapin](https://github.com/alesapin)).
* (zero-copy replication ميزة تجريبية ويجب عدم استخدامها في بيئة production) إصلاح fetch لجزء موجود في الذاكرة مع `allow_remote_fs_zero_copy_replication`. [#39214](https://github.com/ClickHouse/ClickHouse/pull/39214) ([Azat Khuzhin](https://github.com/azat)).
* (MaterializedPostgreSQL - ميزة تجريبية). إصلاح خطأ segmentation fault في database engine ‏MaterializedPostgreSQL، والذي كان يمكن أن يحدث عند وقوع استثناء أثناء تهيئة replication. يغلق [#36939](https://github.com/ClickHouse/ClickHouse/issues/36939). [#39272](https://github.com/ClickHouse/ClickHouse/pull/39272) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح fetch غير الصحيح للبيانات الوصفية للجدول من database engine ‏PostgreSQL. يغلق [#33502](https://github.com/ClickHouse/ClickHouse/issues/33502). [#39283](https://github.com/ClickHouse/ClickHouse/pull/39283) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح استثناء projection عندما تكون مفاتيح aggregation مغلّفة داخل دوال أخرى. ويصلح هذا [#37151](https://github.com/ClickHouse/ClickHouse/issues/37151). [#37155](https://github.com/ClickHouse/ClickHouse/pull/37155) ([Amos Bird](https://github.com/amosbird)).
* إصلاح logical error محتمل `... with argument with type Nothing and default implementation for Nothing is expected to return result with type Nothing, got ...` في بعض الدوال. يغلق: [#37610](https://github.com/ClickHouse/ClickHouse/issues/37610) يغلق: [#37741](https://github.com/ClickHouse/ClickHouse/issues/37741). [#37759](https://github.com/ClickHouse/ClickHouse/pull/37759) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الترتيب غير الصحيح للأعمدة في الاستعلامات الفرعية ضمن UNION (إذ قد تؤدي الأعمدة المكررة في الاستعلامات الفرعية إلى نتائج غير صحيحة). [#37887](https://github.com/ClickHouse/ClickHouse/pull/37887) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح السلوك غير الصحيح لأمر MODIFY ALTER Column مع أسماء الأعمدة التي تحتوي على نقاط. يغلق [#37907](https://github.com/ClickHouse/ClickHouse/issues/37907). [#37971](https://github.com/ClickHouse/ClickHouse/pull/37971) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح قراءة الأعمدة sparse من جداول `MergeTree` التي تخزّن بياناتها في S3. [#37978](https://github.com/ClickHouse/ClickHouse/pull/37978) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح احتمال حدوث crash في async insert لمحرك `Distributed` عند إزالة replica من config. [#38029](https://github.com/ClickHouse/ClickHouse/pull/38029) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خطأ "Missing columns" في GLOBAL JOIN مع CTE من دون alias. [#38056](https://github.com/ClickHouse/ClickHouse/pull/38056) ([Azat Khuzhin](https://github.com/azat)).
* إعادة كتابة دوال tuple كقيم حرفية في وضع التوافق مع الإصدارات السابقة. [#38096](https://github.com/ClickHouse/ClickHouse/pull/38096) ([Anton Kozlov](https://github.com/tonickkozlov)).
* إصلاح الحجز الزائد للذاكرة لكتلة الإخراج أثناء `ORDER BY`. [#38127](https://github.com/ClickHouse/ClickHouse/pull/38127) ([iyupeng](https://github.com/iyupeng)).
* إصلاح احتمال حدوث logical error `Bad cast from type DB::IColumn* to DB::ColumnNullable*` في الدوال المطبَّقة على Array. يغلق [#38006](https://github.com/ClickHouse/ClickHouse/issues/38006). [#38132](https://github.com/ClickHouse/ClickHouse/pull/38132) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تعارض مؤقت في الأسماء في partial merge join، يغلق [#37928](https://github.com/ClickHouse/ClickHouse/issues/37928). [#38135](https://github.com/ClickHouse/ClickHouse/pull/38135) ([Vladimir C](https://github.com/vdimir)).
* إصلاح مشكلة بسيطة في استعلامات مثل `CREATE TABLE nested_name_tuples (`a` Tuple(x String, y Tuple(i Int32, j String))) ENGINE = Memory;` [#38136](https://github.com/ClickHouse/ClickHouse/pull/38136) ([lgbo](https://github.com/lgbo-ustc)).
* إصلاح خطأ في دوال الاختصار الشرطي المتداخلة كان يؤدي إلى تنفيذ الوسائط حتى عندما يكون الشرط false. يغلق [#38040](https://github.com/ClickHouse/ClickHouse/issues/38040). [#38173](https://github.com/ClickHouse/ClickHouse/pull/38173) ([Kruglov Pavel](https://github.com/Avogar)).
* (Window View ميزة تجريبية) إصلاح LOGICAL\_ERROR في WINDOW VIEW عند وجود structure غير صحيحة. [#38205](https://github.com/ClickHouse/ClickHouse/pull/38205) ([Azat Khuzhin](https://github.com/azat)).
* تحديث librdkafka submodule لإصلاح crash عند تعيين callback لتحديث OAUTHBEARER. [#38225](https://github.com/ClickHouse/ClickHouse/pull/38225) ([Rafael Acevedo](https://github.com/racevedoo)).
* إصلاح تعليق INSERT إلى Distributed بسبب ProfileEvents. [#38307](https://github.com/ClickHouse/ClickHouse/pull/38307) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح retries في engine الخاص بـ PostgreSQL. [#38310](https://github.com/ClickHouse/ClickHouse/pull/38310) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح التحسين في PartialSortingTransform (SIGSEGV واحتمال ظهور نتائج غير صحيحة). [#38324](https://github.com/ClickHouse/ClickHouse/pull/38324) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح مشكلة في RabbitMQ مع التنسيقات المعتمدة على PeekableReadBuffer. يُغلق [#38061](https://github.com/ClickHouse/ClickHouse/issues/38061). [#38356](https://github.com/ClickHouse/ClickHouse/pull/38356) ([Kseniia Sumarokova](https://github.com/kssenii)).
* MaterializedPostgreSQL - ميزة تجريبية. إصلاح احتمال ظهور الخطأ `Invalid number of rows in Chunk` في MaterializedPostgreSQL. يُغلق [#37323](https://github.com/ClickHouse/ClickHouse/issues/37323). [#38360](https://github.com/ClickHouse/ClickHouse/pull/38360) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح إعداد RabbitMQ عند استخدام إعداد سلسلة الاتصال. يُغلق [#36531](https://github.com/ClickHouse/ClickHouse/issues/36531). [#38365](https://github.com/ClickHouse/ClickHouse/pull/38365) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح محرك PostgreSQL الذي لا يستخدم مخطط PostgreSQL عند استرجاع حجم بُعد المصفوفة. يُغلق [#36755](https://github.com/ClickHouse/ClickHouse/issues/36755). يُغلق [#36772](https://github.com/ClickHouse/ClickHouse/issues/36772). [#38366](https://github.com/ClickHouse/ClickHouse/pull/38366) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح احتمال ظهور نتائج غير صحيحة في الاستعلامات الموزعة مع `DISTINCT` و `LIMIT`. يُصلح [#38282](https://github.com/ClickHouse/ClickHouse/issues/38282). [#38371](https://github.com/ClickHouse/ClickHouse/pull/38371) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح النتائج الخاطئة للدالتين countSubstrings() و position() في الأنماط التي تحتوي على بايتات صفرية. [#38589](https://github.com/ClickHouse/ClickHouse/pull/38589) ([Robert Schulze](https://github.com/rschu1ze)).
* أصبح من الممكن الآن تشغيل clickhouse-server وإرفاق/فصل الجداول حتى للجداول التي تحتوي على قيم غير صحيحة لتمثيل IPv4/IPv6. إصلاح مناسب للمشكلة [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#38590](https://github.com/ClickHouse/ClickHouse/pull/38590) ([alesapin](https://github.com/alesapin)).
* ستعمل الدالة `rankCorr` بشكل صحيح إذا كانت بعض الوسيطات NaN. هذا يُغلق [#38396](https://github.com/ClickHouse/ClickHouse/issues/38396). [#38722](https://github.com/ClickHouse/ClickHouse/pull/38722) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح `parallel_view_processing=1` مع `optimize_trivial_insert_select=1`. إصلاح `max_insert_threads` أثناء الدفع إلى طرق العرض. [#38731](https://github.com/ClickHouse/ClickHouse/pull/38731) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح مشكلة use-after-free في الدوال التجميعية مع المُركِّب `Map`، والتي تؤدي إلى نتائج غير صحيحة. [#38748](https://github.com/ClickHouse/ClickHouse/pull/38748) ([Azat Khuzhin](https://github.com/azat)).

### <a id="226" /> إصدار ClickHouse 22.6، 2022-06-16. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.6/)، [الفيديو](https://www.youtube.com/watch?v=0fSp9SF8N8A)

<Frame>
  <iframe src="https://www.youtube.com/embed/0fSp9SF8N8A" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* إزالة دعم صيغ الأعداد الثمانية في SQL. في الإصدارات السابقة، كان يجري تحليلها على أنها Float64. [#37765](https://github.com/ClickHouse/ClickHouse/pull/37765) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* تغيّرت طريقة تحليل الإعدادات التي تستخدم `seconds` كنوع، وذلك لدعم القيم ذات الفاصلة العائمة (على سبيل المثال: `max_execution_time=0.5`). وستؤدي قيم Infinity أو NaN إلى طرح استثناء. [#37187](https://github.com/ClickHouse/ClickHouse/pull/37187) ([Raúl Marín](https://github.com/Algunenano)).
* تم تغيير تنسيق التسلسل الثنائي لأعمدة النوع التجريبي `Object`. وأصبح التنسيق الجديد أسهل في التنفيذ من قِبل clients من جهات خارجية. [#37482](https://github.com/ClickHouse/ClickHouse/pull/37482) ([Anton Popov](https://github.com/CurtizJ)).
* تم تفعيل الإعداد `output_format_json_named_tuples_as_objects` افتراضيًا. ويتيح ذلك إجراء serialize لـ named tuples على هيئة JSON objects ضمن JSON formats. [#37756](https://github.com/ClickHouse/ClickHouse/pull/37756) ([Anton Popov](https://github.com/CurtizJ)).
* لم يعد مسموحًا الآن باستخدام patterns الخاصة بـ LIKE التي تنتهي برمز escape ('\\')، وذلك وفقًا لما يفرضه معيار SQL. [#37764](https://github.com/ClickHouse/ClickHouse/pull/37764) ([Robert Schulze](https://github.com/rschu1ze)).
* إذا كنت تشغّل إصدارات مختلفة من ClickHouse على cluster بمعالج AArch64 CPU، أو تمزج بين AArch64 و amd64 داخل cluster، وتستخدم distributed queries مع GROUP BY على عدة مفاتيح من نوع ثابت الحجم يتسع ضمن 256 bit ولكنه لا يتسع ضمن 64 bit، وكان حجم النتيجة ضخمًا، فلن تُجمَّع البيانات بالكامل في نتيجة هذه queries أثناء الترقية. الحل البديل: نفّذ الترقية مع downtime بدلًا من rolling upgrade.

<div id="new-feature">
  #### ميزة جديدة
</div>

* إضافة الدالة `GROUPING`. تتيح هذه الدالة إزالة الالتباس عن السجلات في الاستعلامات التي تستخدم `ROLLUP` أو `CUBE` أو `GROUPING SETS`. يُغلق [#19426](https://github.com/ClickHouse/ClickHouse/issues/19426). [#37163](https://github.com/ClickHouse/ClickHouse/pull/37163) ([Dmitry Novik](https://github.com/novikd)).
* إضافة خوارزمية codec جديدة [FPC](https://userweb.cs.txstate.edu/~burtscher/papers/dcc07a.pdf) لضغط البيانات ذات الفاصلة العائمة. [#37553](https://github.com/ClickHouse/ClickHouse/pull/37553) ([Mikhail Guzov](https://github.com/koloshmet)).
* إضافة تنسيقات JSON عمودية جديدة: `JSONColumns` و`JSONCompactColumns` و`JSONColumnsWithMetadata`. يُغلق [#36338](https://github.com/ClickHouse/ClickHouse/issues/36338) يُغلق [#34509](https://github.com/ClickHouse/ClickHouse/issues/34509). [#36975](https://github.com/ClickHouse/ClickHouse/pull/36975) ([Kruglov Pavel](https://github.com/Avogar)).
* أُضيفت أداة لتصوّر traces في OpenTelemetry بالاعتماد على d3js. [#37810](https://github.com/ClickHouse/ClickHouse/pull/37810) ([Sergei Trifonov](https://github.com/serxa)).
* دعم عمليات INSERT إلى table ‏`system.zookeeper`. يُغلق [#22130](https://github.com/ClickHouse/ClickHouse/issues/22130). [#37596](https://github.com/ClickHouse/ClickHouse/pull/37596) ([Han Fei](https://github.com/hanfei1991)).
* دعم argument ‏pattern غير الثابتة للدوال `LIKE` و`ILIKE` و`match`. [#37251](https://github.com/ClickHouse/ClickHouse/pull/37251) ([Robert Schulze](https://github.com/rschu1ze)).
* أصبحت Executable User Defined Functions تدعم الآن parameters. مثال: `SELECT test_function(parameters)(arguments)`. يُغلق [#37578](https://github.com/ClickHouse/ClickHouse/issues/37578). [#37720](https://github.com/ClickHouse/ClickHouse/pull/37720) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة column ‏`merge_reason` إلى table ‏`system.part&#95;log`. [#36912](https://github.com/ClickHouse/ClickHouse/pull/36912) ([Sema Checherinda](https://github.com/CheSema)).
* إضافة دعم maps وrecords في تنسيق Avro. وإضافة setting جديدة `input_format_avro_null_as_default ` تتيح إدراج null كقيمة default في تنسيق Avro. يُغلق [#18925](https://github.com/ClickHouse/ClickHouse/issues/18925) يُغلق [#37378](https://github.com/ClickHouse/ClickHouse/issues/37378) يُغلق [#32899](https://github.com/ClickHouse/ClickHouse/issues/32899). [#37525](https://github.com/ClickHouse/ClickHouse/pull/37525) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة أداة `clickhouse-disks` لفحص أنظمة الملفات الافتراضية المهيأة لـ ClickHouse وإجراء العمليات عليها. [#36060](https://github.com/ClickHouse/ClickHouse/pull/36060) ([Artyom Yurkov](https://github.com/Varinara)).
* إضافة دوال H3 للحواف أحادية الاتجاه. [#36843](https://github.com/ClickHouse/ClickHouse/pull/36843) ([Bharat Nallan](https://github.com/bharatnc)).
* إضافة دعم لحساب [hashids](https://hashids.org/) من الأعداد الصحيحة غير الموقعة. [#37013](https://github.com/ClickHouse/ClickHouse/pull/37013) ([Michael Nutt](https://github.com/mnutt)).
* يُسمح بتحديد `SALT` صراحةً مع `CREATE USER <user> IDENTIFIED WITH sha256_hash`. [#37377](https://github.com/ClickHouse/ClickHouse/pull/37377) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إضافة settingين جديدتين `input_format_csv_skip_first_lines/input_format_tsv_skip_first_lines` للسماح بتخطي عدد محدد من الأسطر في بداية الملف في تنسيقات CSV/TSV. [#37537](https://github.com/ClickHouse/ClickHouse/pull/37537) ([Kruglov Pavel](https://github.com/Avogar)).
* تعرض الدالة `showCertificate` شهادة SSL الحالية الخاصة بالخادم. [#37540](https://github.com/ClickHouse/ClickHouse/pull/37540) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* تمت إضافة دعم مصدر HTTP لـ Data Dictionaries ضمن المجموعات المسماة. [#37581](https://github.com/ClickHouse/ClickHouse/pull/37581) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* أُضيفت دالة نافذة جديدة `nonNegativeDerivative(metric_column, timestamp_column[, INTERVAL x SECOND])`. [#37628](https://github.com/ClickHouse/ClickHouse/pull/37628) ([Andrey Zvonov](https://github.com/zvonand)).
* تم تنفيذ إمكانية تغيير التعليق لجداول `ReplicatedMergeTree`. [#37416](https://github.com/ClickHouse/ClickHouse/pull/37416) ([Vasily Nemkov](https://github.com/Enmk)).
* أُضيف استعلام `SYSTEM UNFREEZE` الذي يحذف النسخة الاحتياطية بالكامل بغض النظر عمّا إذا كان الجدول المقابل محذوفًا أم لا. [#36424](https://github.com/ClickHouse/ClickHouse/pull/36424) ([Vadim Volodin](https://github.com/PolyProgrammist)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* يتيح استخدام `POPULATE` في `WINDOW VIEW`. [#36945](https://github.com/ClickHouse/ClickHouse/pull/36945) ([vxider](https://github.com/Vxider)).
* دعم `ALTER TABLE ... MODIFY QUERY` في `WINDOW VIEW`. [#37188](https://github.com/ClickHouse/ClickHouse/pull/37188) ([vxider](https://github.com/Vxider)).
* يغيّر طلب السحب هذا سلوك صياغة `ENGINE` في `WINDOW VIEW` ليصبح مماثلًا لما هو عليه في `MATERIALIZED VIEW`. [#37214](https://github.com/ClickHouse/ClickHouse/pull/37214) ([vxider](https://github.com/Vxider)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* أُضيفت تحسينات عديدة لـ ARM NEON [#38093](https://github.com/ClickHouse/ClickHouse/pull/38093)([Daniel Kutenin](https://github.com/danlark1)), ([Alexandra Pilipyuk](https://github.com/chalice19)) ملاحظة: إذا كنت تشغّل إصدارات مختلفة من ClickHouse على عنقود يحتوي على معالج ARM وتستخدم الاستعلامات الموزعة مع GROUP BY على عدة مفاتيح من نوع ثابت الحجم يتّسع لـ 256 بت لكنه لا يتّسع لـ 64 بت، فستكون نتيجة استعلام التجميع غير صحيحة أثناء الترقية. الحل البديل: أجرِ الترقية مع فترة توقّف بدلًا من الترقية المتدرجة.
* تحسين الأداء واستهلاك الذاكرة عند اختيار مجموعة فرعية من الأعمدة من التنسيقات Native وProtobuf وCapnProto وJSONEachRow وTSKV، وجميع التنسيقات ذات اللواحق WithNames/WithNamesAndTypes. سابقًا، عند اختيار مجموعة فرعية فقط من الأعمدة من الملفات بهذه التنسيقات، كانت جميع الأعمدة تُقرأ وتُخزَّن في الذاكرة. الآن لا تُقرأ إلا الأعمدة المطلوبة. يفعّل هذا الـ PR الإعداد `input_format_skip_unknown_fields` افتراضيًا، لأنه بخلاف ذلك سيُطرَح استثناء عند اختيار مجموعة فرعية من الأعمدة. [#37192](https://github.com/ClickHouse/ClickHouse/pull/37192) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبح الآن بالإمكان دفع المزيد من عوامل التصفية إلى مستوى أدنى في join. [#37472](https://github.com/ClickHouse/ClickHouse/pull/37472) ([Amos Bird](https://github.com/amosbird)).
* تحميل العلامات للأعمدة الضرورية فقط عند قراءة الأجزاء العريضة. [#36879](https://github.com/ClickHouse/ClickHouse/pull/36879) ([Anton Kozlov](https://github.com/tonickkozlov)).
* تحسين أداء التجميع عندما تُستخدَم الأعمدة المتفرقة (يمكن تفعيلها عبر الإعداد التجريبي `ratio_of_defaults_for_sparse_serialization` في جداول `MergeTree`) كوسيطات في الدوال التجميعية. [#37617](https://github.com/ClickHouse/ClickHouse/pull/37617) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين الدالة `COALESCE` عند استخدام وسيطتين. [#37666](https://github.com/ClickHouse/ClickHouse/pull/37666) ([Anton Popov](https://github.com/CurtizJ)).
* استبدال `multiIf` بـ `if` عندما تحتوي `multiIf` على شرط واحد فقط، لأن الدالة `if` أعلى أداءً. [#37695](https://github.com/ClickHouse/ClickHouse/pull/37695) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين أداء الدالتين `dictGetDescendants` و`dictGetChildren` عبر إنشاء فهرس هرمي مؤقت من الأصل إلى الأبناء لكل استعلام بدلًا من إنشائه عند كل استدعاء للدالة أثناء الاستعلام. كما أصبح بالإمكان تحديد `BIDIRECTIONAL` لسمات `HIERARHICAL`، وعندها سيحتفظ القاموس بفهرس من الأصل إلى الأبناء في الذاكرة، وبذلك لن تُنشئ الدالتان `dictGetDescendants` و`dictGetChildren` فهرسًا مؤقتًا لكل استعلام. يغلق [#32481](https://github.com/ClickHouse/ClickHouse/issues/32481). [#37148](https://github.com/ClickHouse/ClickHouse/pull/37148) ([Maksim Kita](https://github.com/kitaisreal)).
* قد يُحال الآن التخلص من حالات التجميع إلى مجمّع مؤشرات ترابط. وبالنسبة إلى الاستعلامات التي تحتوي على LIMIT وحالة كبيرة، يوفّر ذلك تسريعًا ملحوظًا؛ فعلى سبيل المثال، أصبح `select uniq(number) from numbers_mt(1e7) group by number limit 100` أسرع بنحو 2.5 مرة. [#37855](https://github.com/ClickHouse/ClickHouse/pull/37855) ([Nikita Taranov](https://github.com/nickitat)).
* تحسين أداء الفرز حسب عمود واحد. [#37195](https://github.com/ClickHouse/ClickHouse/pull/37195) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء فرز عمود واحد باستخدام تخصيصات طابور الفرز. [#37990](https://github.com/ClickHouse/ClickHouse/pull/37990) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء دوال معيار Array ودوال المسافة بمقدار يتراوح بين 2x و4x. [#37394](https://github.com/ClickHouse/ClickHouse/pull/37394) ([Alexander Gololobov](https://github.com/davenger)).
* تحسين أداء دوال مقارنة الأرقام باستخدام الإرسال الديناميكي. [#37399](https://github.com/ClickHouse/ClickHouse/pull/37399) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء ORDER BY مع LIMIT. [#37481](https://github.com/ClickHouse/ClickHouse/pull/37481) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء الدالة `hasAll` باستخدام البنية التحتية للتوزيع الديناميكي. [#37484](https://github.com/ClickHouse/ClickHouse/pull/37484) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء الدوال `greatCircleAngle` و`greatCircleDistance` و`geoDistance`. [#37524](https://github.com/ClickHouse/ClickHouse/pull/37524) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء الإدراج في MergeTree عند وجود أعمدة متعددة في ORDER BY. [#35762](https://github.com/ClickHouse/ClickHouse/pull/35762) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح الاستهلاك المفرط لـ CPU في الخلفية عند وجود عدد كبير من الجداول. [#38028](https://github.com/ClickHouse/ClickHouse/pull/38028) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء الدالة `not` باستخدام التوزيع الديناميكي. [#38058](https://github.com/ClickHouse/ClickHouse/pull/38058) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين التخزين المؤقت الداخلي لأنماط re2 التي تظهر مثلًا في الدالتين LIKE وMATCH. [#37544](https://github.com/ClickHouse/ClickHouse/pull/37544) ([Robert Schulze](https://github.com/rschu1ze)).
* تحسين دالة مولّد قناع البتات للمرشّح بالكامل باستخدام تعليمات AVX-512. [#37588](https://github.com/ClickHouse/ClickHouse/pull/37588) ([yaqi-zhao](https://github.com/yaqi-zhao)).
* تطبيق أسلوب القراءة `threadpool` على محرك التكامل Hive. سيؤدي ذلك إلى تسريع القراءة بشكل ملحوظ. [#36328](https://github.com/ClickHouse/ClickHouse/pull/36328) ([李扬](https://github.com/taiyang-li)).
* عندما تكون جميع الأعمدة المطلوب قراءتها هي مفاتيح partition، تُنشأ الأعمدة استنادًا إلى رقم الصف في الملف من دون قراءة ملف Hive فعليًا. [#37103](https://github.com/ClickHouse/ClickHouse/pull/37103) ([lgbo](https://github.com/lgbo-ustc)).
* دعم استخدام عدة أقراص للتخزين المؤقت لملفات Hive. [#37279](https://github.com/ClickHouse/ClickHouse/pull/37279) ([lgbo](https://github.com/lgbo-ustc)).
* يمكن أن يمنع تقييد الحد الأقصى لاستخدام cache لكل query تلوّث مجموعة cache بفعالية. [المشكلات ذات الصلة](https://github.com/ClickHouse/ClickHouse/issues/28961). [#37859](https://github.com/ClickHouse/ClickHouse/pull/37859) ([Han Shukai](https://github.com/KinderRiven)).
* يقوم ClickHouse حاليًا بتنزيل جميع الملفات البعيدة مباشرةً إلى cache المحلي (حتى إن لم تُقرأ سوى مرة واحدة)، ما يتسبب كثيرًا في عمليات IO على القرص المحلي. وفي بعض السيناريوهات، قد لا تكون عمليات IO هذه ضرورية، وقد تؤدي بسهولة إلى تراجع الأداء بدلًا من تحسينه. كما هو موضح في الشكل أدناه، عند تشغيل SSB Q1-Q4، تسبّب أداء cache في تراجع الأداء. [#37516](https://github.com/ClickHouse/ClickHouse/pull/37516) ([Han Shukai](https://github.com/KinderRiven)).
* السماح بتقليص قائمة الملفات عبر الأعمدة الافتراضية مثل `_file` و`_path` عند القراءة من S3. وهذا مرتبط بـ [#37174](https://github.com/ClickHouse/ClickHouse/issues/37174) , [#23494](https://github.com/ClickHouse/ClickHouse/issues/23494). [#37356](https://github.com/ClickHouse/ClickHouse/pull/37356) ([Amos Bird](https://github.com/amosbird)).
* في الدالة: CompressedWriteBuffer::nextImpl()، توجد خطوة نسخ عند الكتابة غير ضرورية تحدث كثيرًا أثناء إدراج البيانات. يوضّح ما يلي الفرق مع هذا التصحيح: - قبل: 1. ضغط "working\_buffer" إلى "compressed\_buffer" 2. نسخ الناتج إلى "out" عند الكتابة - بعد: ضغط "working\_buffer" مباشرةً إلى "out". [#37242](https://github.com/ClickHouse/ClickHouse/pull/37242) ([jasperzhu](https://github.com/jinjunzh)).

<div id="improvement-3">
  #### تحسين
</div>

* دعم الأنواع ذات القيم الافتراضية غير القياسية في ROLLUP وCUBE وGROUPING SETS. يُغلق [#37360](https://github.com/ClickHouse/ClickHouse/issues/37360). [#37667](https://github.com/ClickHouse/ClickHouse/pull/37667) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح جمع stack traces على ARM. يُغلق [#37044](https://github.com/ClickHouse/ClickHouse/issues/37044). يُغلق [#15638](https://github.com/ClickHouse/ClickHouse/issues/15638). [#37797](https://github.com/ClickHouse/ClickHouse/pull/37797) ([Maksim Kita](https://github.com/kitaisreal)).
* سيحاول Client كل عنوان IP تُرجعه DNS resolution حتى ينجح الاتصال. [#37273](https://github.com/ClickHouse/ClickHouse/pull/37273) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* السماح باستخدام النوع String بدلًا من Binary في formats Arrow/Parquet/ORC. يضيف طلب السحب هذا 3 settings جديدة لهذا الغرض: `output_format_arrow_string_as_string` و`output_format_parquet_string_as_string` و`output_format_orc_string_as_string`. default value لجميع settings هي `false`. [#37327](https://github.com/ClickHouse/ClickHouse/pull/37327) ([Kruglov Pavel](https://github.com/Avogar)).
* تطبيق الإعداد `input_format_max_rows_to_read_for_schema_inference` على إجمالي الصفوف المقروءة من جميع الملفات في globs. في السابق، كان الإعداد `input_format_max_rows_to_read_for_schema_inference` يُطبَّق على كل ملف في glob على حدة، وفي حال وجود عدد كبير جدًا من nulls، كان يمكن قراءة أول `input_format_max_rows_to_read_for_schema_inference` صفًا من كل ملف من دون الوصول إلى أي نتيجة. كما زِيدت default value لهذا الإعداد إلى 25000. [#37332](https://github.com/ClickHouse/ClickHouse/pull/37332) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة grant منفصل لـ `CLUSTER` (إلى جانب توجيه configuration باسم `access_control_improvements.on_cluster_queries_require_cluster_grant` للحفاظ على backward compatibility، وتكون قيمته الافتراضية `false`). [#35767](https://github.com/ClickHouse/ClickHouse/pull/35767) ([Azat Khuzhin](https://github.com/azat)).
* إضافة دعم schema inference لـ `hdfsCluster`. [#35812](https://github.com/ClickHouse/ClickHouse/pull/35812) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تنفيذ خوارزمية load balancing ‏`least_used` للأقراص داخل volume (disk configuration متعدد الأقراص). [#36686](https://github.com/ClickHouse/ClickHouse/pull/36686) ([Azat Khuzhin](https://github.com/azat)).
* تعديل HTTP Endpoint بحيث يعيد الإحصاءات الكاملة ضمن header ‏`X-ClickHouse-Summary` عندما تكون `send_progress_in_http_headers=0` (إذ كان يعيد سابقًا أصفارًا فقط). - تعديل HTTP Endpoint بحيث يعيد header ‏`X-ClickHouse-Exception-Code` عندما يكون Progress قد أُرسل مسبقًا (`send_progress_in_http_headers=1`) - تعديل HTTP Endpoint بحيث يعيد `HTTP_REQUEST_TIMEOUT` (408) بدلًا من `HTTP_INTERNAL_SERVER_ERROR` (500) عند أخطاء `TIMEOUT_EXCEEDED`. [#36884](https://github.com/ClickHouse/ClickHouse/pull/36884) ([Raúl Marín](https://github.com/Algunenano)).
* السماح للمستخدم بمعاينة grants الخاصة بـ granted roles. [#36941](https://github.com/ClickHouse/ClickHouse/pull/36941) ([nvartolomei](https://github.com/nvartolomei)).
* عدم حساب التكامل عدديًا، واستخدام دوال CDF بدلًا من ذلك. يسرّع هذا التنفيذ ويزيد precision. يُصلح هذا [#36714](https://github.com/ClickHouse/ClickHouse/issues/36714). [#36953](https://github.com/ClickHouse/ClickHouse/pull/36953) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أُضيف تنفيذ افتراضي للنوع Nothing في الدوال. الآن ستُرجِع معظم الدوال عمودًا من النوع Nothing إذا كانت إحدى وسيطاتها من النوع Nothing. ويحلّ هذا أيضًا مشكلة الدوال مثل arrayMap/arrayFilter وما شابهها عندما تكون إحدى الوسيطات مصفوفة فارغة. سابقًا كانت الاستعلامات مثل `select arrayMap(x -> 2 * x, []);` تفشل لأن الدالة داخل lambda لا يمكنها العمل مع النوع `Nothing`، أما الآن فتعيد هذه الاستعلامات مصفوفة فارغة من النوع `Array(Nothing)`. كما أُضيف دعم لمصفوفات الأنواع Nullable في دوال مثل arrayFilter/arrayFill. سابقًا كانت الاستعلامات مثل `select arrayFilter(x -> x % 2, [1, NULL])` تفشل، أما الآن فهي تعمل (إذا كانت نتيجة lambda هي NULL، فلن تُضمَّن هذه القيمة في النتيجة). يُغلق [#37000](https://github.com/ClickHouse/ClickHouse/issues/37000). [#37048](https://github.com/ClickHouse/ClickHouse/pull/37048) ([Kruglov Pavel](https://github.com/Avogar)).
* الآن، إذا كان لدى shard نسخة متماثلة محلية، فإننا ننشئ خطة محلية وخطة للقراءة من جميع النسخ المتماثلة البعيدة. ولهما initiator مشترك ينسّق عملية القراءة. [#37204](https://github.com/ClickHouse/ClickHouse/pull/37204) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* لم نعد نوقف بدء تشغيل الخادم إذا لم يُضبط خيار الإعداد "mark\_cache\_size" صراحةً. [#37326](https://github.com/ClickHouse/ClickHouse/pull/37326) ([Robert Schulze](https://github.com/rschu1ze)).
* يتيح تحديد `NULL`/`NOT NULL` مباشرةً بعد النوع في تعريف العمود. [#37337](https://github.com/ClickHouse/ClickHouse/pull/37337) ([Igor Nikonov](https://github.com/devcrafter)).
* تحسين read buffer لمقطع الملف PARTIALLY\_DOWNLOADED. [#37338](https://github.com/ClickHouse/ClickHouse/pull/37338) ([xiedeyantu](https://github.com/xiedeyantu)).
* محاولة تحسين معالجة الدوال ذات short circuit لإصلاح المشكلات في اختبارات stress. [#37384](https://github.com/ClickHouse/ClickHouse/pull/37384) ([Kruglov Pavel](https://github.com/Avogar)).
* يُغلق [#37395](https://github.com/ClickHouse/ClickHouse/issues/37395). [#37415](https://github.com/ClickHouse/ClickHouse/pull/37415) ([Memo](https://github.com/Joeywzr)).
* إصلاح حالة توقف متبادل نادرة جدًا أثناء fetch لـ part في zero-copy replication. إصلاح [#37423](https://github.com/ClickHouse/ClickHouse/issues/37423). [#37424](https://github.com/ClickHouse/ClickHouse/pull/37424) ([metahys](https://github.com/metahys)).
* عدم السماح بإنشاء storage بتنسيق data غير معروف. [#37450](https://github.com/ClickHouse/ClickHouse/pull/37450) ([Kruglov Pavel](https://github.com/Avogar)).
* تعيين القيمة الافتراضية للإعداد `global_memory_usage_overcommit_max_wait_microseconds` إلى 5 ثوانٍ. وإضافة معلومات عن `OvercommitTracker` إلى رسالة استثناء OOM. وإضافة حدث profile باسم `MemoryOvercommitWaitTimeMicroseconds`. [#37460](https://github.com/ClickHouse/ClickHouse/pull/37460) ([Dmitry Novik](https://github.com/novikd)).
* عدم عرض `-0.0` كزمن CPU في clickhouse-client. قد يظهر ذلك بسبب أخطاء التقريب. هذا يُغلق [#38003](https://github.com/ClickHouse/ClickHouse/issues/38003). وهذا يُغلق [#38038](https://github.com/ClickHouse/ClickHouse/issues/38038). [#38064](https://github.com/ClickHouse/ClickHouse/pull/38064) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* واجهة Play: الإبقاء على عناصر التحكم في مكانها عند تمرير الصفحة أفقيًا. وهذا يجعل التعديلات مريحة حتى إذا كان الجدول عريضًا وتم تمريره كثيرًا إلى اليمين. وقد اقترح هذه الميزة Maksym Tereshchenko من CaspianDB. [#37470](https://github.com/ClickHouse/ClickHouse/pull/37470) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تعديل `query div` في play.html بحيث يمكن توسيعه إلى أكثر من 20% من الارتفاع. عند وجود استعلامات طويلة جدًا، يكون من المفيد توسيع عنصر `textarea`، لكن حاليًا، وبسبب الارتفاع الثابت لـ `div`، فإن `textarea` الموسّع يحجب `data div` الموجود أسفله. مع هذا الإصلاح، سيؤدي توسيع عنصر `textarea` إلى دفع `data div` إلى الأسفل/الأعلى بحيث لا يعود `textarea` الموسّع يحجبه. كما يحافظ أيضًا على عرض مربع الاستعلام بنسبة 100% حتى عندما يعدّل المستخدم حجم `query textarea`. [#37488](https://github.com/ClickHouse/ClickHouse/pull/37488) ([guyco87](https://github.com/guyco87)).
* تمت إضافة `ProfileEvents` لفحص نوع الأجزاء المكتوبة (`inserted` أو `merged`) (`Inserted{Wide/Compact/InMemory}Parts`, `MergedInto{Wide/Compact/InMemory}Parts`). وأُضيف العمود `part_type` إلى `system.part_log`. يحل [#37495](https://github.com/ClickHouse/ClickHouse/issues/37495). [#37536](https://github.com/ClickHouse/ClickHouse/pull/37536) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين في clickhouse-keeper: نقل السجلات التالفة إلى مجلد يحمل طابعًا زمنيًا. [#37565](https://github.com/ClickHouse/ClickHouse/pull/37565) ([Antonio Andelic](https://github.com/antonio2368)).
* عدم كتابة الأعمدة المنتهية الصلاحية بواسطة TTL بعد عمليات الدمج اللاحقة (في السابق، كان الدمج/التحسين الأول فقط للجزء لا يكتب الأعمدة المنتهية الصلاحية بواسطة TTL، بينما كانت جميع العمليات الأخرى تكتبها). [#37570](https://github.com/ClickHouse/ClickHouse/pull/37570) ([Azat Khuzhin](https://github.com/azat)).
* نتيجة أكثر دقة للدالة المتنوعة `dumpColumnStructure` عند وجود أعمدة LowCardinality أو Sparse. في الإصدارات السابقة، كانت هذه الدوال تحوّل الوسيطة إلى full column قبل إعادة النتيجة. هذا مطلوب لتقديم إجابة في [#6935](https://github.com/ClickHouse/ClickHouse/issues/6935). [#37633](https://github.com/ClickHouse/ClickHouse/pull/37633) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* clickhouse-keeper: تخزين معرّفات الجلسات الفريدة فقط من أجل watches. [#37641](https://github.com/ClickHouse/ClickHouse/pull/37641) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الخطأ المحتمل "Cannot write to finalized buffer". [#37645](https://github.com/ClickHouse/ClickHouse/pull/37645) ([Azat Khuzhin](https://github.com/azat)).
* إضافة الإعداد `support_batch_delete` لـ `DiskS3` لتعطيل استدعاءات حذف كائنات متعددة، وهي غير مدعومة في Google Cloud Storage. [#37659](https://github.com/ClickHouse/ClickHouse/pull/37659) ([Fred Wulff](https://github.com/frew)).
* إضافة خيار لتعطيل connection pooling في ODBC bridge. [#37705](https://github.com/ClickHouse/ClickHouse/pull/37705) ([Anton Kozlov](https://github.com/tonickkozlov)).
* أضيف دعم الخاصية `HIERARCHICAL` القابلة لأن تكون nullable في Dictionaries إلى الدوال `dictGetHierarchy`, `dictIsIn`, `dictGetChildren`, `dictGetDescendants`. يغلق [#35521](https://github.com/ClickHouse/ClickHouse/issues/35521). [#37805](https://github.com/ClickHouse/ClickHouse/pull/37805) ([Maksim Kita](https://github.com/kitaisreal)).
* إظهار معلومات مرتبطة بإصدار BoringSSL في الجدول `system.build_options`. [#37850](https://github.com/ClickHouse/ClickHouse/pull/37850) ([Bharat Nallan](https://github.com/bharatnc)).
* الآن يقوم clickhouse-server بإزالة أدلة `delete_tmp` عند بدء تشغيل الخادم. يصلح [#26503](https://github.com/ClickHouse/ClickHouse/issues/26503). [#37906](https://github.com/ClickHouse/ClickHouse/pull/37906) ([alesapin](https://github.com/alesapin)).
* تنظيف broken detached parts بعد انتهاء المهلة. يغلق [#25195](https://github.com/ClickHouse/ClickHouse/issues/25195). [#37975](https://github.com/ClickHouse/ClickHouse/pull/37975) ([Kseniia Sumarokova](https://github.com/kssenii)).
* الآن، في عائلة محركات الجداول MergeTree، ستُزال فورًا الأجزاء التي تعذّر نقلها. [#37994](https://github.com/ClickHouse/ClickHouse/pull/37994) ([alesapin](https://github.com/alesapin)).
* الآن، إذا كان الإعداد `always_fetch_merged_part` مُمكّنًا، فستحاول عمليات الدمج في ReplicatedMergeTree العثور على الأجزاء على النسخ المتماثلة الأخرى بوتيرة أقل، مما يخفف الحمل على \[Zoo]Keeper. [#37995](https://github.com/ClickHouse/ClickHouse/pull/37995) ([alesapin](https://github.com/alesapin)).
* أُضيفت أيضًا امتيازات ضمنية مع خيار المنح. على سبيل المثال، يتيح `GRANT CREATE TABLE ON test.* TO A WITH GRANT OPTION` الآن للمستخدم `A` تنفيذ `GRANT CREATE VIEW ON test.* TO B`. [#38017](https://github.com/ClickHouse/ClickHouse/pull/38017) ([Vitaly Baranov](https://github.com/vitlibar)).

<div id="buildtestingpackaging-improvement-2">
  #### تحسينات البناء/الاختبار/التغليف
</div>

* استخدام `clang-14` والإصدار 14 من بنية LLVM الأساسية في عمليات البناء. ويغلق هذا [#34681](https://github.com/ClickHouse/ClickHouse/issues/34681). [#34754](https://github.com/ClickHouse/ClickHouse/pull/34754) ([Alexey Milovidov](https://github.com/alexey-milovidov)). ملاحظة: يحتوي `clang-14` على [خلل](https://github.com/google/sanitizers/issues/1540) في ThreadSanitizer، مما يؤثر سلبًا في عمل CI لدينا.
* السماح بالتخلي عن الامتيازات عند بدء التشغيل. يبسّط هذا صور Docker. يغلق [#36293](https://github.com/ClickHouse/ClickHouse/issues/36293). [#36341](https://github.com/ClickHouse/ClickHouse/pull/36341) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة التدقيق الإملائي للوثائق إلى CI. [#37790](https://github.com/ClickHouse/ClickHouse/pull/37790) ([Vladimir C](https://github.com/vdimir)).
* إصلاح التجريد المفرط الذي أزال قيمة hash المضمّنة المطلوبة للتحقق من اتساق الملف التنفيذي. [#37993](https://github.com/ClickHouse/ClickHouse/pull/37993) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="bug-fix-2">
  #### إصلاحات الأخطاء
</div>

* إصلاح عبارتي `SELECT ... INTERSECT` و`EXCEPT SELECT` مع أنواع السلاسل النصية الثابتة. [#37738](https://github.com/ClickHouse/ClickHouse/pull/37738) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح `GROUP BY` مع `AggregateFunction` (أي عند استخدام `GROUP BY` على عمود من النوع `AggregateFunction`). [#37093](https://github.com/ClickHouse/ClickHouse/pull/37093) ([Azat Khuzhin](https://github.com/azat)).
* (WINDOW VIEW تجريبية) إصلاح `addDependency` في WindowView. يمكن إعادة إنتاج هذا الخطأ كما في [#37237](https://github.com/ClickHouse/ClickHouse/issues/37237). [#37224](https://github.com/ClickHouse/ClickHouse/pull/37224) ([vxider](https://github.com/Vxider)).
* إصلاح عدم الاتساق في ميزة ORDER BY ... WITH FILL. فقد يمكن للاستعلام الذي يحتوي على ORDER BY ... WITH FILL أن يُنتج صفوفًا إضافية عند وجود عدة أعمدة WITH FILL. [#38074](https://github.com/ClickHouse/ClickHouse/pull/38074) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* ينقل طلب السحب هذا `addDependency` من المُنشئ إلى `startup()` لتجنّب إضافة تبعية إلى جدول *محذوف*، مع إصلاح [#37237](https://github.com/ClickHouse/ClickHouse/issues/37237). [#37243](https://github.com/ClickHouse/ClickHouse/pull/37243) ([vxider](https://github.com/Vxider)).
* إصلاح إدراج القيم الافتراضية للقيم المفقودة في التنسيقات العمودية. سابقًا، كانت الأعمدة المفقودة تُملأ بالقيم الافتراضية الخاصة بالأنواع لا بالأعمدة. [#37253](https://github.com/ClickHouse/ClickHouse/pull/37253) ([Kruglov Pavel](https://github.com/Avogar)).
* (نوع Object تجريبي) إصلاح بعض حالات إدراج المصفوفات المتداخلة في أعمدة من النوع `Object`. [#37305](https://github.com/ClickHouse/ClickHouse/pull/37305) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح أخطاء غير متوقعة ناتجة عن تعارض السلاسل النصية الثابتة في aggregate function وprewhere وjoin. إغلاق [#36891](https://github.com/ClickHouse/ClickHouse/issues/36891). [#37336](https://github.com/ClickHouse/ClickHouse/pull/37336) ([Vladimir C](https://github.com/vdimir)).
* إصلاح projections مع GROUP/ORDER BY في query وoptimize\_aggregation\_in\_order (إذ كانت النتيجة سابقًا غير صحيحة لأنه لم يكن يُنفَّذ سوى الفرز النهائي). [#37342](https://github.com/ClickHouse/ClickHouse/pull/37342) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الخطأ المتعلق بالرموز في اسم المفتاح في S3. إصلاح [#33009](https://github.com/ClickHouse/ClickHouse/issues/33009). [#37344](https://github.com/ClickHouse/ClickHouse/pull/37344) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إطلاق استثناء عند استخدام GROUPING SETS مع ROLLUP أو CUBE. [#37367](https://github.com/ClickHouse/ClickHouse/pull/37367) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح LOGICAL\_ERROR في getMaxSourcePartsSizeForMerge أثناء merges (في حال تم تحديد قيم غير قياسية وأكبر لكل من `background_pool_size`/`background_merges_mutations_concurrency_ratio` في `config.xml` (الطريقة الجديدة) وليس في `users.xml` (الطريقة المهجورة)). [#37413](https://github.com/ClickHouse/ClickHouse/pull/37413) ([Azat Khuzhin](https://github.com/azat)).
* التوقف عن إزالة UTF-8 BOM في RowBinary format. [#37428](https://github.com/ClickHouse/ClickHouse/pull/37428) ([Paul Loyd](https://github.com/loyd)). [#37428](https://github.com/ClickHouse/ClickHouse/pull/37428) ([Paul Loyd](https://github.com/loyd)).
* إصلاح خطأ في clickhouse-keeper: إصلاح الاسترداد القسري لعنقود أحادي العقدة. [#37440](https://github.com/ClickHouse/ClickHouse/pull/37440) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح خطأ منطقي في دوال normalizeUTF8. يُغلق [#37298](https://github.com/ClickHouse/ClickHouse/issues/37298). [#37443](https://github.com/ClickHouse/ClickHouse/pull/37443) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح تحويل cast لـ lowcard الخاص بـ Nullable في JoinSwitcher، وإغلاق [#37385](https://github.com/ClickHouse/ClickHouse/issues/37385). [#37453](https://github.com/ClickHouse/ClickHouse/pull/37453) ([Vladimir C](https://github.com/vdimir)).
* إصلاح إخراج Tuples المسمّاة في تنسيقات ORC/Arrow/Parquet. [#37458](https://github.com/ClickHouse/ClickHouse/pull/37458) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تحسين الدوال الأحادية في عبارة ORDER BY عند وجود GROUPING SETS. يُصلح [#37401](https://github.com/ClickHouse/ClickHouse/issues/37401). [#37493](https://github.com/ClickHouse/ClickHouse/pull/37493) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح خطأ عند تنفيذ join مع Dictionary في بعض الحالات. إغلاق [#37386](https://github.com/ClickHouse/ClickHouse/issues/37386). [#37530](https://github.com/ClickHouse/ClickHouse/pull/37530) ([Vladimir C](https://github.com/vdimir)).
* حظر `optimize_aggregation_in_order` مع `GROUPING SETS` (يصلح `LOGICAL_ERROR`). [#37542](https://github.com/ClickHouse/ClickHouse/pull/37542) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح معلومات dump غير الصحيحة لـ ActionsDAG. [#37587](https://github.com/ClickHouse/ClickHouse/pull/37587) ([zhanglistar](https://github.com/zhanglistar)).
* إصلاح تحويل الأنواع في استعلامات UNION (قد يؤدي إلى LOGICAL\_ERROR). [#37593](https://github.com/ClickHouse/ClickHouse/pull/37593) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح المُعدِّل `WITH FILL` مع intervals سالبة في عبارة `STEP`. يُصلح [#37514](https://github.com/ClickHouse/ClickHouse/issues/37514). [#37600](https://github.com/ClickHouse/ClickHouse/pull/37600) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الاستخدام غير الصحيح لـ Array في joinGet عندما تكون ` join_use_nulls = 1`. يُصلح هذا [#37562](https://github.com/ClickHouse/ClickHouse/issues/37562). [#37650](https://github.com/ClickHouse/ClickHouse/pull/37650) ([Amos Bird](https://github.com/amosbird)).
* إصلاح عدم تطابق عدد columns في CROSS JOIN، وإغلاق [#37561](https://github.com/ClickHouse/ClickHouse/issues/37561). [#37653](https://github.com/ClickHouse/ClickHouse/pull/37653) ([Vladimir C](https://github.com/vdimir)).
* إصلاح خطأ تجزئة في `show create table` من MySQL database عند تهيئته باستخدام named collections. يُغلق [#37683](https://github.com/ClickHouse/ClickHouse/issues/37683). [#37690](https://github.com/ClickHouse/ClickHouse/pull/37690) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح تعذّر بدء RabbitMQ Storage عند إعادة تشغيل server إذا كان التخزين قد أُنشئ بدون SETTINGS clause. يُغلق [#37463](https://github.com/ClickHouse/ClickHouse/issues/37463). [#37691](https://github.com/ClickHouse/ClickHouse/pull/37691) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دوال SQL user defined functions تعطل أوامر CREATE/DROP في وضع readonly. يُغلق [#37280](https://github.com/ClickHouse/ClickHouse/issues/37280). [#37699](https://github.com/ClickHouse/ClickHouse/pull/37699) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح formatting لـ arguments من نوع Nullable في executable user defined functions. يُغلق [#35897](https://github.com/ClickHouse/ClickHouse/issues/35897). [#37711](https://github.com/ClickHouse/ClickHouse/pull/37711) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح التحسين المفعّل عبر الإعداد `optimize_monotonous_functions_in_order_by` في الاستعلامات الموزعة. يُصلح [#36037](https://github.com/ClickHouse/ClickHouse/issues/36037). [#37724](https://github.com/ClickHouse/ClickHouse/pull/37724) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح احتمال حدوث logical error: `Invalid Field get from type UInt64 to type Float64` في table function ‏`values`. يُغلق [#37602](https://github.com/ClickHouse/ClickHouse/issues/37602). [#37754](https://github.com/ClickHouse/ClickHouse/pull/37754) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح احتمال حدوث segfault أثناء schema inference في حال وقوع استثناء في باني `SchemaReader`. يُغلق [#37680](https://github.com/ClickHouse/ClickHouse/issues/37680). [#37760](https://github.com/ClickHouse/ClickHouse/pull/37760) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الإعداد `cast&#95;ipv4&#95;ipv6&#95;default&#95;on&#95;conversion&#95;error` لدالة cast الداخلية. يُغلق [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#37761](https://github.com/ClickHouse/ClickHouse/pull/37761) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح خطأ `toString` في `DatatypeDate32`. [#37775](https://github.com/ClickHouse/ClickHouse/pull/37775) ([LiuNeng](https://github.com/liuneng1994)).
* جرى تحويل إعداد `clickhouse-keeper` ‏`dead_session_check_period_ms` إلى ميكروثانية (بضربه في 1000)، ما أدى إلى تنظيف sessions الميتة بعد عدة دقائق فقط (بدلاً من 500 مللي ثانية). [#37824](https://github.com/ClickHouse/ClickHouse/pull/37824) ([Michael Lex](https://github.com/mlex)).
* إصلاح احتمال ظهور "No more packets are available" في الاستعلامات الموزعة (عندما يكون `async_socket_for_remote`/`use_hedged_requests` معطّلاً). [#37826](https://github.com/ClickHouse/ClickHouse/pull/37826) ([Azat Khuzhin](https://github.com/azat)).
* (WINDOW VIEW تجريبية) عدم تنفيذ drop للـ target table الداخلي عند تنفيذ `ALTER TABLE ... MODIFY QUERY` في `WindowView`. [#37879](https://github.com/ClickHouse/ClickHouse/pull/37879) ([vxider](https://github.com/Vxider)).
* إصلاح ملكية directory لدليل coordination في Docker image الخاص بـ `clickhouse-keeper`. يُصلح [#37914](https://github.com/ClickHouse/ClickHouse/issues/37914). [#37915](https://github.com/ClickHouse/ClickHouse/pull/37915) ([James Maidment](https://github.com/jamesmaidment)).
* إصلاح في Dictionaries للاستعلام المخصّص مع حقل التحديث و `{condition}`. يُغلق [#33746](https://github.com/ClickHouse/ClickHouse/issues/33746). [#37947](https://github.com/ClickHouse/ClickHouse/pull/37947) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح احتمال ظهور نتيجة غير صحيحة لـ `SELECT ... WITH FILL` عندما يجب تطبيق `ORDER BY` بعد ناتج `WITH FILL` (على سبيل المثال، في الاستعلام الخارجي). كانت النتيجة غير الصحيحة ناتجة عن تحسين لتعبيرات `ORDER BY` ([#35623](https://github.com/ClickHouse/ClickHouse/issues/35623)). يُغلق [#37904](https://github.com/ClickHouse/ClickHouse/issues/37904). [#37959](https://github.com/ClickHouse/ClickHouse/pull/37959) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* (WINDOW VIEW تجريبية) إضافة columns الافتراضية المفقودة عند الدفع إلى target table في `WindowView`، إصلاح [#37815](https://github.com/ClickHouse/ClickHouse/issues/37815). [#37965](https://github.com/ClickHouse/ClickHouse/pull/37965) ([vxider](https://github.com/Vxider)).
* إصلاح stack frame كبير جداً كان سيتسبب في فشل الترجمة البرمجية. [#37996](https://github.com/ClickHouse/ClickHouse/pull/37996) ([Han Shukai](https://github.com/KinderRiven)).
* عند تفعيل enable\_filesystem\_query\_cache\_limit، يظهر الخطأ Reserved cache size exceeds the remaining cache size. [#38004](https://github.com/ClickHouse/ClickHouse/pull/38004) ([xiedeyantu](https://github.com/xiedeyantu)).
* إصلاح تحويل الأنواع في استعلامات UNION (قد يؤدي إلى LOGICAL\_ERROR). [#34775](https://github.com/ClickHouse/ClickHouse/pull/34775) ([Azat Khuzhin](https://github.com/azat)).
* قد لا تتم إعادة جدولة merge الخاصة بـ TTL إذا كان BackgroundExecutor مشغولًا. تتم زيادة --merges\_with\_ttl\_counter في selectPartsToMerge() --سيتم تجاهل مهمة --merge إذا كان BackgroundExecutor مشغولًا --ولن يتم تقليل --merges\_with\_ttl\_counter. [#36387](https://github.com/ClickHouse/ClickHouse/pull/36387) ([lthaooo](https://github.com/lthaooo)).
* إصلاح قيمة Settings المتجاوزة لـ `normalize_function_names`. [#36937](https://github.com/ClickHouse/ClickHouse/pull/36937) ([李扬](https://github.com/taiyang-li)).
* إصلاح window functions ذات التناقص الأُسّي مع الزمن. وأصبحت الآن تراعي حدود window. [#36944](https://github.com/ClickHouse/ClickHouse/pull/36944) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إصلاح خطأ محتمل من نوع heap-use-after-free عند قراءة system.projection\_parts و system.projection\_parts\_columns. يُصلح هذا [#37184](https://github.com/ClickHouse/ClickHouse/issues/37184). [#37185](https://github.com/ClickHouse/ClickHouse/pull/37185) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح سلوك الثواني الكسرية في `DateTime64` قبل Unix epoch. [#37697](https://github.com/ClickHouse/ClickHouse/pull/37697) ([Andrey Zvonov](https://github.com/zvonand)). [#37039](https://github.com/ClickHouse/ClickHouse/pull/37039) ([李扬](https://github.com/taiyang-li)).

### <a id="225" /> إصدار ClickHouse 22.5، 2022-05-19. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.5/)، [الفيديو](https://www.youtube.com/watch?v=jkXmXrmjaKQ)

<Frame>
  <iframe src="https://www.youtube.com/embed/jkXmXrmjaKQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### ملاحظات الترقية
</div>

* الآن، لن تؤدي عمليات الدمج في الخلفية وعمليات التعديل و`OPTIMIZE` إلى زيادة مقاييس `SelectedRows` و`SelectedBytes`. لكنها (ما تزال) ستزيد `MergedRows` و`MergedUncompressedBytes` كما كان الحال سابقًا. يؤثر هذا التغيير في قيم المقاييس فقط، ويجعلها أدق. ولا يسبب أي عدم توافق، لكن قد تلاحظ تغيّرًا في المقاييس، لذا أدرجناه ضمن هذه الفئة. [#37040](https://github.com/ClickHouse/ClickHouse/pull/37040) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* جرى تحديث وحدة BoringSSL إلى الإصدار الرسمي المتوافق مع FIPS، ما يجعل ClickHouse متوافقًا مع FIPS. [#35914](https://github.com/ClickHouse/ClickHouse/pull/35914) ([Meena-Renganathan](https://github.com/Meena-Renganathan)). وقد أُزيلت الشيفرتان `aes-192-cfb128` و`aes-256-cfb128` لأنهما غير مضمنتين في إصدار BoringSSL المعتمد من FIPS.
* أُزيل الإعداد `max_memory_usage` من ملف تعريف المستخدم `default` في `users.xml`. ويتيح ذلك حدود ذاكرة مرنة للاستعلامات بدلًا من الحد القديم الصارم البالغ 10 جيجابايت.
* عُطِّل الإعداد `log_query_threads` افتراضيًا. وهو يتحكم في تسجيل الإحصاءات الخاصة بكل خيط تنفيذ يشارك في تنفيذ الاستعلام. وبعد دعم القراءات غير المتزامنة، أصبح العدد الإجمالي لمعرّفات خيوط التنفيذ المميزة كبيرًا جدًا، وأصبح التسجيل في `query_thread_log` مكلفًا جدًا. [#37077](https://github.com/ClickHouse/ClickHouse/pull/37077) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُزيلت الدالة `groupArraySorted` لاحتوائها على خطأ. [#36822](https://github.com/ClickHouse/ClickHouse/pull/36822) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* تمكين التخصيص الزائد للذاكرة افتراضيًا. [#35921](https://github.com/ClickHouse/ClickHouse/pull/35921) ([Dmitry Novik](https://github.com/novikd)).
* إضافة دعم لـ GROUPING SETS في عبارة GROUP BY. ويدعم هذا التنفيذ معالجة مجموعات التجميع بالتوازي. [#33631](https://github.com/ClickHouse/ClickHouse/pull/33631) ([Dmitry Novik](https://github.com/novikd)).
* تمت إضافة الجدول `system.certificates`. [#37142](https://github.com/ClickHouse/ClickHouse/pull/37142) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إضافة الدوال `h3Line` و`h3Distance` و`h3HexRing`. [#37030](https://github.com/ClickHouse/ClickHouse/pull/37030) ([Bharat Nallan](https://github.com/bharatnc)).
* أداة تشخيص جديدة تعتمد على ملف تنفيذي واحد (clickhouse-diagnostics). [#36705](https://github.com/ClickHouse/ClickHouse/pull/36705) ([Dale McDiarmid](https://github.com/gingerwizard)).
* إضافة تنسيق الإخراج `Prometheus` [#36051](https://github.com/ClickHouse/ClickHouse/issues/36051). [#36206](https://github.com/ClickHouse/ClickHouse/pull/36206) ([Vladimir C](https://github.com/vdimir)).
* إضافة تنسيق الإدخال `MySQLDump`. يقرأ جميع البيانات من استعلامات INSERT الخاصة بجدول واحد في ملف dump. وإذا كان هناك أكثر من جدول، فسيقرأ البيانات من الجدول الأول افتراضيًا. [#36667](https://github.com/ClickHouse/ClickHouse/pull/36667) ([Kruglov Pavel](https://github.com/Avogar)).
* عرض الحقلين `total_rows` و`total_bytes` في `system.tables` للجداول المؤقتة. [#36401](https://github.com/ClickHouse/ClickHouse/issues/36401). [#36439](https://github.com/ClickHouse/ClickHouse/pull/36439) ([xiedeyantu](https://github.com/xiedeyantu)).
* السماح بتجاوز `parts_to_delay_insert` و`parts_to_throw_insert` باستخدام إعدادات على مستوى الاستعلام. وإذا كانت هذه الإعدادات معرّفة، فستتقدّم على إعدادات مستوى الجدول. [#36371](https://github.com/ClickHouse/ClickHouse/pull/36371) ([Memo](https://github.com/Joeywzr)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* تم تنفيذ دوال المسافة L1 وL2 وLinf وCosine للمصفوفات، ودوال المعيار L1 وL2 وLinf للمصفوفات.
  [#37033](https://github.com/ClickHouse/ClickHouse/pull/37033) ([qieqieplus](https://github.com/qieqieplus)). ملاحظة: ستُعاد تسمية هذه الدوال.
* تحسين استعلام `WATCH` في WindowView: 1. تقليل زمن الوصول عند إتاحة نتائج الاستعلام عبر استدعاء الإشارة `fire_condition`. 2. تسريع عملية إلغاء الاستعلام (ctrl-c) عبر التحقق من `isCancelled()` بوتيرة أعلى. [#37226](https://github.com/ClickHouse/ClickHouse/pull/37226) ([vxider](https://github.com/Vxider)).
* إضافة إمكانات introspection لإزالة filesystem cache. [#36802](https://github.com/ClickHouse/ClickHouse/pull/36802) ([Han Shukai](https://github.com/KinderRiven)).
* أُضيفت دالة hash جديدة باسم `wyHash64` في SQL. [#36467](https://github.com/ClickHouse/ClickHouse/pull/36467) ([olevino](https://github.com/olevino)).
* تحسين لقواعد بيانات Replicated: أُضيف استعلام `SYSTEM SYNC DATABASE REPLICA` الذي يتيح مزامنة البيانات الوصفية للجداول داخل قاعدة بيانات Replicated، لأن المزامنة حاليًا غير متزامنة. [#35944](https://github.com/ClickHouse/ClickHouse/pull/35944) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تحسين لـ remote filesystem cache: تحسين القراءة من cache. [#37054](https://github.com/ClickHouse/ClickHouse/pull/37054) ([Kseniia Sumarokova](https://github.com/kssenii)). تحسين استعلام `SYSTEM DROP FILESYSTEM CACHE`: الخيار `<path>` والخيار `FORCE`. [#36639](https://github.com/ClickHouse/ClickHouse/pull/36639) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تحسين للبيانات شبه المهيكلة: السماح بتحويل الأعمدة من النوع `Object(...)` إلى `Object(Nullable(...))`. [#36564](https://github.com/ClickHouse/ClickHouse/pull/36564) ([awakeljw](https://github.com/awakeljw)).
* تحسين للنسخ المتماثلة المتوازية: ننشئ مفسرًا محليًا إذا أردنا تنفيذ استعلام على replica ‏`localhost`. ولكن عند تنفيذ استعلام على عدة replicas، فإننا نعتمد على وجود connection حتى تتمكن replicas من التواصل مع coordinator. وقد تحسن هذا الآن، وأصبحت replica ‏`localhost` قادرة على التواصل مع coordinator مباشرةً ضمن العملية نفسها. [#36281](https://github.com/ClickHouse/ClickHouse/pull/36281) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تحسين أداء الدالتين التجميعيتين `avg` و`sum` عند استخدامهما بدون تعبير GROUP BY. [#37257](https://github.com/ClickHouse/ClickHouse/pull/37257) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء الدوال الحسابية أحادية المعامل (`bitCount`, `bitNot`, `abs`, `intExp2`, `intExp10`, `negate`, `roundAge`, `roundDuration`, `roundToExp2`, `sign`) باستخدام الإرسال الديناميكي. [#37289](https://github.com/ClickHouse/ClickHouse/pull/37289) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء ORDER BY وMergeJoin وإدراج البيانات في MergeTree باستخدام ترجمة JIT لمقارن أعمدة الفرز. [#34469](https://github.com/ClickHouse/ClickHouse/pull/34469) ([Maksim Kita](https://github.com/kitaisreal)).
* تغيير بنية `system.asynchronous_metric_log`. سيستهلك هذا مساحة أقل بحوالي 10 مرات. ويُغلق هذا [#36357](https://github.com/ClickHouse/ClickHouse/issues/36357). أُزيل الحقل `event_time_microseconds` لأنه غير مفيد. [#36360](https://github.com/ClickHouse/ClickHouse/pull/36360) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحميل العلامات للأعمدة المطلوبة فقط عند قراءة wide parts. [#36879](https://github.com/ClickHouse/ClickHouse/pull/36879) ([Anton Kozlov](https://github.com/tonickkozlov)).
* تحسين أداء ذاكرة التخزين المؤقت لأوصاف الملفات عبر تضييق نطاقات `mutex`. [#36682](https://github.com/ClickHouse/ClickHouse/pull/36682) ([Anton Kozlov](https://github.com/tonickkozlov)).
* تحسين أداء القراءة من التخزين `File` ومن table functions `file` عندما يحتوي المسار على globs ويحتوي الدليل المطابِق على عدد كبير من الملفات. [#36647](https://github.com/ClickHouse/ClickHouse/pull/36647) ([Anton Popov](https://github.com/CurtizJ)).
* تطبيق parsing متوازي على input format `HiveText`، ما قد يسرّع parsing لـ HiveText بمقدار الضعف عند قراءة ملف محلي. [#36650](https://github.com/ClickHouse/ClickHouse/pull/36650) ([李扬](https://github.com/taiyang-li)).
* إن `HashJoin` الافتراضي غير آمن على مستوى thread عند إدراج صفوف الجدول الأيمن، ولذلك يعمل في thread واحدة. وعندما يكون الجدول الأيمن كبيرًا، تصبح عملية join بطيئة جدًا مع انخفاض استخدام CPU. [#36415](https://github.com/ClickHouse/ClickHouse/pull/36415) ([lgbo](https://github.com/lgbo-ustc)).
* السماح بإعادة كتابة `select countDistinct(a) from t` إلى `select count(1) from (select a from t groupBy a)`. [#35993](https://github.com/ClickHouse/ClickHouse/pull/35993) ([zhanglistar](https://github.com/zhanglistar)).
* تحويل سلسلة OR LIKE إلى multiMatchAny. وسيُفعَّل هذا عندما تتوفر ثقة أكبر في أنه يعمل كما ينبغي. [#34932](https://github.com/ClickHouse/ClickHouse/pull/34932) ([Daniel Kutenin](https://github.com/danlark1)).
* تحسين أداء بعض الدوال باستخدام التضمين. [#34544](https://github.com/ClickHouse/ClickHouse/pull/34544) ([Daniel Kutenin](https://github.com/danlark1)).
* إضافة تفرّع لتجنب `memcpy` غير الضروري في `readBig`. ويحسّن ذلك الأداء إلى حدّ ما. [#36095](https://github.com/ClickHouse/ClickHouse/pull/36095) ([jasperzhu](https://github.com/jinjunzh)).
* تنفيذ مفتاح GROUP BY جزئي لأجل `optimize_aggregation_in_order`. [#35111](https://github.com/ClickHouse/ClickHouse/pull/35111) ([Azat Khuzhin](https://github.com/azat)).

<div id="improvement-3">
  #### تحسين
</div>

* عرض أسماء الملفات المسببة للخطأ عند حدوث أخطاء في التحليل أثناء تنفيذ دوال الجداول `file` و`s3` و`url`. [#36314](https://github.com/ClickHouse/ClickHouse/pull/36314) ([Anton Popov](https://github.com/CurtizJ)).
* أصبح من الممكن زيادة عدد الخيوط المستخدمة لتنفيذ العمليات الخلفية (عمليات الدمج، والـmutations، وعمليات النقل، وعمليات الجلب) في وقت التشغيل إذا كانت محددة في ملف config على المستوى الأعلى. [#36425](https://github.com/ClickHouse/ClickHouse/pull/36425) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* ستُثبَّت الآن وظائف تحويل التاريخ والوقت التي تُنتج وقتًا يسبق 1970-01-01 00:00:00 مع مناطق زمنية ذات ساعات/دقائق جزئية عند الصفر بدلًا من تجاوز السعة. وهذا امتداد لـ [https://github.com/ClickHouse/ClickHouse/pull/29953](https://github.com/ClickHouse/ClickHouse/pull/29953) الذي يعالج [https://github.com/ClickHouse/ClickHouse/pull/29953#discussion\&#95;r800550280](https://github.com/ClickHouse/ClickHouse/pull/29953#discussion\&#95;r800550280) . وقد صُنِّف ذلك كتحسين لأنه سلوك تحدده آلية التنفيذ (وحالة نادرة جدًا)، ويُسمح لنا بتغييره على نحو غير متوافق. [#36656](https://github.com/ClickHouse/ClickHouse/pull/36656) ([Amos Bird](https://github.com/amosbird)).
* إضافة تحذير إذا كان أحدهم يشغّل clickhouse-server بمستوى السجل "test". أُضيف مستوى السجل "test" مؤخرًا، ولا يمكن استخدامه في بيئة الإنتاج بسبب التدهور الحتمي وغير القابل للتجنب والقاتل والمهدِّد للحياة في الأداء. [#36824](https://github.com/ClickHouse/ClickHouse/pull/36824) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحليل قواعد الترتيب في CREATE TABLE، مع طرح استثناء أو تجاهلها. يغلق [#35892](https://github.com/ClickHouse/ClickHouse/issues/35892). [#36271](https://github.com/ClickHouse/ClickHouse/pull/36271) ([yuuch](https://github.com/yuuch)).
* يتيح الخيار `compatibility_ignore_auto_increment_in_create_table` تجاهل الكلمة المفتاحية `AUTO_INCREMENT` في تعريف عمود لتبسيط الترحيل من MySQL. [#37178](https://github.com/ClickHouse/ClickHouse/pull/37178) ([Igor Nikonov](https://github.com/devcrafter)).
* إضافة الأسماء المستعارة `JSONLines` و`NDJSON` لـ `JSONEachRow`. يغلق [#36303](https://github.com/ClickHouse/ClickHouse/issues/36303). [#36327](https://github.com/ClickHouse/ClickHouse/pull/36327) ([flynn](https://github.com/ucasfl)).
* تقييد الحد الأقصى لعدد الأقسام التي يمكن الاستعلام عنها لكل جدول Hive، لتجنب الاستهلاك المفرط للموارد. [#37281](https://github.com/ClickHouse/ClickHouse/pull/37281) ([lgbo](https://github.com/lgbo-ustc)).
* أُضيف تحويل نوع ضمني للوسيطة الثانية في الدالة `h3kRing` لتحسين سهولة الاستخدام. يغلق [#35432](https://github.com/ClickHouse/ClickHouse/issues/35432). [#37189](https://github.com/ClickHouse/ClickHouse/pull/37189) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح مؤشر التقدم لـ `INSERT SELECT` في `clickhouse-local` لأي استعلام، وكذلك تقدم الملفات في العميل، ليصبح أكثر دقة. [#37075](https://github.com/ClickHouse/ClickHouse/pull/37075) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خلل قد يؤدي إلى بقاء الأجزاء القديمة منسية في عائلة محركات الجداول MergeTree عند حدوث أعطال في filesystem أثناء إزالة الأجزاء. قبل هذا الإصلاح، لم تكن تُزال إلا بعد أول إعادة تشغيل للخادم. [#37014](https://github.com/ClickHouse/ClickHouse/pull/37014) ([alesapin](https://github.com/alesapin)).
* تنفيذ وضع جديد للتعامل مع سياسات الصفوف يمكن تمكينه في ملف configuration الرئيسي، ويتيح للمستخدمين الذين ليست لديهم سياسات صفوف متساهلة قراءة الصفوف. [#36997](https://github.com/ClickHouse/ClickHouse/pull/36997) ([Vitaly Baranov](https://github.com/vitlibar)).
* واجهة Play: ستُحاذى الأرقام من النوع Nullable إلى اليمين في خلايا الجدول. هذا يغلق [#36982](https://github.com/ClickHouse/ClickHouse/issues/36982). [#36988](https://github.com/ClickHouse/ClickHouse/pull/36988) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* واجهة Play UI: إذا كانت هناك صف واحد في النتيجة وأكثر من بضعة أعمدة، فاعرض النتيجة عموديًا. استكمال لـ [#36811](https://github.com/ClickHouse/ClickHouse/issues/36811). [#36842](https://github.com/ClickHouse/ClickHouse/pull/36842) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تنظيف CSS في Play UI. أصبحت البكسلات موزعة بشكل أكثر توازنًا. وتحسّنت سهولة الاستخدام للمحتوى الطويل في خلايا الجدول. [#36569](https://github.com/ClickHouse/ClickHouse/pull/36569) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إنهاء مخازن الكتابة المؤقتة في حال حدوث استثناء لتجنب تنفيذ ذلك داخل الـ destructors. نأمل أن يؤدي هذا إلى إصلاح: [#36907](https://github.com/ClickHouse/ClickHouse/issues/36907). [#36979](https://github.com/ClickHouse/ClickHouse/pull/36979) ([Kruglov Pavel](https://github.com/Avogar)).
* بعد [#36425](https://github.com/ClickHouse/ClickHouse/issues/36425) أصبحت إعدادات مثل `background_fetches_pool_size` متقادمة ويمكن أن تظهر في config ذي المستوى الأعلى، لكن ClickHouse كان يطرح استثناءً مثل `Error updating configuration from '/etc/clickhouse-server/config.xml' config.: Code: 137. DB::Exception: A setting 'background_fetches_pool_size' appeared at top level in config /etc/clickhouse-server/config.xml.` تم إصلاح ذلك. [#36917](https://github.com/ClickHouse/ClickHouse/pull/36917) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إضافة معلومات تشخيصية إضافية (عند الاقتضاء) عند إرسال الاستثناء إلى خادم آخر. [#36872](https://github.com/ClickHouse/ClickHouse/pull/36872) ([tavplubix](https://github.com/tavplubix)).
* السماح بتنفيذ دوال hash باستخدام arguments من النوع `Array(Tuple(..))`. [#36812](https://github.com/ClickHouse/ClickHouse/pull/36812) ([Anton Popov](https://github.com/CurtizJ)).
* تمت إضافة إعداد `user_defined_path` في config. [#36753](https://github.com/ClickHouse/ClickHouse/pull/36753) ([Maksim Kita](https://github.com/kitaisreal)).
* السماح باستخدام macro الخاص بـ cluster في table function ‏`s3Cluster`. [#36726](https://github.com/ClickHouse/ClickHouse/pull/36726) ([Vadim Volodin](https://github.com/PolyProgrammist)).
* إلغاء استعلامات INSERT بشكل صحيح في `clickhouse-client`/`clickhouse-local`. [#36710](https://github.com/ClickHouse/ClickHouse/pull/36710) ([Azat Khuzhin](https://github.com/azat)).
* السماح بإلغاء استعلام مع الاحتفاظ في الوقت نفسه بـ Query id مناسب في `MySQLHandler`. [#36699](https://github.com/ClickHouse/ClickHouse/pull/36699) ([Amos Bird](https://github.com/amosbird)).
* إضافة العمود `is_all_data_sent` إلى `system.processes`، وتحسين فحص التقوية في الاختبارات الداخلية بالاعتماد عليه. [#36649](https://github.com/ClickHouse/ClickHouse/pull/36649) ([Azat Khuzhin](https://github.com/azat)).
* أصبحت المقاييس المتعلقة بالوقت المستغرَق في القراءة من S3 تُحتسب الآن بشكل صحيح. إغلاق [#35483](https://github.com/ClickHouse/ClickHouse/issues/35483). [#36572](https://github.com/ClickHouse/ClickHouse/pull/36572) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* السماح باستخدام file descriptors في table function ‏file إذا كان يعمل في clickhouse-local. [#36562](https://github.com/ClickHouse/ClickHouse/pull/36562) ([wuxiaobai24](https://github.com/wuxiaobai24)).
* السماح بأسماء عناصر tuple التي تبدأ بأرقام. [#36544](https://github.com/ClickHouse/ClickHouse/pull/36544) ([Anton Popov](https://github.com/CurtizJ)).
* يمكن الآن لـ clickhouse-benchmark قراءة معلومات authentication من متغيرات البيئة. [#36497](https://github.com/ClickHouse/ClickHouse/pull/36497) ([Anton Kozlov](https://github.com/tonickkozlov)).
* تحسين في `clickhouse-keeper`: إضافة دعم للاسترداد القسري، ما يتيح لك إعادة تهيئة cluster دون quorum. [#36258](https://github.com/ClickHouse/ClickHouse/pull/36258) ([Antonio Andelic](https://github.com/antonio2368)).
* تحسين استدلال المخطط لكائنات JSON. [#36207](https://github.com/ClickHouse/ClickHouse/pull/36207) ([Kruglov Pavel](https://github.com/Avogar)).
* إعادة هيكلة الشيفرة المتعلقة باستدلال المخطط باستخدام globs. لا يُجرَّب الملف التالي من glob إلا إذا كان ذلك منطقيًا (في السابق، كنا نجرّب الملف التالي عند حدوث أي error). كما يُصلح ذلك أيضًا [#36317](https://github.com/ClickHouse/ClickHouse/issues/36317). [#36205](https://github.com/ClickHouse/ClickHouse/pull/36205) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة grant منفصل باسم `CLUSTER` (وتوجيه إعداد `access_control_improvements.on_cluster_queries_require_cluster_grant` الذي تكون قيمته الافتراضية `false` حفاظًا على backward compatibility). [#35767](https://github.com/ClickHouse/ClickHouse/pull/35767) ([Azat Khuzhin](https://github.com/azat)).
* إذا أصبحت كمية الذاكرة المطلوبة متاحة قبل إيقاف query المحدد، فستواصل جميع queries المنتظرة التنفيذ. والآن لا نوقف أي query إذا تحررت الذاكرة قبل اللحظة التي يعلم فيها query المحدد بالإلغاء. [#35637](https://github.com/ClickHouse/ClickHouse/pull/35637) ([Dmitry Novik](https://github.com/novikd)).
* اكتشاف قيم Nullable في Protobuf. في proto3، لا تُرسَل القيم الافتراضية عبر wire. وهذا يجعل التمييز بين القيم NULL والقيم الافتراضية في أعمدة Nullable أمرًا غير مباشر. والطريقة القياسية للتعامل مع هذه المشكلة هي استخدام Google wrappers لتغليف target value داخل رسالة داخلية (انظر [https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/wrappers.proto](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/wrappers.proto)). في هذه الحالة، يُفسَّر الحقل المفقود على أنه قيمة NULL، ويُفسَّر الحقل الذي يفتقد قيمةً على أنه قيمة افتراضية، ويُفسَّر الحقل ذو القيمة العادية على أنه قيمة عادية. ومع ذلك، يفسّر ClickHouse Google wrappers على أنها أعمدة Nested. ونقترح إدخال سلوك خاص لاكتشاف Google wrappers وتفسيرها كما هو موضح أعلاه. على سبيل المثال، من أجل serialize القيم للعمود Nullable `test`، سنستخدم `google.protobuf.StringValue test` في schema ‏.proto الخاصة بنا. لاحظ أن هذه الأنواع تُعرف باسم "well-known types" في Protobuf، وهي مُنفَّذة داخل المكتبة نفسها. [#35149](https://github.com/ClickHouse/ClickHouse/pull/35149) ([Jakub Kuklis](https://github.com/jkuklis)).
* إضافة دعم لتحديد `content_type` في إعدادات HTTP handler المعرّفة مسبقًا والثابتة. [#34916](https://github.com/ClickHouse/ClickHouse/pull/34916) ([Roman Nikonov](https://github.com/nic11)).
* عرض تحذير بشكل صحيح عند استخدام clickhouse-client --file بدون --external يسبقه. يُغلق [#34747](https://github.com/ClickHouse/ClickHouse/issues/34747). [#34765](https://github.com/ClickHouse/ClickHouse/pull/34765) ([李扬](https://github.com/taiyang-li)).
* تحسين محرك قاعدة بيانات MySQL ليتوافق مع نوع البيانات binary(0). [#37232](https://github.com/ClickHouse/ClickHouse/pull/37232) ([zzsmdfj](https://github.com/zzsmdfj)).
* تحسين تقرير JSON الخاص بـ clickhouse-benchmark. [#36473](https://github.com/ClickHouse/ClickHouse/pull/36473) ([Tian Xinhui](https://github.com/xinhuitian)).
* قد يرفض server البدء إذا تعذر عليه resolve hostname الخاص بـ Dictionary خارجي في ClickHouse. تم إصلاح ذلك. يُصلح [#36451](https://github.com/ClickHouse/ClickHouse/issues/36451). [#36463](https://github.com/ClickHouse/ClickHouse/pull/36463) ([tavplubix](https://github.com/tavplubix)).

<div id="buildtestingpackaging-improvement-2">
  #### تحسينات البناء/الاختبار/التغليف
</div>

* أصبح `clickhouse-keeper` لمعمارية `x86_64` مرتبطًا ربطًا ثابتًا مع [musl](https://musl.libc.org/) ولم يعد يعتمد على أي مكتبات نظام. [#31833](https://github.com/ClickHouse/ClickHouse/pull/31833) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أصبحت إصدارات ClickHouse لمعمارية `PowerPC64LE` متاحة الآن عبر البرنامج النصي العام للتثبيت `curl https://clickhouse.com/ | sh` وعبر الرابط المباشر `https://builds.clickhouse.com/master/powerpc64le/clickhouse`. [#37095](https://github.com/ClickHouse/ClickHouse/pull/37095) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* قصر توليد الشيفرة الخاصة بـ PowerPC على Power8 لتحسين التوافق. يُغلق هذا [#36025](https://github.com/ClickHouse/ClickHouse/issues/36025). [#36529](https://github.com/ClickHouse/ClickHouse/pull/36529) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تبسيط اختبار الأداء. سيمنحنا ذلك فرصة لاستخدامه. [#36769](https://github.com/ClickHouse/ClickHouse/pull/36769) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* جعل مقارنة الأداء تفشل عند وجود أخطاء في التقرير. [#34797](https://github.com/ClickHouse/ClickHouse/pull/34797) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إضافة دعم ZSTD إلى Arrow. يعالج هذا [#35283](https://github.com/ClickHouse/ClickHouse/issues/35283). [#35486](https://github.com/ClickHouse/ClickHouse/pull/35486) ([Sean Lafferty](https://github.com/seanlaff)).

<div id="bug-fix-2">
  #### إصلاحات الأخطاء
</div>

* يستخرج `Version ID` من `URI` إذا كان موجودًا، ويضيف طلبًا إلى `AWS HTTP URI`. يغلق [#31221](https://github.com/ClickHouse/ClickHouse/issues/31221). - \[x] استخراج `Version ID` من `URI` إذا كان موجودًا وإعادة تركيبه من دونه. - \[x] تهيئة كائن `AWS HTTP URI` بالطلب. - \[x] اختبارات الوحدة: [`gtest_s3_uri`](https://github.com/ClickHouse/ClickHouse/blob/2340a6c6849ebc05a8efbf97ba8de3ff9dc0eff4/src/IO/tests/gtest_s3_uri.cpp) - \[x] إزالة commit الخاص بـ instrumentation. [#34571](https://github.com/ClickHouse/ClickHouse/pull/34571) ([Saad Ur Rahman](https://github.com/surahman)).
* إصلاح alias الخاص بـ attribute.values في system.opentelemetry\_span\_log ليصبح values بدلًا من keys. [#37275](https://github.com/ClickHouse/ClickHouse/pull/37275) ([Aleksandr Razumov](https://github.com/ernado)).
* إصلاح التحويل من Nullable(String) إلى Nullable(Bool/IPv4/IPv6). يغلق [#37221](https://github.com/ClickHouse/ClickHouse/issues/37221). [#37270](https://github.com/ClickHouse/ClickHouse/pull/37270) ([Kruglov Pavel](https://github.com/Avogar)).
* ميزة Experimental: إصلاح تنفيذ mutations في الجداول التي تحتوي على columns من النوع `Object`. أصبح استخدام subcolumns من النوع `Object` في expression الخاصة بـ `WHERE` ضمن queries من نوع `UPDATE` أو `DELETE` مسموحًا الآن أيضًا، وكذلك إجراء (`DROP`, `MODIFY`) على subcolumns المنفصلة. يعالج [#37205](https://github.com/ClickHouse/ClickHouse/issues/37205). [#37266](https://github.com/ClickHouse/ClickHouse/pull/37266) ([Anton Popov](https://github.com/CurtizJ)).
* لا يحتاج Kafka إلى `group.id` في مرحلة المنتج. ويمكنك العثور في سجل Console على تحذير يصف هذه المشكلة: `2022.05.15 17:59:13.270227 [ 137 ] {} <Warning> StorageKafka (topic-name): [rdk:CONFWARN] [thrd:app]: Configuration property group.id is a consumer property and will be ignored by this producer instance`. [#37228](https://github.com/ClickHouse/ClickHouse/pull/37228) ([Mark Andreev](https://github.com/mrk-andreev)).
* ميزة Experimental (WindowView): تحديث `max_fired_watermark ` بعد إطلاق blocks فعليًا، في حال حذف بيانات لم تُطلق بعد. [#37225](https://github.com/ClickHouse/ClickHouse/pull/37225) ([vxider](https://github.com/Vxider)).
* إصلاح "Cannot create column of type Set" في distributed queries مع LIMIT BY. [#37193](https://github.com/ClickHouse/ClickHouse/pull/37193) ([Azat Khuzhin](https://github.com/azat)).
* ميزة Experimental: الآن لن يتم إنهاء query ‏`WATCH EVENTS` في WindowView بسبب Chunk غير فارغ أُنشئ في `WindowViewSource.h:58`. [#37182](https://github.com/ClickHouse/ClickHouse/pull/37182) ([vxider](https://github.com/Vxider)).
* تفعيل `enable_global_with_statement` من أجل subqueries، يغلق [#37141](https://github.com/ClickHouse/ClickHouse/issues/37141). [#37166](https://github.com/ClickHouse/ClickHouse/pull/37166) ([Vladimir C](https://github.com/vdimir)).
* إصلاح التحويل الضمني لـ optimize\_skip\_unused\_shards\_rewrite\_in. [#37153](https://github.com/ClickHouse/ClickHouse/pull/37153) ([Azat Khuzhin](https://github.com/azat)).
* كان يمكن أن تُرجع الدالة ILIKE على columns من النوع FixedString نتائج غير صحيحة (أي تطابقًا أقل مما ينبغي). [#37117](https://github.com/ClickHouse/ClickHouse/pull/37117) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح `GROUP BY` مع `AggregateFunction` (أي عند استخدام `GROUP BY` على column من النوع `AggregateFunction`). [#37093](https://github.com/ClickHouse/ClickHouse/pull/37093) ([Azat Khuzhin](https://github.com/azat)).
* ميزة تجريبية: إصلاح optimize\_aggregation\_in\_order مع GROUP BY ذي البادئة ودوال التجميع \*Array. [#37050](https://github.com/ClickHouse/ClickHouse/pull/37050) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح تراجع الأداء في بعض استعلامات INSERT SELECT مع التجميع الضمني. يُصلح [#36792](https://github.com/ClickHouse/ClickHouse/issues/36792). [#37047](https://github.com/ClickHouse/ClickHouse/pull/37047) ([tavplubix](https://github.com/tavplubix)).
* ميزة تجريبية: إصلاح `GROUP BY` بالترتيب (`optimize_aggregation_in_order=1`) مع دوال التجميع `*Array` (`groupArrayArray`/...). [#37046](https://github.com/ClickHouse/ClickHouse/pull/37046) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح مخرجات LowCardinality->ArrowDictionary غير الصالحة عندما لا يكون نوع الفهارس UInt8. يُغلق [#36832](https://github.com/ClickHouse/ClickHouse/issues/36832). [#37043](https://github.com/ClickHouse/ClickHouse/pull/37043) ([Kruglov Pavel](https://github.com/Avogar)).
* تم إصلاح مشكلة القيم اللانهائية في `quantileTDigest`. يُصلح [#32107](https://github.com/ClickHouse/ClickHouse/issues/32107). [#37021](https://github.com/ClickHouse/ClickHouse/pull/37021) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إصلاح إرسال بيانات الجداول الخارجية في HedgedConnections عندما تكون قيمة max\_parallel\_replicas != 1. [#36981](https://github.com/ClickHouse/ClickHouse/pull/36981) ([Kruglov Pavel](https://github.com/Avogar)).
* تم إصلاح خطأ منطقي في استعلام `TRUNCATE` في قاعدة البيانات `Replicated`. يُصلح [#33747](https://github.com/ClickHouse/ClickHouse/issues/33747). [#36976](https://github.com/ClickHouse/ClickHouse/pull/36976) ([tavplubix](https://github.com/tavplubix)).
* ميزة تجريبية: إصلاح التعليق عند حذف الجدول المصدر في WindowView. يُغلق [#35678](https://github.com/ClickHouse/ClickHouse/issues/35678). [#36967](https://github.com/ClickHouse/ClickHouse/pull/36967) ([vxider](https://github.com/Vxider)).
* ميزة تجريبية (rocksdb cache): إصلاح المشكلة: [#36671](https://github.com/ClickHouse/ClickHouse/issues/36671). [#36929](https://github.com/ClickHouse/ClickHouse/pull/36929) ([李扬](https://github.com/taiyang-li)).
* ميزة تجريبية: إصلاح الأخطاء عند استخدام عدة أعمدة في WindowView عبر إضافة إجراءات تحويل تتيح استدعاء `writeIntoWindowView` مع مخطط مختلف قليلًا. [#36928](https://github.com/ClickHouse/ClickHouse/pull/36928) ([vxider](https://github.com/Vxider)).
* إصلاح خطأ في clickhouse-keeper قد يؤدي إلى تلف ملفات السجل المضغوطة عند انخفاض الحمل ومع إعادة التشغيل. [#36910](https://github.com/ClickHouse/ClickHouse/pull/36910) ([alesapin](https://github.com/alesapin)).
* إصلاح نتيجة استعلام غير صحيحة عند إجراء تجميع ثابت. هذا يُصلح [#36728](https://github.com/ClickHouse/ClickHouse/issues/36728) . [#36888](https://github.com/ClickHouse/ClickHouse/pull/36888) ([Amos Bird](https://github.com/amosbird)).
* ميزة تجريبية: إصلاح عدد `current_size` في الذاكرة المؤقتة. [#36887](https://github.com/ClickHouse/ClickHouse/pull/36887) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ميزة تجريبية: إصلاح إطلاق النتائج في window view مع hop window [#34044](https://github.com/ClickHouse/ClickHouse/issues/34044). [#36861](https://github.com/ClickHouse/ClickHouse/pull/36861) ([vxider](https://github.com/Vxider)).
* ميزة تجريبية: إصلاح CAST غير الصحيح في المخزن المؤقت المخبأ من remote fs. [#36809](https://github.com/ClickHouse/ClickHouse/pull/36809) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح إنشاء الجداول مع `flatten_nested = 0`. سابقًا، كان يمكن تسطيح أعمدة `Nested` غير المسطّحة بعد إعادة تشغيل الخادم. [#36803](https://github.com/ClickHouse/ClickHouse/pull/36803) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح بعض المشكلات في عمليات reads غير المتزامنة من remote filesystem التي كانت تحدث عند قراءة بيانات low cardinality. [#36763](https://github.com/ClickHouse/ClickHouse/pull/36763) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ميزة تجريبية: إصلاح الإدراج في الأعمدة من النوع `Object` من عدة ملفات، مثلًا عبر table function ‏`file` مع globs. [#36762](https://github.com/ClickHouse/ClickHouse/pull/36762) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح حالات timeout في طلبات Hedged. إذ كان تعليق الاتصال مباشرة بعد إرسال query بعيدة قد يؤدي إلى انتظار بلا نهاية. [#36749](https://github.com/ClickHouse/ClickHouse/pull/36749) ([Kruglov Pavel](https://github.com/Avogar)).
* ميزة تجريبية: إصلاح خطأ في `groupBitmapAndState`/`groupBitmapOrState`/`groupBitmapXorState` على distributed table. [#36739](https://github.com/ClickHouse/ClickHouse/pull/36739) ([Zhang Yifan](https://github.com/zhangyifan27)).
* ميزة تجريبية: أثناء [الاختبار](https://s3.amazonaws.com/clickhouse-test-reports/36376/1cb1c7275cb53769ab826772db9b71361bb3e413/stress_test__thread__actions_/clickhouse-server.clean.log) في [PR](https://github.com/ClickHouse/ClickHouse/pull/36376)، تبيّن أن فئة cache واحدة جرى تهيئتها مرتين، ما يؤدي إلى إطلاق استثناء. ورغم أن سبب هذه المشكلة غير واضح، يبدو أن هناك منطقًا برمجيًا لتحميل القرص بشكل متكرر في ClickHouse، لذلك نحتاج إلى معالجة خاصة لهذه الحالة. [#36737](https://github.com/ClickHouse/ClickHouse/pull/36737) ([Han Shukai](https://github.com/KinderRiven)).
* إصلاح vertical merges في wide parts. سابقًا، كان يمكن إطلاق الاستثناء `There is no column` أثناء الدمج. [#36707](https://github.com/ClickHouse/ClickHouse/pull/36707) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح إعادة تحميل الخادم عند تغيير المنفذ (من دون انتظار الاتصالات الحالية من Context الاستعلام). [#36700](https://github.com/ClickHouse/ClickHouse/pull/36700) ([Azat Khuzhin](https://github.com/azat)).
* ميزة تجريبية: في [PR](https://github.com/ClickHouse/ClickHouse/pull/36376) السابق، تبيّن أن الاختبارات (stateless tests وflaky check ‏(address, actions)) تنتهي بحالة timeout. إضافةً إلى ذلك، قد يؤدي الاختبار محليًا أيضًا إلى trigger لحالات deadlocks غير مستقرة في النظام. وما تزال هذه المشكلة قائمة عند استخدام أحدث Source Code من master. [#36697](https://github.com/ClickHouse/ClickHouse/pull/36697) ([Han Shukai](https://github.com/KinderRiven)).
* ميزة تجريبية: إصلاح إعادة تشغيل الخادم إذا تغيّرت cache configuration. [#36685](https://github.com/ClickHouse/ClickHouse/pull/36685) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح احتمال حدوث heap-use-after-free في schema inference. يغلق [#36661](https://github.com/ClickHouse/ClickHouse/issues/36661). [#36679](https://github.com/ClickHouse/ClickHouse/pull/36679) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح parsing لإعدادات query في استعلام `CREATE` عندما لا يكون engine محددًا. يصلح [https://github.com/ClickHouse/ClickHouse/pull/34187#issuecomment-1103812419](https://github.com/ClickHouse/ClickHouse/pull/34187#issuecomment-1103812419). [#36642](https://github.com/ClickHouse/ClickHouse/pull/36642) ([tavplubix](https://github.com/tavplubix)).
* ميزة تجريبية: إصلاح merges للـ wide parts من النوع `Object`. [#36637](https://github.com/ClickHouse/ClickHouse/pull/36637) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح تعطل format عندما يأتي تعبير default بعد EPHEMERAL وليس قيمة literal. يغلق [#36618](https://github.com/ClickHouse/ClickHouse/issues/36618). [#36633](https://github.com/ClickHouse/ClickHouse/pull/36633) ([flynn](https://github.com/ucasfl)).
* إصلاح استثناء `Missing column` الذي قد يحدث عند استخدام `INTERPOLATE` مع جدول `ENGINE = MergeTree`. [#36549](https://github.com/ClickHouse/ClickHouse/pull/36549) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح خطأ محتمل في القيم الحرفية داخل `WHERE` في استعلامات join. إغلاق [#36279](https://github.com/ClickHouse/ClickHouse/issues/36279). [#36542](https://github.com/ClickHouse/ClickHouse/pull/36542) ([Vladimir C](https://github.com/vdimir)).
* إصلاح تحديث الإزاحة في ReadBufferFromEncryptedFile، والذي قد يتسبب في سلوك غير معرّف. [#36493](https://github.com/ClickHouse/ClickHouse/pull/36493) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح فحوصات سلامة اسم المضيف في إعدادات عنقود Keeper. وإضافة الإعداد `keeper_server.host_checks_enabled` لتمكين هذه الفحوصات أو تعطيلها. [#36492](https://github.com/ClickHouse/ClickHouse/pull/36492) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح استخدام الدوال المعرفة من قبل المستخدم القابلة للتنفيذ في GROUP BY. إذ لم يكن من الممكن سابقًا استخدام الدوال المعرفة من قبل المستخدم القابلة للتنفيذ كتعبيرات في GROUP BY. إغلاق [#36448](https://github.com/ClickHouse/ClickHouse/issues/36448). [#36486](https://github.com/ClickHouse/ClickHouse/pull/36486) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح استثناء محتمل يتعلق بحزمة غير معروفة من الخادم في العميل. [#36481](https://github.com/ClickHouse/ClickHouse/pull/36481) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ميزة تجريبية (يرجى عدم استخدام `system.session_log` مطلقًا، لأنه سيُزال): إضافة قيم enum المفقودة إلى جدول system.session\_log. إغلاق [#36474](https://github.com/ClickHouse/ClickHouse/issues/36474). [#36480](https://github.com/ClickHouse/ClickHouse/pull/36480) ([Memo](https://github.com/Joeywzr)).
* إصلاح خلل في استدلال المخطط في s3Cluster كان يؤدي إلى عدم قراءة جميع البيانات عند تنفيذ select من s3Cluster. ظهر هذا الخلل في [https://github.com/ClickHouse/ClickHouse/pull/35544](https://github.com/ClickHouse/ClickHouse/pull/35544). [#36434](https://github.com/ClickHouse/ClickHouse/pull/36434) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح إلغاء مرجع nullptr في JOIN ومطابق COLUMNS. ويعالج هذا [#36416](https://github.com/ClickHouse/ClickHouse/issues/36416). وهذا متعلق بـ [https://github.com/ClickHouse/ClickHouse/pull/36417](https://github.com/ClickHouse/ClickHouse/pull/36417). [#36430](https://github.com/ClickHouse/ClickHouse/pull/36430) ([Amos Bird](https://github.com/amosbird)).
* إصلاح إعادة تحميل القاموس في `ClickHouseDictionarySource` إذا كان يحتوي على استعلامات فرعية scalar. [#36390](https://github.com/ClickHouse/ClickHouse/pull/36390) ([lthaooo](https://github.com/lthaooo)).
* إصلاح خطأ assertion في JOIN، إغلاق [#36199](https://github.com/ClickHouse/ClickHouse/issues/36199). [#36201](https://github.com/ClickHouse/ClickHouse/pull/36201) ([Vladimir C](https://github.com/vdimir)).
* كانت الاستعلامات التي تتضمن أسماء مستعارة داخل المعاملات الخاصة تُرجع parsing error (وكان ذلك معطّلًا في 22.1). مثال: `SELECT substring('test' AS t, 1, 1)`. [#36167](https://github.com/ClickHouse/ClickHouse/pull/36167) ([Maksim Kita](https://github.com/kitaisreal)).
* ميزة تجريبية: إصلاح إدراج ملفات JSON المعقدة ذات المصفوفات المتداخلة في أعمدة من النوع `Object`. [#36077](https://github.com/ClickHouse/ClickHouse/pull/36077) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح ALTER DROP COLUMN لعمود متداخل مع compact parts (أي `ALTER TABLE x DROP COLUMN n` عندما يكون هناك عمود `n.d`). [#35797](https://github.com/ClickHouse/ClickHouse/pull/35797) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خطأ طول النطاق في الدالة substring عندما تكون `offset` و `length` ثابتين سالبين، و`s` ليس ثابتًا. [#33861](https://github.com/ClickHouse/ClickHouse/pull/33861) ([RogerYK](https://github.com/RogerYK)).

### <a id="224" /> إصدار ClickHouse 22.4، بتاريخ 2022-04-19. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.4/)، [الفيديو](https://www.youtube.com/watch?v=aFQs_zoYoXY)

<Frame>
  <iframe src="https://www.youtube.com/embed/aFQs_zoYoXY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* لم يعد مسموحًا باستخدام SETTINGS بعد FORMAT في استعلامات INSERT (يوجد إعداد توافق `allow_settings_after_format_in_insert` لقبول مثل هذه الاستعلامات، لكنه يكون مضبوطًا على `OFF` افتراضيًا). [#35883](https://github.com/ClickHouse/ClickHouse/pull/35883) ([Azat Khuzhin](https://github.com/azat)).
* أُعيدت تسمية الدالة `yandexConsistentHash` (خوارزمية التجزئة المتسقة التي وضعها Konstantin "kostik" Oblakov) إلى `kostikConsistentHash`. وقد أُبقي الاسم القديم كاسم مستعار حفاظًا على التوافق. ومع أن هذا التغيير متوافق مع الإصدارات السابقة، فقد نزيل هذا الاسم المستعار في الإصدارات اللاحقة، لذلك يُنصح بتحديث استخدامات هذه الدالة في تطبيقاتكم. [#35553](https://github.com/ClickHouse/ClickHouse/pull/35553) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* تمت إضافة الامتداد INTERPOLATE إلى ORDER BY ... WITH FILL. يحل [#34903](https://github.com/ClickHouse/ClickHouse/issues/34903). [#35349](https://github.com/ClickHouse/ClickHouse/pull/35349) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* تمت إضافة جمع بيانات profiling على مستوى processors (ضمن الإعداد `log_processors_profiles`، سيكتب ClickHouse الزمن الذي قضاه كل processor أثناء التنفيذ/انتظار البيانات في جدول `system.processors_profile_log`). [#34355](https://github.com/ClickHouse/ClickHouse/pull/34355) ([Azat Khuzhin](https://github.com/azat)).
* تمت إضافة الدالتين makeDate(year, month, day) و makeDate32(year, month, day). [#35628](https://github.com/ClickHouse/ClickHouse/pull/35628) ([Alexander Gololobov](https://github.com/davenger)). كما أُضيف تنفيذ makeDateTime() و makeDateTIme64(). [#35934](https://github.com/ClickHouse/ClickHouse/pull/35934) ([Alexander Gololobov](https://github.com/davenger)).
* دعم نوع جديد من الحصص `WRITTEN BYTES` لتقييد كمية البايتات المكتوبة أثناء استعلامات insert. [#35736](https://github.com/ClickHouse/ClickHouse/pull/35736) ([Anton Popov](https://github.com/CurtizJ)).
* تمت إضافة الدالة `flattenTuple`. تستقبل `Tuple` مسمّى ومتداخلًا كـ argument وتُرجع `Tuple` مسطّحًا تكون عناصره هي المسارات من `Tuple` الأصلي. مثال: `Tuple(a Int, Tuple(b Int, c Int)) -> Tuple(a Int, b Int, c Int)`. ويمكن استخدام `flattenTuple` لاختيار جميع المسارات من النوع `Object` كأعمدة منفصلة. [#35690](https://github.com/ClickHouse/ClickHouse/pull/35690) ([Anton Popov](https://github.com/CurtizJ)).
* تمت إضافة الدالتين `arrayFirstOrNull` و `arrayLastOrNull`. يحل [#35238](https://github.com/ClickHouse/ClickHouse/issues/35238). [#35414](https://github.com/ClickHouse/ClickHouse/pull/35414) ([Maksim Kita](https://github.com/kitaisreal)).
* تمت إضافة الدالتين `minSampleSizeContinous` و `minSampleSizeConversion`. المؤلف [achimbab](https://github.com/achimbab). [#35360](https://github.com/ClickHouse/ClickHouse/pull/35360) ([Maksim Kita](https://github.com/kitaisreal)).
* دالتان جديدتان: minSampleSizeContinous و minSampleSizeConversion. [#34354](https://github.com/ClickHouse/ClickHouse/pull/34354) ([achimbab](https://github.com/achimbab)).
* تقديم التنسيق `ProtobufList` (جميع السجلات تكون رسائل متكررة في مخرجات Protobuf). يحل [#16436](https://github.com/ClickHouse/ClickHouse/issues/16436). [#35152](https://github.com/ClickHouse/ClickHouse/pull/35152) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تمت إضافة الدوال `h3PointDistM` و `h3PointDistKm` و `h3PointDistRads` و `h3GetRes0Indexes` و `h3GetPentagonIndexes`. [#34568](https://github.com/ClickHouse/ClickHouse/pull/34568) ([Bharat Nallan](https://github.com/bharatnc)).
* تمت إضافة الدالة `toLastDayOfMonth` التي تقرّب تاريخًا أو تاريخًا مع وقت إلى آخر يوم من الشهر. [#33501](https://github.com/ClickHouse/ClickHouse/issues/33501). [#34394](https://github.com/ClickHouse/ClickHouse/pull/34394) ([Habibullah Oladepo](https://github.com/holadepo)).
* تمت إضافة إعداد load balancing لعميل \[Zoo]Keeper. يحل [#29617](https://github.com/ClickHouse/ClickHouse/issues/29617). [#30325](https://github.com/ClickHouse/ClickHouse/pull/30325) ([小路](https://github.com/nicelulu)).
* أُضيف نوع جديد من سياسات الصفوف باسم `simple`. قبل هذا الـ PR، كان لدينا نوعان من سياسات الصفوف: `permissive` و`restrictive`. تضيف سياسة الصفوف `simple` عامل تصفية جديدًا إلى جدول من دون أي آثار جانبية، بخلاف ما كان عليه الحال مع سياسات `permissive` و`restrictive`. [#35345](https://github.com/ClickHouse/ClickHouse/pull/35345) ([Vitaly Baranov](https://github.com/vitlibar)).
* أُضيفت إمكانية تحديد سرّ العنقود في قاعدة بيانات Replicated. [#35333](https://github.com/ClickHouse/ClickHouse/pull/35333) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أُضيفت عمليات تحقق أساسية عند بدء تشغيل الخادم (الذاكرة المتاحة، ومساحة القرص، والحد الأقصى لعدد الخيوط، إلخ). [#34566](https://github.com/ClickHouse/ClickHouse/pull/34566) ([Sergei Trifonov](https://github.com/serxa)).
* تحسين على INTERVAL — يمكن استخدامه مع `[MILLI|MICRO|NANO]SECOND`. أُضيفت الدوال `toStartOf[Milli|Micro|Nano]second()`. وأُضيفت الدوال `[add|subtract][Milli|Micro|Nano]seconds()`. [#34353](https://github.com/ClickHouse/ClickHouse/pull/34353) ([Andrey Zvonov](https://github.com/zvonand)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* أُضيف دعم المعاملات إلى جداول `MergeTree` البسيطة. هذه الميزة تجريبية للغاية ولا يُنصح باستخدامها في بيئات الإنتاج. جزء من [#22086](https://github.com/ClickHouse/ClickHouse/issues/22086). [#24258](https://github.com/ClickHouse/ClickHouse/pull/24258) ([tavplubix](https://github.com/tavplubix)).
* دعم استنتاج المخطط للنوع `Object` في التنسيق `JSONEachRow`. كما يتيح تحويل الأعمدة من النوع `Map` إلى أعمدة من النوع `Object`. [#35629](https://github.com/ClickHouse/ClickHouse/pull/35629) ([Anton Popov](https://github.com/CurtizJ)).
* إتاحة الكتابة إلى ذاكرة التخزين المؤقت لنظام الملفات البعيد في جميع عمليات الكتابة. إضافة جدول `system.remote_filesystem_cache`. إضافة الاستعلام `drop remote filesystem cache`. إضافة إمكانات الاستبطان لبيانات S3 الوصفية باستخدام جدول `system.remote_data_paths`. يُغلق [#34021](https://github.com/ClickHouse/ClickHouse/issues/34021). إضافة خيار لذاكرة التخزين المؤقت لعمليات الدمج عبر إضافة الوضع `read_from_filesystem_cache_if_exists_otherwise_bypass_cache` (ويكون مفعّلًا افتراضيًا لعمليات الدمج، ويمكن أيضًا تفعيله عبر إعداد الاستعلام بالاسم نفسه). إعادة تسمية الإعدادات المرتبطة بذاكرة التخزين المؤقت (`remote_fs_enable_cache -> enable_filesystem_cache`، إلخ). [#35475](https://github.com/ClickHouse/ClickHouse/pull/35475) ([Kseniia Sumarokova](https://github.com/kssenii)).
* خيار لتخزين البيانات الوصفية للأجزاء في RocksDB. يسرّع هذا عملية تحميل الأجزاء في MergeTree لتقليل زمن بدء تشغيل clickhouse-server. مع هذا التحسين، تمكّن clickhouse-server من خفض وقت بدء التشغيل من 75 دقيقة إلى 20 ثانية، مع 700 ألف جزء من MergeTree. [#32928](https://github.com/ClickHouse/ClickHouse/pull/32928) ([李扬](https://github.com/taiyang-li)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تحسين جديد في خطة الاستعلام. تُقيَّم الدوال بعد `ORDER BY` متى أمكن ذلك. على سبيل المثال، في الاستعلام `SELECT sipHash64(number) FROM numbers(1e8) ORDER BY number LIMIT 5`، ستُقيَّم الدالة `sipHash64` بعد `ORDER BY` و`LIMIT`، مما يحقق تسريعًا بنحو \~20x. [#35623](https://github.com/ClickHouse/ClickHouse/pull/35623) ([Nikita Taranov](https://github.com/nickitat)).
* أصبحت أحجام جداول التجزئة المستخدمة أثناء التجميع تُجمع الآن وتُستخدم في الاستعلامات اللاحقة لتجنّب إعادة تحجيم جداول التجزئة. [#33439](https://github.com/ClickHouse/ClickHouse/pull/33439) ([Nikita Taranov](https://github.com/nickitat)).
* تحسين للدالة hasAll باستخدام تعليمات SIMD ‏(SSE وAVX2). [#27653](https://github.com/ClickHouse/ClickHouse/pull/27653) ([youennL-cs](https://github.com/youennL-cs)). [#35723](https://github.com/ClickHouse/ClickHouse/pull/35723) ([Maksim Kita](https://github.com/kitaisreal)).
* عدة تغييرات لتحسين أداء ASOF JOIN ‏(أسرع بمقدار 1.2 إلى 1.6 مرة). كما يضيف ذلك دعمًا لاستخدام الأعداد الصحيحة الكبيرة. [#34733](https://github.com/ClickHouse/ClickHouse/pull/34733) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين أداء ASOF JOIN إذا كان المفتاح عددًا صحيحًا أصليًا. [#35525](https://github.com/ClickHouse/ClickHouse/pull/35525) ([Maksim Kita](https://github.com/kitaisreal)).
* تنفيذ multipart upload إلى S3 storage بالتوازي. [#35343](https://github.com/ClickHouse/ClickHouse/pull/35343) ([Sergei Trifonov](https://github.com/serxa)).
* أصبح محرك URL storage ينزّل الآن عدة أجزاء بالتوازي إذا كانت نقطة النهاية تدعم HTTP Range. وأُضيف إعدادان إضافيان، `max_download_threads` و`max_download_buffer_size`، للتحكم في الحد الأقصى لعدد الخيوط التي يمكن أن يستخدمها استعلام واحد لتنزيل الملف، والحد الأقصى لعدد البايتات التي يمكن لكل خيط معالجتها. [#35150](https://github.com/ClickHouse/ClickHouse/pull/35150) ([Antonio Andelic](https://github.com/antonio2368)).
* استخدام عدة خيوط لتنزيل الكائنات من S3. ويمكن التحكم في التنزيل باستخدام الإعدادين `max_download_threads` و`max_download_buffer_size`. [#35571](https://github.com/ClickHouse/ClickHouse/pull/35571) ([Antonio Andelic](https://github.com/antonio2368)).
* تضييق نطاق mutex عند التفاعل مع HDFS. مرتبط بـ [#35292](https://github.com/ClickHouse/ClickHouse/issues/35292). [#35646](https://github.com/ClickHouse/ClickHouse/pull/35646) ([shuchaome](https://github.com/shuchaome)).
* لا تصبح mutations مطلوبة لـ table TTL على مستوى الجدول إلا عند تغييره. [#35953](https://github.com/ClickHouse/ClickHouse/pull/35953) ([Azat Khuzhin](https://github.com/azat)).

<div id="improvement-3">
  #### تحسين
</div>

* تحسينات متعددة على استدلال المخطط. استخدام بعض التحسينات والاستدلالات لتحديد الأرقام والسلاسل النصية والمصفوفات وTuples وMaps في تنسيقات البيانات CSV وTSV وTSVRaw. إضافة الإعداد `input_format_csv_use_best_effort_in_schema_inference` لتنسيق CSV لتمكين/تعطيل استخدام هذه الاستدلالات؛ وإذا كان معطّلًا، فستُعامل جميع القيم على أنها String. إضافة إعداد مماثل `input_format_tsv_use_best_effort_in_schema_inference` لتنسيق TSV/TSVRaw. هذه الإعدادات مُمكّنة افتراضيًا. - إضافة دعم Maps إلى استدلال المخطط في Values format. - إصلاح احتمال حدوث segfault في استدلال المخطط في Values format. - السماح بتخطي الأعمدة ذات الأنواع غير المدعومة في تنسيقات Arrow/ORC/Parquet. وإضافة الإعدادات المقابلة لذلك: `input_format_{parquet|orc|arrow}_skip_columns_with_unsupported_types_in_schema_inference`. هذه الإعدادات معطّلة افتراضيًا. - السماح بتحويل عمود من النوع Null إلى عمود Nullable يحتوي بالكامل على قيم NULL في تنسيقات Arrow/Parquet. - السماح بتحديد أسماء الأعمدة في استدلال المخطط عبر الإعداد `column_names_for_schema_inference` للتنسيقات التي لا تتضمن أسماء أعمدة (مثل CSV وTSV وJSONCompactEachRow وغيرها) - إصلاح استدلال المخطط في تنسيقات ORC/Arrow/Parquet فيما يخص التعامل مع الأعمدة Nullable. في السابق، كانت جميع الأنواع المستدل عليها غير Nullable، ما كان يمنع قراءة الأعمدة Nullable من البيانات. وقد أُصلح ذلك الآن، وأصبحت جميع الأنواع المستدل عليها Nullable دائمًا (لأنه لا يمكن تحديد ما إذا كان العمود Nullable أم لا بمجرد قراءة المخطط). - إصلاح استدلال المخطط في Template format مع قواعد الهروب الخاصة بـCSV. [#35582](https://github.com/ClickHouse/ClickHouse/pull/35582) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة التحليل المتوازي واستدلال المخطط للتنسيق `JSONAsObject`. [#35592](https://github.com/ClickHouse/ClickHouse/pull/35592) ([Anton Popov](https://github.com/CurtizJ)).
* تمت إضافة دعم الاستدلال التلقائي للمخطط إلى الدالة الجدولية `s3Cluster`. وتمت مزامنة تواقيع `s3 ` و`s3Cluster`. [#35544](https://github.com/ClickHouse/ClickHouse/pull/35544) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تمت إضافة دعم استدلال المخطط لـ `hdfsCluster`. [#35602](https://github.com/ClickHouse/ClickHouse/pull/35602) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إضافة إعداد جديد `input_format_json_read_bools_as_numbers` يتيح استدلال القيم المنطقية وتحليلها كأرقام في JSON input formats. وهو مُمكّن افتراضيًا. باقتراح من @alexey-milovidov. [#35735](https://github.com/ClickHouse/ClickHouse/pull/35735) ([Kruglov Pavel](https://github.com/Avogar)).
* تحسين ترتيب الأعمدة في استدلال المخطط للتنسيقين TSKV وJSONEachRow، وإغلاق [#35640](https://github.com/ClickHouse/ClickHouse/issues/35640). وعدم إيقاف استدلال المخطط عند قراءة صف فارغ أثناء استدلال المخطط للتنسيقين TSKV وJSONEachRow. [#35724](https://github.com/ClickHouse/ClickHouse/pull/35724) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة الإعدادات `input_format_orc_case_insensitive_column_matching` و`input_format_arrow_case_insensitive_column_matching` و`input_format_parquet_case_insensitive_column_matching`، التي تتيح لـ ClickHouse استخدام مطابقة الأعمدة دون حساسية لحالة الأحرف عند قراءة البيانات من ملفات ORC أو Arrow أو Parquet. [#35459](https://github.com/ClickHouse/ClickHouse/pull/35459) ([Antonio Andelic](https://github.com/antonio2368)).
* تمت إضافة العمود `is_secure` إلى `system.query_log`، وهو يوضح ما إذا كان العميل يستخدم اتصالًا آمنًا عبر TCP أو HTTP. [#35705](https://github.com/ClickHouse/ClickHouse/pull/35705) ([Antonio Andelic](https://github.com/antonio2368)).
* يمكن الآن أن تكون قيمة `kafka_num_consumers` أكبر من عدد الأنوية المادية في الأجهزة منخفضة الموارد (أقل من 16 نواة). [#35926](https://github.com/ClickHouse/ClickHouse/pull/35926) ([alesapin](https://github.com/alesapin)).
* إضافة بعض المقاييس الأساسية لمراقبة الجداول ذات `engine=Kafka`. [#35916](https://github.com/ClickHouse/ClickHouse/pull/35916) ([filimonov](https://github.com/filimonov)).
* لم يعد مسموحًا الآن بتنفيذ `ALTER TABLE ... RESET SETTING` للإعدادات غير الموجودة ضمن عائلة محركات MergeTree. يُصلح هذا [#35816](https://github.com/ClickHouse/ClickHouse/issues/35816). [#35884](https://github.com/ClickHouse/ClickHouse/pull/35884) ([alesapin](https://github.com/alesapin)).
* أصبح بالإمكان الآن تنفيذ بعض استعلامات `ALTER MODIFY COLUMN` لأنواع `Arrays` و`Nullable` على مستوى البيانات الوصفية من دون mutations. على سبيل المثال، التعديل من `Array(Enum8('Option1'=1))` إلى `Array(Enum8('Option1'=1, 'Option2'=2))`. [#35882](https://github.com/ClickHouse/ClickHouse/pull/35882) ([alesapin](https://github.com/alesapin)).
* أُضيفت حركة إلى أيقونة الساعة الرملية لإظهار أن الاستعلام قيد التشغيل. [#35860](https://github.com/ClickHouse/ClickHouse/pull/35860) ([peledni](https://github.com/peledni)).
* دعم `ALTER TABLE t DETACH PARTITION (ALL)`. [#35794](https://github.com/ClickHouse/ClickHouse/pull/35794) ([awakeljw](https://github.com/awakeljw)).
* تحسين تحليل الإسقاطات لتحسين الاستعلامات البسيطة مثل `count()`. [#35788](https://github.com/ClickHouse/ClickHouse/pull/35788) ([Amos Bird](https://github.com/amosbird)).
* دعم استدلال المخطط لعملية insert select عند استخدام table function `input`. يُؤخذ المخطط من جدول الإدراج بدلًا من استنتاجه من البيانات في حالة insert select من table functions التي تدعم استدلال المخطط. يُغلق هذا [#35639](https://github.com/ClickHouse/ClickHouse/issues/35639). [#35760](https://github.com/ClickHouse/ClickHouse/pull/35760) ([Kruglov Pavel](https://github.com/Avogar)).
* تطبيق `remote_url_allow_hosts` على جداول Hive. [#35743](https://github.com/ClickHouse/ClickHouse/pull/35743) ([李扬](https://github.com/taiyang-li)).
* تنفيذ `send_logs_level` في clickhouse-local. يُغلق هذا [#35653](https://github.com/ClickHouse/ClickHouse/issues/35653). [#35716](https://github.com/ClickHouse/ClickHouse/pull/35716) ([Kseniia Sumarokova](https://github.com/kssenii)).
* يُغلق هذا [#35641](https://github.com/ClickHouse/ClickHouse/issues/35641): السماح بأعمدة `EPHEMERAL` من دون تعبير افتراضي صريح. [#35706](https://github.com/ClickHouse/ClickHouse/pull/35706) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إضافة عدّاد لأحداث profile باسم `AsyncInsertBytes` لقياس حجم عمليات INSERT غير المتزامنة. [#35644](https://github.com/ClickHouse/ClickHouse/pull/35644) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسين وصف pipeline لـ JOIN. [#35612](https://github.com/ClickHouse/ClickHouse/pull/35612) ([何李夫](https://github.com/helifu)).
* استنتاج المسار المطلق لـ config الخاص بـ hdfs. [#35572](https://github.com/ClickHouse/ClickHouse/pull/35572) ([李扬](https://github.com/taiyang-li)).
* تحسين أداء اللصق والتوافق في clickhouse-client. يساعد هذا في [#35501](https://github.com/ClickHouse/ClickHouse/issues/35501). [#35541](https://github.com/ClickHouse/ClickHouse/pull/35541) ([Amos Bird](https://github.com/amosbird)).
* كان من الممكن حدوث stack overflow في distributed queries إذا كان أحد الإعدادين `async_socket_for_remote` و`use_hedged_requests` مُمكّنًا أثناء parsing نوع بيانات متداخل بعمق شديد (على الأقل في build التنقيح). يُغلق هذا [#35509](https://github.com/ClickHouse/ClickHouse/issues/35509). [#35524](https://github.com/ClickHouse/ClickHouse/pull/35524) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة أحجام subcolumns إلى جدول `system.parts_columns`. [#35488](https://github.com/ClickHouse/ClickHouse/pull/35488) ([Anton Popov](https://github.com/CurtizJ)).
* أضِف معلومات صريحة عن الجدول إلى عقدة المسح في خطة الاستعلام وخط الأنابيب. [#35460](https://github.com/ClickHouse/ClickHouse/pull/35460) ([何李夫](https://github.com/helifu)).
* اسمح للخادم بإجراء bind على المنافذ ذات الأرقام المنخفضة (مثل 443). سيضبط نص تثبيت ClickHouse البرمجي `cap_net_bind_service` على الملف الثنائي. [#35451](https://github.com/ClickHouse/ClickHouse/pull/35451) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أصلِح `INSERT INTO table FROM INFILE`: إذ لم يكن يعرض شريط التقدّم. [#35429](https://github.com/ClickHouse/ClickHouse/pull/35429) ([xiedeyantu](https://github.com/xiedeyantu)).
* أضِف الوسيطات `--user` و`--password` و`--host` و`--port` إلى أداة `clickhouse-diagnostics`. [#35422](https://github.com/ClickHouse/ClickHouse/pull/35422) ([李扬](https://github.com/taiyang-li)).
* ادعم uuid لمحركات Postgres. يُغلق [#35384](https://github.com/ClickHouse/ClickHouse/issues/35384). [#35403](https://github.com/ClickHouse/ClickHouse/pull/35403) ([Kseniia Sumarokova](https://github.com/kssenii)).
* بالنسبة إلى table function ‏`s3cluster` أو `HDFSCluster` أو `hive`، لا يمكن الحصول على `AccessType` الصحيح عبر `StorageFactory::instance().getSourceAccessType(getStorageTypeName())`. يُصلح هذا الطلب المشكلة. [#35365](https://github.com/ClickHouse/ClickHouse/pull/35365) ([李扬](https://github.com/taiyang-li)).
* أزل الخيار `--testmode` من clickhouse-client، وفعِّله دائمًا. [#35354](https://github.com/ClickHouse/ClickHouse/pull/35354) ([Kseniia Sumarokova](https://github.com/kssenii)).
* لا تسمح بعملية `wchc` (أمر من أربعة أحرف) في clickhouse-keeper. [#35320](https://github.com/ClickHouse/ClickHouse/pull/35320) ([zhangyuli1](https://github.com/zhangyuli1)).
* أضِف الدالة `getTypeSerializationStreams`. بالنسبة إلى نوع محدد (يُكتشف من column)، تُرجع Array تحتوي على جميع مسارات التدفقات الفرعية الخاصة بالتسلسل. هذه الدالة مفيدة أساسًا للمطورين. [#35290](https://github.com/ClickHouse/ClickHouse/pull/35290) ([李扬](https://github.com/taiyang-li)).
* إذا لم يُحدَّد `port` في تهيئة cluster، فسيُستخدم منفذ server الافتراضي. يُغلق هذا [#34769](https://github.com/ClickHouse/ClickHouse/issues/34769). [#34772](https://github.com/ClickHouse/ClickHouse/pull/34772) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* استخدم فهرس `minmax` لملف orc/parquet في Hive engine. طلب السحب ذي الصلة: [https://github.com/ClickHouse/arrow/pull/10](https://github.com/ClickHouse/arrow/pull/10). [#34631](https://github.com/ClickHouse/ClickHouse/pull/34631) ([李扬](https://github.com/taiyang-li)).
* تسمح log tables الخاصة بالنظام الآن بتحديد COMMENT في تصريح ENGINE. يُغلق [#33768](https://github.com/ClickHouse/ClickHouse/issues/33768). [#34536](https://github.com/ClickHouse/ClickHouse/pull/34536) ([Maksim Kita](https://github.com/kitaisreal)).
* دعم صحيح للإعداد `max_rows_to_read` عند القراءة وفق sorting key مع تحديد limit. سابقًا، كان يمكن طرح الاستثناء `Limit for rows or bytes to read exceeded` حتى إذا كان الـ query يتطلب فعليًا قراءة عدد أقل من rows. [#33230](https://github.com/ClickHouse/ClickHouse/pull/33230) ([Anton Popov](https://github.com/CurtizJ)).
* راعِ فقط quota وperiod من cgroups، وتجاهل shares (إذ إنها لا تحد فعليًا من عدد الأنوية التي يمكن استخدامها). [#35815](https://github.com/ClickHouse/ClickHouse/pull/35815) ([filimonov](https://github.com/filimonov)).

<div id="buildtestingpackaging-improvement-1">
  #### تحسينات البناء/الاختبار/التحزيم
</div>

* إضافة الدفعة التالية من إعدادات العشوائية في الاختبارات الوظيفية. [#35047](https://github.com/ClickHouse/ClickHouse/pull/35047) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة فحص للتوافق مع الإصدارات السابقة في اختبار الضغط. يُغلق [#25088](https://github.com/ClickHouse/ClickHouse/issues/25088). [#27928](https://github.com/ClickHouse/ClickHouse/pull/27928) ([Kruglov Pavel](https://github.com/Avogar)).
* ترحيل بناء الحزم إلى `nfpm` - إيقاف استخدام سكربت `release` لصالح `packages/build` - بناء كل شيء داخل صورة clickhouse/binary-builder (تنظيف: clickhouse/deb-builder) - إضافة تجريد الرموز إلى cmake (todo: use $prefix/lib/$bin\_dir/clickhouse/\$binary.debug) - إصلاح مشكلة في رموز DWARF - إضافة حزم Alpine APK - إعادة تسمية `alien` إلى `additional_pkgs`. [#33664](https://github.com/ClickHouse/ClickHouse/pull/33664) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إضافة فحص ليلي ورفع نتائجه إلى Coverity. [#34895](https://github.com/ClickHouse/ClickHouse/pull/34895) ([Boris Kuschel](https://github.com/bkuschel)).
* حزمة صغيرة مخصصة لـ `clickhouse-keeper`. [#35308](https://github.com/ClickHouse/ClickHouse/pull/35308) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* كان التشغيل باستخدام podman يفشل، إذ كان يشتكي من تحديد نفس وحدة التخزين مرتين. [#35978](https://github.com/ClickHouse/ClickHouse/pull/35978) ([Roman Nikonov](https://github.com/nic11)).
* تحسين طفيف في إعدادات بناء contrib/krb5. [#35832](https://github.com/ClickHouse/ClickHouse/pull/35832) ([Anton Kozlov](https://github.com/tonickkozlov)).
* إضافة تسمية للتعرّف على مهمة بناء لكل image. [#35583](https://github.com/ClickHouse/ClickHouse/pull/35583) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* تطبيق المنسّق `black` على شيفرة بايثون وإضافة فحص لكل commit. [#35466](https://github.com/ClickHouse/ClickHouse/pull/35466) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إعادة إعداد صورة alpine لاستخدام Dockerfile نظيف. إنشاء سكربت في tests/ci لبناء صورتي ubuntu وalpine. إضافة صورة clickhouse-keeper (cc @nikitamikhaylov). إضافة فحص بناء إلى PullRequestCI. إضافة job إلى ReleaseCI. إضافة job إلى MasterCI لبناء ودفع الصورتين `clickhouse/clickhouse-server:head` و `clickhouse/clickhouse-keeper:head` لكل PR مدمج. [#35211](https://github.com/ClickHouse/ClickHouse/pull/35211) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إصلاح تقرير stress-test في CI، إذ نرفع الآن runlog الذي يتضمن معلومات عن اختبارات الضغط التي بدأت مرة واحدة فقط. [#35093](https://github.com/ClickHouse/ClickHouse/pull/35093) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* التحول إلى libcxx / libcxxabi من LLVM 14. [#34906](https://github.com/ClickHouse/ClickHouse/pull/34906) ([Raúl Marín](https://github.com/Algunenano)).
* تحديث unixodbc للتخفيف من CVE-2018-7485. ملاحظة: هذا CVE غير ذي صلة بـ ClickHouse لأنه يطبق طبقة عزل خاصة به لـ ODBC. [#35943](https://github.com/ClickHouse/ClickHouse/pull/35943) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).

<div id="bug-fix-2">
  #### إصلاحات الأخطاء
</div>

* تمت إضافة الإعدادات `input_format_ipv4_default_on_conversion_error` و`input_format_ipv6_default_on_conversion_error` للسماح بإدراج قيم عناوين IP غير الصالحة كقيم افتراضية في الجداول. يغلق [#35726](https://github.com/ClickHouse/ClickHouse/issues/35726). [#35733](https://github.com/ClickHouse/ClickHouse/pull/35733) ([Maksim Kita](https://github.com/kitaisreal)).
* تجنب حذف الأعمدة من `block` إذا كانت غير موجودة أثناء قراءة البيانات من Hive. [#35393](https://github.com/ClickHouse/ClickHouse/pull/35393) ([lgbo](https://github.com/lgbo-ustc)).
* إضافة التحقق من الأنواع عند إنشاء عرض مادي. إغلاق: [#23684](https://github.com/ClickHouse/ClickHouse/issues/23684). [#24896](https://github.com/ClickHouse/ClickHouse/pull/24896) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح تنسيق استعلامات INSERT INFILE (علامات اقتباس مفقودة). [#35886](https://github.com/ClickHouse/ClickHouse/pull/35886) ([Azat Khuzhin](https://github.com/azat)).
* تعطيل `session_log` بعد اكتشاف مشكلة تتعلق بسلامة الذاكرة عبر fuzzing. راجع [#35714](https://github.com/ClickHouse/ClickHouse/issues/35714). [#35873](https://github.com/ClickHouse/ClickHouse/pull/35873) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تجنب معالجة TTL على مستوى كل عمود عدة مرات. [#35820](https://github.com/ClickHouse/ClickHouse/pull/35820) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح عمليات الإدراج في الأعمدة من النوع `Object` عندما يحتوي استعلام الإدراج على بيانات مرتبطة بعدة أقسام. [#35806](https://github.com/ClickHouse/ClickHouse/pull/35806) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح خطأ في فهارس الأعمدة غير الموجودة في تنسيقات -WithNames، كان يؤدي إلى الخطأ `INCORRECT_NUMBER_OF_COLUMNS ` عندما يتجاوز عدد الأعمدة 256. يغلق [#35793](https://github.com/ClickHouse/ClickHouse/issues/35793). [#35803](https://github.com/ClickHouse/ClickHouse/pull/35803) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح [#35751](https://github.com/ClickHouse/ClickHouse/issues/35751). [#35799](https://github.com/ClickHouse/ClickHouse/pull/35799) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح قراءة البيانات من HDFS بتنسيق Snappy. [#35771](https://github.com/ClickHouse/ClickHouse/pull/35771) ([shuchaome](https://github.com/shuchaome)).
* إصلاح خطأ في التحويل من الأنواع المخصصة إلى سلسلة نصية، كان يمكن أن يؤدي إلى segfault أو إلى رسائل خطأ غير متوقعة. يغلق [#35752](https://github.com/ClickHouse/ClickHouse/issues/35752). [#35755](https://github.com/ClickHouse/ClickHouse/pull/35755) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تنفيذ any/all (استعلام فرعي). يغلق [#35489](https://github.com/ClickHouse/ClickHouse/issues/35489). [#35727](https://github.com/ClickHouse/ClickHouse/pull/35727) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح حذف قاعدة بيانات غير فارغة في clickhouse-local. يغلق [#35692](https://github.com/ClickHouse/ClickHouse/issues/35692). [#35711](https://github.com/ClickHouse/ClickHouse/pull/35711) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خطأ عند إنشاء عرض مادي يتضمن استعلامًا فرعيًا بعد إعادة تشغيل الخادم. إذ لم يكن العرض المادي يتحدّث بعد عمليات الإدراج في الجدول الأساسي عقب إعادة تشغيل الخادم. يغلق [#35511](https://github.com/ClickHouse/ClickHouse/issues/35511). [#35691](https://github.com/ClickHouse/ClickHouse/pull/35691) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح احتمال حدوث الاستثناء `Can't adjust last granule` أثناء قراءة الأعمدة الفرعية من النوع التجريبي `Object`. [#35687](https://github.com/ClickHouse/ClickHouse/pull/35687) ([Anton Popov](https://github.com/CurtizJ)).
* تفعيل build مع ترجمة JIT البرمجية افتراضيًا. [#35683](https://github.com/ClickHouse/ClickHouse/pull/35683) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح الفقدان المحتمل للأعمدة الفرعية في النوع التجريبي `Object`. [#35682](https://github.com/ClickHouse/ClickHouse/pull/35682) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح التحقق من قابلية مفتاح ASOF JOIN لأن يكون NULL، وإغلاق [#35565](https://github.com/ClickHouse/ClickHouse/issues/35565). [#35674](https://github.com/ClickHouse/ClickHouse/pull/35674) ([Vladimir C](https://github.com/vdimir)).
* إصلاح منطق التحقق من parts التي تحتوي على projections. كان الخطأ يحدث عندما تكون أنواع projection وpart الرئيسي مختلفة. وهذا مشابه لـ [https://github.com/ClickHouse/ClickHouse/pull/33774](https://github.com/ClickHouse/ClickHouse/pull/33774) . وقد عالج @caoyang10 هذا الخلل. [#35667](https://github.com/ClickHouse/ClickHouse/pull/35667) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تعطل server عند تمرير عدد كبير من الوسيطات إلى الدالة `format`. يُرجى الرجوع إلى ملف الاختبار لمعرفة كيفية إعادة إنتاج التعطل. [#35651](https://github.com/ClickHouse/ClickHouse/pull/35651) ([Amos Bird](https://github.com/amosbird)).
* إصلاح استخدام quotas مع asynchronous inserts. [#35645](https://github.com/ClickHouse/ClickHouse/pull/35645) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الوسيطات الموضعية مع الأسماء المستعارة. يغلق [#35600](https://github.com/ClickHouse/ClickHouse/issues/35600). [#35620](https://github.com/ClickHouse/ClickHouse/pull/35620) ([Kseniia Sumarokova](https://github.com/kssenii)).
* التحقق من `remote_url_allow_hosts` قبل schema inference في URL engine. يغلق [#35064](https://github.com/ClickHouse/ClickHouse/issues/35064). [#35619](https://github.com/ClickHouse/ClickHouse/pull/35619) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح `HashJoin` عند استخدام أعمدة من النوع `LowCardinality`. هذا يغلق [#35548](https://github.com/ClickHouse/ClickHouse/issues/35548). [#35616](https://github.com/ClickHouse/ClickHouse/pull/35616) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح segfault محتمل في MaterializedPostgreSQL كان يحدث عند وقوع استثناء أثناء مزامنة البيانات المجمعة في الذاكرة إلى underlying tables. يغلق [#35611](https://github.com/ClickHouse/ClickHouse/issues/35611). [#35614](https://github.com/ClickHouse/ClickHouse/pull/35614) ([Kseniia Sumarokova](https://github.com/kssenii)).
* كان الإعداد `database_atomic_wait_for_drop_and_detach_synchronously` يعمل بشكل غير صحيح مع query ‏`ATTACH TABLE` عندما يكون الجدول الذي فُصل سابقًا لا يزال قيد الاستخدام، وقد أُصلح ذلك. [#35594](https://github.com/ClickHouse/ClickHouse/pull/35594) ([tavplubix](https://github.com/tavplubix)).
* إصلاح HTTP headers مع named collections، وإضافة compression\_method. يغلق [#35273](https://github.com/ClickHouse/ClickHouse/issues/35273). يغلق [#35269](https://github.com/ClickHouse/ClickHouse/issues/35269). [#35593](https://github.com/ClickHouse/ClickHouse/pull/35593) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح حصول محرك S3 على virtual columns. يغلق [#35411](https://github.com/ClickHouse/ClickHouse/issues/35411). [#35586](https://github.com/ClickHouse/ClickHouse/pull/35586) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح استنتاج return type للدالة `caseWithExpression`. وأصبح نوع فرع ELSE يؤخذ الآن في الحسبان بشكل صحيح. [#35576](https://github.com/ClickHouse/ClickHouse/pull/35576) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح تحليل عناوين IPv6 التي يزيد طولها على 39 حرفًا. يُغلق [#34022](https://github.com/ClickHouse/ClickHouse/issues/34022). [#35539](https://github.com/ClickHouse/ClickHouse/pull/35539) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح التحويل إلى عنوانَي IPv4 وIPv6 في قسم IN. يُصلح [#35528](https://github.com/ClickHouse/ClickHouse/issues/35528). [#35534](https://github.com/ClickHouse/ClickHouse/pull/35534) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح تعطل أثناء التقييم المختصر للدوال عندما تكون إحدى الوسيطات ثابتًا من النوع Nullable. يُغلق [#35497](https://github.com/ClickHouse/ClickHouse/issues/35497). يُغلق [#35496](https://github.com/ClickHouse/ClickHouse/issues/35496). [#35502](https://github.com/ClickHouse/ClickHouse/pull/35502) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح تعطل الدالة `throwIf` عند استخدام وسائط ثابتة. [#35500](https://github.com/ClickHouse/ClickHouse/pull/35500) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح خلل في Keeper قد يؤدي إلى عدم استقرار اتصالات العميل. أُدخل في [#35031](https://github.com/ClickHouse/ClickHouse/issues/35031). [#35498](https://github.com/ClickHouse/ClickHouse/pull/35498) ([alesapin](https://github.com/alesapin)).
* إصلاح خلل في الدالة `if` عندما يختلف نوع العمود الناتج عن نوع البيانات الناتج، ما كان يؤدي إلى أخطاء منطقية مثل `Logical error: 'Bad cast from type DB::ColumnVector<int> to DB::ColumnVector<long>'.`. يُغلق [#35367](https://github.com/ClickHouse/ClickHouse/issues/35367). [#35476](https://github.com/ClickHouse/ClickHouse/pull/35476) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح التسجيل المفرط عند استخدام S3 كواجهة خلفية لـ MergeTree أو كمحرك جدول/دالة مستقلّين. يُصلح [#30559](https://github.com/ClickHouse/ClickHouse/issues/30559). [#35434](https://github.com/ClickHouse/ClickHouse/pull/35434) ([alesapin](https://github.com/alesapin)).
* الآن لن تُغرق عمليات الدمج المنفذة باستخدام zero copy replication (تجريبي) السجلات بالرسالة `Found parts with the same min block and with the same max block as the missing part _ on replica _. Hoping that it will eventually appear as a result of a merge.`. [#35430](https://github.com/ClickHouse/ClickHouse/pull/35430) ([alesapin](https://github.com/alesapin)).
* تجنب استثناء محتمل إذا ظهرت chunks فارغة في GroupingAggregatedTransform. [#35417](https://github.com/ClickHouse/ClickHouse/pull/35417) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح التعامل مع الأعمدة غير المطلوبة في الاستعلام ضمن تنسيقات Arrow/Parquet/ORC، ما يمنع أخطاء محتملة مثل `Unsupported <format> type <type> of an input column <column_name>` عندما يحتوي الملف على عمود ذي نوع غير مدعوم ولا يُستخدم في الاستعلام. [#35406](https://github.com/ClickHouse/ClickHouse/pull/35406) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الذاكرة المؤقتة المحلية لنظام الملفات البعيد (ميزة تجريبية) في بعض الحالات الطرفية عند التزامن العالي. [#35381](https://github.com/ClickHouse/ClickHouse/pull/35381) ([Kseniia Sumarokova](https://github.com/kssenii)). إصلاح احتمال حدوث توقف متبادل في الذاكرة المؤقتة. [#35378](https://github.com/ClickHouse/ClickHouse/pull/35378) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح تقليص الأقسام في حالة المقارنة مع ثابت في `WHERE`. إذا كان للعمود والثابت نوعان مختلفان، فقد يحدث فيض. وقد يعيد الاستعلام نتيجة فارغة غير صحيحة. هذا يُصلح [#35304](https://github.com/ClickHouse/ClickHouse/issues/35304). [#35334](https://github.com/ClickHouse/ClickHouse/pull/35334) ([Amos Bird](https://github.com/amosbird)).
* إصلاح استنتاج المخطط لتنسيق TSKV عند استخدام قيمة صغيرة لـ max\_read\_buffer\_size. [#35332](https://github.com/ClickHouse/ClickHouse/pull/35332) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح mutations في الجداول ذات الأعمدة المتناثرة المفعّلة. [#35284](https://github.com/ClickHouse/ClickHouse/pull/35284) ([Anton Popov](https://github.com/CurtizJ)).
* عدم تأخير كتابة الجزء النهائي افتراضيًا (يُصلح حالات محتملة لظهور `Memory limit exceeded` أثناء `INSERT` عبر إضافة `max_insert_delayed_streams_for_parallel_write` بقيمة افتراضية مقدارها 1000 لعمليات الكتابة إلى S3، مع إبقائه معطّلًا كما كان سابقًا في غير ذلك). [#34780](https://github.com/ClickHouse/ClickHouse/pull/34780) ([Azat Khuzhin](https://github.com/azat)).

### <a id="223" /> إصدار ClickHouse v22.3-lts، 2022-03-17. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.3/)، [الفيديو](https://www.youtube.com/watch?v=GzeANZzPras)

<Frame>
  <iframe src="https://www.youtube.com/embed/GzeANZzPras" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* اجعل الدالة `arrayCompact` تتصرف مثل الدوال الأعلى رتبة الأخرى: بحيث تُجرى عملية التقليص على المصفوفة الأصلية لا على نتائج دالة lambda. إذا كنت تستخدم دوال lambda غير بسيطة في `arrayCompact`، فيمكنك استعادة السلوك القديم عبر تغليف معاملات `arrayCompact` داخل `arrayMap`. يُغلق [#34010](https://github.com/ClickHouse/ClickHouse/issues/34010) [#18535](https://github.com/ClickHouse/ClickHouse/issues/18535) [#14778](https://github.com/ClickHouse/ClickHouse/issues/14778). [#34795](https://github.com/ClickHouse/ClickHouse/pull/34795) ([Alexandre Snarskii](https://github.com/snar)).
* تغيير سلوك التنفيذ الخاص عند تجاوز السعة في الدالة `toDatetime`. ستُشبَع القيمة إلى أقرب لحظة دنيا/قصوى يدعمها `datetime` بدلًا من الالتفاف. وجرى تمييز هذا التغيير بأنه "غير متوافق مع الإصدارات السابقة" لأن البعض قد يعتمد على السلوك القديم دون قصد. [#32898](https://github.com/ClickHouse/ClickHouse/pull/32898) ([HaiBo Li](https://github.com/marising)).
* اجعل الدالتين `cast(value, 'IPv4')` و`cast(value, 'IPv6')` تتصرفان بالطريقة نفسها التي تتصرف بها الدالتان `toIPv4` و`toIPv6`. تم تغيير سلوك تمرير عنوان IP غير صالح إلى الدالتين `toIPv4`,` toIPv6`؛ إذ سيُرفَع الآن استثناء إذا تم تمرير عنوان IP غير صالح إلى هاتين الدالتين، بينما كانت هذه الدوال تُرجِع القيمة الافتراضية سابقًا. أُضيفت الدوال `IPv4StringToNumOrDefault`, `IPv4StringToNumOrNull`, `IPv6StringToNumOrDefault`, `IPv6StringOrNull` `toIPv4OrDefault`, `toIPv4OrNull`, `toIPv6OrDefault`, `toIPv6OrNull`. ينبغي استخدام الدوال `IPv4StringToNumOrDefault ` و`toIPv4OrDefault ` و`toIPv6OrDefault ` إذا كان المنطق السابق يعتمد على أن `IPv4StringToNum`, `toIPv4`, `toIPv6` تُرجِع القيمة الافتراضية للعناوين غير الصالحة. أُضيف أيضًا الإعداد `cast_ipv4_ipv6_default_on_conversion_error`، وإذا كان هذا الإعداد مُمكّنًا، فستتصرف دوال تحويل عناوين IP كما كانت من قبل. يُغلق [#22825](https://github.com/ClickHouse/ClickHouse/issues/22825). يُغلق [#5799](https://github.com/ClickHouse/ClickHouse/issues/5799). يُغلق [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#35240](https://github.com/ClickHouse/ClickHouse/pull/35240) ([Maksim Kita](https://github.com/kitaisreal)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* دعم التخزين المؤقت للبيانات محليًا لأنظمة الملفات البعيدة. يمكن تمكينه لأقراص `s3`. يُغلق [#28961](https://github.com/ClickHouse/ClickHouse/issues/28961). [#33717](https://github.com/ClickHouse/ClickHouse/pull/33717) ([Kseniia Sumarokova](https://github.com/kssenii)). وفي الوقت نفسه، فعّلنا مجموعة الاختبارات على نظام ملفات S3، ولم تعد هناك أي مشكلات معروفة، لذا فقد بدأ يقترب من الجاهزية لبيئات الإنتاج.
* إضافة table function جديدة باسم `hive`. يمكن استخدامها كما يلي `hive('<hive metastore url>', '<hive database>', '<hive table name>', '<columns definition>', '<partition columns>')`، على سبيل المثال `SELECT * FROM hive('thrift://hivetest:9083', 'test', 'demo', 'id Nullable(String), score Nullable(Int32), day Nullable(String)', 'day')`. [#34946](https://github.com/ClickHouse/ClickHouse/pull/34946) ([lgbo](https://github.com/lgbo-ustc)).
* دعم مصادقة المستخدمين المتصلين عبر SSL باستخدام شهادة X.509 الخاصة بهم. [#31484](https://github.com/ClickHouse/ClickHouse/pull/31484) ([eungenue](https://github.com/eungenue)).
* دعم schema inference عند insert إلى table functions `file`/`hdfs`/`s3`/`url`. [#34732](https://github.com/ClickHouse/ClickHouse/pull/34732) ([Kruglov Pavel](https://github.com/Avogar)).
* يمكنك الآن قراءة جدول `system.zookeeper` بدون قيود على path أو باستخدام expression `like`. قد تؤدي هذه القراءات إلى حمل كبير نسبيًا على ZooKeeper، لذا لتمكين هذه الإمكانية عليك تفعيل setting ‏`allow_unrestricted_reads_from_keeper`. [#34609](https://github.com/ClickHouse/ClickHouse/pull/34609) ([Sergei Trifonov](https://github.com/serxa)).
* عرض metrics الخاصة بـ CPU وmemory في clickhouse-local. يُغلق [#34545](https://github.com/ClickHouse/ClickHouse/issues/34545). [#34605](https://github.com/ClickHouse/ClickHouse/pull/34605) ([李扬](https://github.com/taiyang-li)).
* تنفيذ الدالتين `startsWith` و`endsWith` للمصفوفات، يُغلق [#33982](https://github.com/ClickHouse/ClickHouse/issues/33982). [#34368](https://github.com/ClickHouse/ClickHouse/pull/34368) ([usurai](https://github.com/usurai)).
* إضافة ثلاث دوال لنوع البيانات Map: 1. `mapReplace(map1, map2)` - تستبدل قيم المفاتيح في map1 بقيم المفاتيح المناظرة في map2، وتضيف المفاتيح من map2 غير الموجودة في map1. 2. `mapFilter` 3. `mapMap`. الدالتان mapFilter وmapMap هما دالتان من الرتبة العليا، وتقبلان argumentين: الأول lambda function تأخذ الزوج k, v كـ argumentين، والثاني column من النوع Map. [#33698](https://github.com/ClickHouse/ClickHouse/pull/33698) ([hexiaoting](https://github.com/hexiaoting)).
* السماح بالحصول على default user وpassword لـ clickhouse-client من متغيرَي البيئة `CLICKHOUSE_USER` و`CLICKHOUSE_PASSWORD`. يُغلق [#34538](https://github.com/ClickHouse/ClickHouse/issues/34538). [#34947](https://github.com/ClickHouse/ClickHouse/pull/34947) ([DR](https://github.com/freedomDR)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* نوع بيانات جديد `Object(<schema_format>)` يدعم تخزين البيانات شبه المهيكلة (حاليًا JSON فقط). تُكتب البيانات في هذه الأنواع كسلسلة نصية. ثم تُستخرج جميع المسارات وفقًا لتنسيق البيانات شبه المهيكلة وتُكتب كأعمدة منفصلة باستخدام أكثر الأنواع ملاءمةً لتخزين جميع قيمها. ويمكن الاستعلام عن هذه الأعمدة بأسماء تطابق المسارات في البيانات المصدر. مثلًا `data.key1.key2` أو باستخدام عامل cast ‏`data.key1.key2::Int64`.
* تمت إضافة الإعداد `database_replicated_allow_only_replicated_engine`. عند تمكينه، لا يُسمح إلا بإنشاء جداول `Replicated` أو جداول بمحركات عديمة الحالة في قواعد البيانات `Replicated`. [#35214](https://github.com/ClickHouse/ClickHouse/pull/35214) ([Nikolai Kochetov](https://github.com/KochetovNicolai)). لاحظ أن قاعدة البيانات `Replicated` لا تزال ميزة تجريبية.

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تحسين أداء الإدراج في جداول `MergeTree` عبر تحسين الفرز. وقد لوحظ تحسن يصل إلى الضعف في اختبارات قياس أداء واقعية. [#34750](https://github.com/ClickHouse/ClickHouse/pull/34750) ([Maksim Kita](https://github.com/kitaisreal)).
* استبعاد الأعمدة غير اللازمة عند قراءة ملفات Parquet وORC وArrow من URL وS3. إغلاق [#34163](https://github.com/ClickHouse/ClickHouse/issues/34163). [#34849](https://github.com/ClickHouse/ClickHouse/pull/34849) ([Kseniia Sumarokova](https://github.com/kssenii)).
* استبعاد الأعمدة غير اللازمة عند قراءة ملفات Parquet وORC وArrow من Hive. [#34954](https://github.com/ClickHouse/ClickHouse/pull/34954) ([lgbo](https://github.com/lgbo-ustc)).
* مجموعة من تحسينات الأداء من خبير أداء متميّز. تحسين أداء معالجة الاستعلامات التي تحتوي على قسم `IN` كبير. تحسين أداء قاموس `direct` إذا كان مصدره `ClickHouse`. تحسين أداء الدالتين `detectCharset ` و`detectLanguageUnknown `. [#34888](https://github.com/ClickHouse/ClickHouse/pull/34888) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء دالة التجميع `any` عبر زيادة المعالجة على دفعات. [#34760](https://github.com/ClickHouse/ClickHouse/pull/34760) ([Raúl Marín](https://github.com/Algunenano)).
* تحسينات متعددة على أداء `clickhouse-keeper`: تقليل الإقفال [#35010](https://github.com/ClickHouse/ClickHouse/pull/35010) ([zhanglistar](https://github.com/zhanglistar))، وخفض استخدام الذاكرة عبر القراءة والكتابة المتدفقتين لـ snapshot بدلاً من النسخ الكامل. [#34584](https://github.com/ClickHouse/ClickHouse/pull/34584) ([zhanglistar](https://github.com/zhanglistar))، وتحسين compaction لمخزن السجل في تنفيذ RAFT. [#34534](https://github.com/ClickHouse/ClickHouse/pull/34534) ([zhanglistar](https://github.com/zhanglistar))، وإضافة إصدار لبنية البيانات الداخلية [#34486](https://github.com/ClickHouse/ClickHouse/pull/34486) ([zhanglistar](https://github.com/zhanglistar)).

<div id="improvement">
  #### تحسينات
</div>

* السماح بعمليات الإدراج غير المتزامنة في دوال الجداول. يُصلح [#34864](https://github.com/ClickHouse/ClickHouse/issues/34864). [#34866](https://github.com/ClickHouse/ClickHouse/pull/34866) ([Anton Popov](https://github.com/CurtizJ)).
* تحويل نوع ضمني لوسيطة المفتاح في الدوال `dictGetHierarchy` و`dictIsIn` و`dictGetChildren` و`dictGetDescendants`. يُغلق [#34970](https://github.com/ClickHouse/ClickHouse/issues/34970). [#35027](https://github.com/ClickHouse/ClickHouse/pull/35027) ([Maksim Kita](https://github.com/kitaisreal)).
* يمكن للاستعلام `EXPLAIN AST` إخراج AST على شكل رسم بياني بتنسيق Graphviz: `EXPLAIN AST graph = 1 SELECT * FROM system.parts`. [#35173](https://github.com/ClickHouse/ClickHouse/pull/35173) ([李扬](https://github.com/taiyang-li)).
* عند كتابة ملفات كبيرة باستخدام دالة الجدول أو محرك الجدول `s3`، كان نوع المحتوى للملفات يُضبط بالخطأ على `application/xml` بسبب خلل في AWS SDK. يُغلق هذا [#33964](https://github.com/ClickHouse/ClickHouse/issues/33964). [#34433](https://github.com/ClickHouse/ClickHouse/pull/34433) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تعديل سياسات الصفوف التقييدية قليلًا لجعلها بديلًا أسهل من السياسات التساهلية في الحالات البسيطة. إذا كانت هناك لجدول معيّن سياسات تقييدية فقط (من دون سياسات تساهلية)، فسيتمكن المستخدمون من رؤية بعض الصفوف. كذلك، سيعرض `SHOW CREATE ROW POLICY` دائمًا `AS permissive` أو `AS restrictive` في تعريف سياسة الصفوف. [#34596](https://github.com/ClickHouse/ClickHouse/pull/34596) ([Vitaly Baranov](https://github.com/vitlibar)).
* تحسين استنتاج المخطط باستخدام globs في محركات File/S3/HDFS/URL. ومحاولة استخدام المسار التالي لاستنتاج المخطط عند حدوث خطأ. [#34465](https://github.com/ClickHouse/ClickHouse/pull/34465) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبحت واجهة Play تكتشف الآن بشكل صحيح النمط الفاتح/الداكن المفضل من نظام التشغيل. [#35068](https://github.com/ClickHouse/ClickHouse/pull/35068) ([peledni](https://github.com/peledni)).
* تمت إضافة `date_time_input_format = 'best_effort_us'`. يُغلق [#34799](https://github.com/ClickHouse/ClickHouse/issues/34799). [#34982](https://github.com/ClickHouse/ClickHouse/pull/34982) ([WenYao](https://github.com/Cai-Yao)).
* أُضيف إعدادان جديدان هما `allow_plaintext_password` و`allow_no_password` إلى تهيئة الخادم، لتفعيل/تعطيل أنواع المصادقة التي قد تكون غير آمنة في بعض البيئات. وهما مفعّلان افتراضيًا. [#34738](https://github.com/ClickHouse/ClickHouse/pull/34738) ([Heena Bansal](https://github.com/HeenaBansal2009)).
* دعم نوع البيانات `DateTime64` في التنسيق `Arrow`، يُغلق [#8280](https://github.com/ClickHouse/ClickHouse/issues/8280) ويُغلق [#28574](https://github.com/ClickHouse/ClickHouse/issues/28574). [#34561](https://github.com/ClickHouse/ClickHouse/pull/34561) ([李扬](https://github.com/taiyang-li)).
* إعادة تحميل `remote_url_allow_hosts` (تصفية الاتصالات الصادرة) عند تحديث config. [#35294](https://github.com/ClickHouse/ClickHouse/pull/35294) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* دعم المعامل `--testmode` في `clickhouse-local`. يتيح هذا المعامل تفسير تلميحات الاختبار التي نستخدمها في الاختبارات الوظيفية. [#35264](https://github.com/ClickHouse/ClickHouse/pull/35264) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة `distributed_depth` إلى سجل الاستعلامات. وهو أشبه بنسخة أكثر تفصيلًا من `is_initial_query` [#35207](https://github.com/ClickHouse/ClickHouse/pull/35207) ([李扬](https://github.com/taiyang-li)).
* مراعاة `remote_url_allow_hosts` لدوال الجداول `MySQL` و`PostgreSQL`. [#35191](https://github.com/ClickHouse/ClickHouse/pull/35191) ([Heena Bansal](https://github.com/HeenaBansal2009)).
* أُضيف الحقل `disk_name` إلى `system.part_log`. [#35178](https://github.com/ClickHouse/ClickHouse/pull/35178) ([Artyom Yurkov](https://github.com/Varinara)).
* عدم إعادة المحاولة عند حدوث أخطاء غير قابلة لإعادة المحاولة أثناء الاستعلام عن عناوين URL البعيدة. يُغلق هذا [#35161](https://github.com/ClickHouse/ClickHouse/issues/35161). [#35172](https://github.com/ClickHouse/ClickHouse/pull/35172) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم استعلامات INSERT SELECT الموزعة (الإعداد `parallel_distributed_insert_select`) في دالة الجدول `view()`. [#35132](https://github.com/ClickHouse/ClickHouse/pull/35132) ([Azat Khuzhin](https://github.com/azat)).
* تتبّع أدق للذاكرة أثناء `INSERT` إلى `Buffer` مع `AggregateFunction`. [#35072](https://github.com/ClickHouse/ClickHouse/pull/35072) ([Azat Khuzhin](https://github.com/azat)).
* تجنّب القسمة على الصفر في Query Profiler إذا كانت نواة Linux تحتوي على خلل. يُغلق هذا [#34787](https://github.com/ClickHouse/ClickHouse/issues/34787). [#35032](https://github.com/ClickHouse/ClickHouse/pull/35032) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة المزيد من فحوصات السلامة إلى إعداد Keeper: لم يعد مسموحًا الآن بالجمع بين localhost وخوادم غير محلية، كما أُضيفت فحوصات للتحقق من تطابق قيمة منفذ raft الداخلي ومنفذ عميل Keeper. [#35004](https://github.com/ClickHouse/ClickHouse/pull/35004) ([alesapin](https://github.com/alesapin)).
* حاليًا، إذا غيّر المستخدم إعدادات جداول النظام، فسيؤدي ذلك إلى ظهور كمّ كبير من السجلات وسيُعيد ClickHouse تسمية الجداول كل دقيقة. يُصلح هذا [#34929](https://github.com/ClickHouse/ClickHouse/issues/34929). [#34949](https://github.com/ClickHouse/ClickHouse/pull/34949) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* استخدام connection pool لعميل Hive metastore. [#34940](https://github.com/ClickHouse/ClickHouse/pull/34940) ([lgbo](https://github.com/lgbo-ustc)).
* تجاهل `TTL` على مستوى كل عمود في `CREATE TABLE AS` إذا كان محرك الجدول الجديد لا يدعمه (أي إذا لم يكن المحرك من عائلة `MergeTree`). [#34938](https://github.com/ClickHouse/ClickHouse/pull/34938) ([Azat Khuzhin](https://github.com/azat)).
* السماح بسلاسل `LowCardinality` للفهارس `ngrambf_v1`/`tokenbf_v1`. يُغلق هذا [#21865](https://github.com/ClickHouse/ClickHouse/issues/21865). [#34911](https://github.com/ClickHouse/ClickHouse/pull/34911) ([Lars Hiller Eidnes](https://github.com/larspars)).
* السماح بفتح قاعدة بيانات sqlite فارغة إذا لم يكن الملف موجودًا. يُغلق هذا [#33367](https://github.com/ClickHouse/ClickHouse/issues/33367). [#34907](https://github.com/ClickHouse/ClickHouse/pull/34907) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تنفيذ إحصاءات للذاكرة في FreeBSD — وهذا مطلوب لكي يعمل `max_server_memory_usage` بشكل صحيح. [#34902](https://github.com/ClickHouse/ClickHouse/pull/34902) ([Alexandre Snarskii](https://github.com/snar)).
* في الإصدارات السابقة، كان شريط التقدّم في clickhouse-client قد يقفز إلى الأمام قرب 50% دون سبب واضح. يُغلق هذا [#34324](https://github.com/ClickHouse/ClickHouse/issues/34324). [#34801](https://github.com/ClickHouse/ClickHouse/pull/34801) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أصبحت استعلامات `ALTER TABLE DROP COLUMN columnX` لمحركات الجداول `MergeTree` تعمل فورًا عندما يكون `columnX` عمودًا من نوع `ALIAS`. يُصلح [#34660](https://github.com/ClickHouse/ClickHouse/issues/34660). [#34786](https://github.com/ClickHouse/ClickHouse/pull/34786) ([alesapin](https://github.com/alesapin)).
* عرض تلميحات عندما يخطئ المستخدم في كتابة اسم data skipping index. يُغلق [#29698](https://github.com/ClickHouse/ClickHouse/issues/29698). [#34764](https://github.com/ClickHouse/ClickHouse/pull/34764) ([flynn](https://github.com/ucasfl)).
* دعم table functions ‏`remote()`/`cluster()`‎ لـ `parallel_distributed_insert_select`. [#34728](https://github.com/ClickHouse/ClickHouse/pull/34728) ([Azat Khuzhin](https://github.com/azat)).
* عدم إعادة ضبط التسجيل الذي جرى إعداده عبر خياري سطر الأوامر `--log-file`/`--errorlog-file` في حال كانت التهيئة في ملف الإعدادات فارغة. [#34718](https://github.com/ClickHouse/ClickHouse/pull/34718) ([Amos Bird](https://github.com/amosbird)).
* استخراج المخطط مرة واحدة فقط عند إنشاء الجدول، ومنع القراءة من الملفات المحلية/المصادر الخارجية لاستخراج المخطط عند كل بدء تشغيل للخادم. [#34684](https://github.com/ClickHouse/ClickHouse/pull/34684) ([Kruglov Pavel](https://github.com/Avogar)).
* السماح بتحديد أسماء الوسائط لـ UDFs التنفيذية. وهذا ضروري للتنسيقات التي يكون فيها اسم الوسيط جزءًا من serialization، مثل `Native` و`JSONEachRow`. يُغلق [#34604](https://github.com/ClickHouse/ClickHouse/issues/34604). [#34653](https://github.com/ClickHouse/ClickHouse/pull/34653) ([Maksim Kita](https://github.com/kitaisreal)).
* أصبح `MaterializedMySQL` (ميزة تجريبية) يدعم الآن `materialized_mysql_tables_list` (قائمة مفصولة بفواصل لجداول قاعدة بيانات MySQL، ستُنسخ باستخدام محرك قاعدة البيانات MaterializedMySQL. القيمة الافتراضية: قائمة فارغة — ما يعني أنه ستُنسخ جميع الجداول)، كما ورد في [#32977](https://github.com/ClickHouse/ClickHouse/issues/32977). [#34487](https://github.com/ClickHouse/ClickHouse/pull/34487) ([zzsmdfj](https://github.com/zzsmdfj)).
* تحسين سجلات span في OpenTelemetry لعملية INSERT على distributed table. [#34480](https://github.com/ClickHouse/ClickHouse/pull/34480) ([Frank Chen](https://github.com/FrankChen021)).
* جعل `ctime` و`mtime` الخاصين بـ znode متسقين بين الخوادم في ClickHouse Keeper. [#33441](https://github.com/ClickHouse/ClickHouse/pull/33441) ([小路](https://github.com/nicelulu)).

<div id="buildtestingpackaging-improvement-9">
  #### تحسينات البناء/الاختبار/الحزم
</div>

* تم ترحيل مستودع الحزم إلى JFrog Artifactory (**Mikhail f. Shiryaev**).
* جرى جعل بعض الإعدادات عشوائية في الاختبارات الوظيفية، بحيث يجري اختبار عدد أكبر من التركيبات الممكنة للإعدادات. وهذه طريقة إضافية من أساليب الاختبار بالتشويش لضمان تغطية اختبارية أفضل. ويغلق هذا [#32268](https://github.com/ClickHouse/ClickHouse/issues/32268). [#34092](https://github.com/ClickHouse/ClickHouse/pull/34092) ([Kruglov Pavel](https://github.com/Avogar)).
* إزالة PVS-Studio من CI لدينا. [#34680](https://github.com/ClickHouse/ClickHouse/pull/34680) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إضافة إمكانية بناء ملفات تنفيذية منزوعٍ منها الرموز باستخدام CMake. في الإصدارات السابقة، كانت هذه العملية تُنفَّذ بواسطة dh-tools. [#35196](https://github.com/ClickHouse/ClickHouse/pull/35196) ([alesapin](https://github.com/alesapin)).
* إصدار build أصغر "fat-free" لـ `clickhouse-keeper`. [#35031](https://github.com/ClickHouse/ClickHouse/pull/35031) ([alesapin](https://github.com/alesapin)).
* استخدام @robot-clickhouse بصفته author وcommitter لطلبات السحب مثل [https://github.com/ClickHouse/ClickHouse/pull/34685](https://github.com/ClickHouse/ClickHouse/pull/34685). [#34793](https://github.com/ClickHouse/ClickHouse/pull/34793) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* تقييد إصدار DWARF المستخدم لمعلومات Debug بحد أقصى 4، لأن محلل رموز المكدس الداخلي لدينا لا يستطيع parse لإصدار DWARF 5. ويكون هذا منطقيًا إذا كنت تقوم compile لـ ClickHouse باستخدام clang-15. [#34777](https://github.com/ClickHouse/ClickHouse/pull/34777) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إزالة حزمة Debian `clickhouse-test` لأنها تضيف تعقيدًا غير ضروري. يستخدم CI الاختبارات من repository، ولم يعد الاختبار المستقل عبر حزمة deb مدعومًا. [#34606](https://github.com/ClickHouse/ClickHouse/pull/34606) ([Ilya Yatsishin](https://github.com/qoega)).

<div id="bug-fix-user-visible-misbehaviour-in-official-stable-or-prestable-release">
  #### إصلاح خطأ (خلل يلاحظه المستخدم في إصدار مستقر رسمي أو إصدار رسمي ما قبل الاستقرار)
</div>

* إصلاح لتكامل HDFS: عندما يكون حجم المخزن المؤقت الداخلي صغيرًا جدًا، فإن NEED\_MORE\_INPUT في `HadoopSnappyDecoder` قد يعمل عدة مرات (>=3) لكتلة مضغوطة واحدة. يؤدي ذلك إلى نسخ بيانات الإدخال إلى موضع غير صحيح في `HadoopSnappyDecoder::buffer`. [#35116](https://github.com/ClickHouse/ClickHouse/pull/35116) ([lgbo](https://github.com/lgbo-ustc)).
* تجاهل امتيازات GRANT المتقادمة في عبارات ATTACH GRANT. يعالج طلب السحب هذا [#34815](https://github.com/ClickHouse/ClickHouse/issues/34815). [#34855](https://github.com/ClickHouse/ClickHouse/pull/34855) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح segfault في قاعدة بيانات Postgres عند الحصول على استعلام إنشاء الجدول إذا كانت قاعدة البيانات قد أُنشئت باستخدام named collections. يغلق [#35312](https://github.com/ClickHouse/ClickHouse/issues/35312). [#35313](https://github.com/ClickHouse/ClickHouse/pull/35313) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خطأ تكرار الصفوف في partial merge join، يغلق [#31009](https://github.com/ClickHouse/ClickHouse/issues/31009). [#35311](https://github.com/ClickHouse/ClickHouse/pull/35311) ([Vladimir C](https://github.com/vdimir)).
* إصلاح احتمال حدوث `Assertion 'position() != working_buffer.end()' failed` أثناء استخدام ضغط bzip2 مع قيمة صغيرة للإعداد `max_read_buffer_size`. اكتُشف هذا الخطأ في [https://github.com/ClickHouse/ClickHouse/pull/35047](https://github.com/ClickHouse/ClickHouse/pull/35047). [#35300](https://github.com/ClickHouse/ClickHouse/pull/35300) ([Kruglov Pavel](https://github.com/Avogar)). وأثناء استخدام ضغط lz4 مع قيمة صغيرة للإعداد max\_read\_buffer\_size. [#35296](https://github.com/ClickHouse/ClickHouse/pull/35296) ([Kruglov Pavel](https://github.com/Avogar)). وأثناء استخدام ضغط lzma مع قيمة صغيرة للإعداد `max_read_buffer_size`. [#35295](https://github.com/ClickHouse/ClickHouse/pull/35295) ([Kruglov Pavel](https://github.com/Avogar)). وأثناء استخدام ضغط `brotli` مع قيمة صغيرة للإعداد `max_read_buffer_size`. اكتُشف هذا الخطأ في [https://github.com/ClickHouse/ClickHouse/pull/35047](https://github.com/ClickHouse/ClickHouse/pull/35047). [#35281](https://github.com/ClickHouse/ClickHouse/pull/35281) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح احتمال حدوث segfault في استدلال المخطط لـ `JSONEachRow`. [#35291](https://github.com/ClickHouse/ClickHouse/pull/35291) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح استعلام `CHECK TABLE` في حال كانت الأعمدة المتفرقة مُمكّنة في الجدول. [#35274](https://github.com/ClickHouse/ClickHouse/pull/35274) ([Anton Popov](https://github.com/CurtizJ)).
* تجنب std::terminate في حال حدوث استثناء أثناء القراءة من VFS البعيد. [#35257](https://github.com/ClickHouse/ClickHouse/pull/35257) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح قراءة المنفذ من ملف الإعدادات، يغلق [#34776](https://github.com/ClickHouse/ClickHouse/issues/34776). [#35193](https://github.com/ClickHouse/ClickHouse/pull/35193) ([Vladimir C](https://github.com/vdimir)).
* إصلاح خطأ في استعلام يحتوي على `WITH TOTALS` في حال أعاد `HAVING` نتيجة فارغة. يعالج هذا [#33711](https://github.com/ClickHouse/ClickHouse/issues/33711). [#35186](https://github.com/ClickHouse/ClickHouse/pull/35186) ([Amos Bird](https://github.com/amosbird)).
* إصلاح حالة حدية في `replaceRegexpAll`، يغلق [#35117](https://github.com/ClickHouse/ClickHouse/issues/35117). [#35182](https://github.com/ClickHouse/ClickHouse/pull/35182) ([Vladimir C](https://github.com/vdimir)).
* لم يعمل استدلال المخطط بشكل صحيح في حالة `INSERT INTO FUNCTION s3(...) FROM ...`، إذ حاول قراءة المخطط من ملف s3 بدلاً من استعلام select. [#35176](https://github.com/ClickHouse/ClickHouse/pull/35176) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح `table overrides` في MaterializedPostgreSQL (ميزة تجريبية) لـ partition by وما شابه. يغلق [#35048](https://github.com/ClickHouse/ClickHouse/issues/35048). [#35162](https://github.com/ClickHouse/ClickHouse/pull/35162) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح إضافة table جديدة إلى replication في MaterializedPostgreSQL (ميزة تجريبية) باستخدام ‏(ATTACH TABLE) بعد إزالتها يدويًا باستخدام ‏(DETACH TABLE). يغلق [#33800](https://github.com/ClickHouse/ClickHouse/issues/33800). يغلق [#34922](https://github.com/ClickHouse/ClickHouse/issues/34922). يغلق [#34315](https://github.com/ClickHouse/ClickHouse/issues/34315). [#35158](https://github.com/ClickHouse/ClickHouse/pull/35158) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خطأ تقليم الأقسام عند استخدام دالة غير رتيبة مع العامل IN. هذا يصلح [#35136](https://github.com/ClickHouse/ClickHouse/issues/35136). [#35146](https://github.com/ClickHouse/ClickHouse/pull/35146) ([Amos Bird](https://github.com/amosbird)).
* إصلاح عدم الدقة البسيطة في تحويل إعدادات YAML إلى XML. [#35135](https://github.com/ClickHouse/ClickHouse/pull/35135) ([Miel Donkers](https://github.com/mdonkers)).
* إصلاح `optimize_skip_unused_shards_rewrite_in` للأعمدة الموقعة والقيم السالبة. [#35134](https://github.com/ClickHouse/ClickHouse/pull/35134) ([Azat Khuzhin](https://github.com/azat)).
* كان خيار إعداد `update_lag` في تهيئة القاموس الخارجي غير قابل للاستخدام، إذ كان يعرض رسالة الخطأ ``Unexpected key `update_lag` in dictionary source configuration``. [#35089](https://github.com/ClickHouse/ClickHouse/pull/35089) ([Jason Chu](https://github.com/1lann)).
* تجنب احتمال حدوث توقف متبادل عند إيقاف server. [#35081](https://github.com/ClickHouse/ClickHouse/pull/35081) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح alias المفقود بعد تحسين الدالة إلى subcolumn عند تمكين الإعداد `optimize_functions_to_subcolumns`. يغلق [#33798](https://github.com/ClickHouse/ClickHouse/issues/33798). [#35079](https://github.com/ClickHouse/ClickHouse/pull/35079) ([qieqieplus](https://github.com/qieqieplus)).
* إصلاح القراءة من table ‏`system.asynchronous_inserts` إذا وُجد insert غير متزامن إلى table function. [#35050](https://github.com/ClickHouse/ClickHouse/pull/35050) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الاستثناء المحتمل `Reading for MergeTree family tables must be done with last position boundary` (وهو مرتبط بالعمليات على VFS البعيد). يغلق [#34979](https://github.com/ClickHouse/ClickHouse/issues/34979). [#35001](https://github.com/ClickHouse/ClickHouse/pull/35001) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح النتيجة غير المتوقعة عند استخدام دالة aggregate من النوع -State ضمن إطار window. [#34999](https://github.com/ClickHouse/ClickHouse/pull/34999) ([metahys](https://github.com/metahys)).
* إصلاح احتمال حدوث segfault في FileLog (ميزة تجريبية). يغلق [#30749](https://github.com/ClickHouse/ClickHouse/issues/30749). [#34996](https://github.com/ClickHouse/ClickHouse/pull/34996) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الخطأ النادر المحتمل `Cannot push block to port which already has data`. [#34993](https://github.com/ClickHouse/ClickHouse/pull/34993) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح استنتاج المخطط الخاطئ للتواريخ غير المحاطة بعلامتَي اقتباس في CSV. يُغلق [#34768](https://github.com/ClickHouse/ClickHouse/issues/34768). [#34961](https://github.com/ClickHouse/ClickHouse/pull/34961) ([Kruglov Pavel](https://github.com/Avogar)).
* التكامل مع Hive: إصلاح النتيجة غير المتوقعة عند استخدام `in` في `where` داخل استعلام Hive. [#34945](https://github.com/ClickHouse/ClickHouse/pull/34945) ([lgbo](https://github.com/lgbo-ustc)).
* تجنّب الـpolling المشغول في ClickHouse Keeper أثناء البحث عن ملفات changelog المطلوب حذفها. [#34931](https://github.com/ClickHouse/ClickHouse/pull/34931) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تحويل DateTime64 من PostgreSQL. يُغلق [#33364](https://github.com/ClickHouse/ClickHouse/issues/33364). [#34910](https://github.com/ClickHouse/ClickHouse/pull/34910) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح احتمال ظهور الخطأ "Part directory doesn't exist" أثناء `INSERT` إلى جدول MergeTree يعتمد على VFS فوق S3. [#34876](https://github.com/ClickHouse/ClickHouse/pull/34876) ([Azat Khuzhin](https://github.com/azat)).
* دعم تنفيذ عبارات DDLs مثل CREATE USER على cluster متماثل النسخ المتقاطع. [#34860](https://github.com/ClickHouse/ClickHouse/pull/34860) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* إصلاح أخطاء `GROUP BY` على عدة أعمدة في `WindowView` (ميزة تجريبية). [#34859](https://github.com/ClickHouse/ClickHouse/pull/34859) ([vxider](https://github.com/Vxider)).
* إصلاح حالات الفشل المحتملة في دوال S2 عندما تحتوي الاستعلامات على أعمدة ثابتة. [#34745](https://github.com/ClickHouse/ClickHouse/pull/34745) ([Bharat Nallan](https://github.com/bharatnc)).
* إصلاح خطأ في دوال H3 التي تحتوي على أعمدة ثابتة ويتسبب في فشل الاستعلامات. [#34743](https://github.com/ClickHouse/ClickHouse/pull/34743) ([Bharat Nallan](https://github.com/bharatnc)).
* إصلاح الخطأ `No such file or directory` عند تفعيل `fsync_part_directory` وvertical merge. [#34739](https://github.com/ClickHouse/ClickHouse/pull/34739) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح التسلسل/الطباعة لاستعلامات النظام `RELOAD MODEL`, `RELOAD FUNCTION`, `RESTART DISK` عند استخدام `ON CLUSTER`. يُغلق [#34514](https://github.com/ClickHouse/ClickHouse/issues/34514). [#34696](https://github.com/ClickHouse/ClickHouse/pull/34696) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح `allow_experimental_projection_optimization` مع `enable_global_with_statement` (إذ كان قد يؤدي سابقًا إلى الخطأ `Stack size too large` عند وجود عدة expressions في عبارة `WITH`، كما كان يعيد تنفيذ الاستعلامات الفرعية scalar مرارًا، لذا سيصبح الآن أكثر كفاءة). [#34650](https://github.com/ClickHouse/ClickHouse/pull/34650) ([Azat Khuzhin](https://github.com/azat)).
* التوقف عن اختيار part لإجراء mutate عليه عندما تكون replica الأخرى قد حدّثت بالفعل سجل المعاملات لمحرك `ReplatedMergeTree`. [#34633](https://github.com/ClickHouse/ClickHouse/pull/34633) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* إصلاح النتيجة غير الصحيحة لاستعلام count بسيط عند استخدام ميزة نقل part [#34089](https://github.com/ClickHouse/ClickHouse/issues/34089). [#34385](https://github.com/ClickHouse/ClickHouse/pull/34385) ([nvartolomei](https://github.com/nvartolomei)).
* إصلاح عدم اتساق قيد `max_query_size` في الاستعلامات الفرعية الموزعة. [#34078](https://github.com/ClickHouse/ClickHouse/pull/34078) ([Chao Ma](https://github.com/godliness)).

### <a id="222" /> إصدار ClickHouse v22.2، 2022-02-17. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.2/)، [الفيديو](https://www.youtube.com/watch?v=6EG1gwhSTPg)

<Frame>
  <iframe src="https://www.youtube.com/embed/6EG1gwhSTPg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### ملاحظات الترقية
</div>

* قد يؤدي تطبيق فهارس تخطي البيانات على الاستعلامات التي تتضمن FINAL إلى نتائج غير صحيحة. في هذا الإصدار، عطّلنا فهارس تخطي البيانات افتراضيًا للاستعلامات التي تتضمن FINAL (أُضيف إعداد جديد `use_skip_indexes_if_final` وهو معطّل افتراضيًا). [#34243](https://github.com/ClickHouse/ClickHouse/pull/34243) ([Azat Khuzhin](https://github.com/azat)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* أصبحت projections جاهزة لبيئات production. تم تفعيل `allow_experimental_projection_optimization` افتراضيًا مع إهمال هذا الإعداد. [#34456](https://github.com/ClickHouse/ClickHouse/pull/34456) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إضافة خيار لإنشاء ملفات جديدة عند insert لمحركات `File`/`S3`/`HDFS`. كما أصبح مسموحًا بالكتابة فوق ملف في `HDFS`. وبشكل افتراضي، سيجري طرح استثناء عند محاولة الكتابة فوق ملف في `S3`. كذلك سيجري طرح استثناء عند محاولة إلحاق بيانات بملف في formats التي لها suffix (ولذلك لا تدعم الإلحاق)، مثل `Parquet` و`ORC`. يغلق [#31640](https://github.com/ClickHouse/ClickHouse/issues/31640) يغلق [#31622](https://github.com/ClickHouse/ClickHouse/issues/31622) يغلق [#23862](https://github.com/ClickHouse/ClickHouse/issues/23862) يغلق [#15022](https://github.com/ClickHouse/ClickHouse/issues/15022) يغلق [#16674](https://github.com/ClickHouse/ClickHouse/issues/16674). [#33302](https://github.com/ClickHouse/ClickHouse/pull/33302) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة إعداد يتيح للمستخدم تحديد دلالات deduplication الخاصة به في `MergeTree`/`ReplicatedMergeTree`. وعند توفيره، يُستخدم بدلًا من بصمة البيانات لتوليد معرّف block. لذلك، على سبيل المثال، يمكن للمستخدم، عبر تمرير قيمة فريدة لهذا الإعداد في كل statement من نوع INSERT، تجنب اعتبار البيانات inserted نفسها مكررة ومن ثم deduplicated. هذا يغلق: [#7461](https://github.com/ClickHouse/ClickHouse/issues/7461). [#32304](https://github.com/ClickHouse/ClickHouse/pull/32304) ([Igor Nikonov](https://github.com/devcrafter)).
* إضافة دعم الكلمة المفتاحية `DEFAULT` لعبارات INSERT. يغلق [#6331](https://github.com/ClickHouse/ClickHouse/issues/6331). [#33141](https://github.com/ClickHouse/ClickHouse/pull/33141) ([Andrii Buriachevskyi](https://github.com/1over)).
* تمت إضافة محدد column ‏`EPHEMERAL` إلى query ‏`CREATE TABLE`. يغلق [#9436](https://github.com/ClickHouse/ClickHouse/issues/9436). [#34424](https://github.com/ClickHouse/ClickHouse/pull/34424) ([yakov-olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إضافة دعم clause ‏`IF EXISTS` للميزة `TTL expr TO [DISK|VOLUME] [IF EXISTS] 'xxx'`. لن تُنقل parts إلى disk أو volume إلا إذا كان موجودًا على replica، ما يتيح لقواعد `MOVE TTL` أن تتصرف بشكل مختلف بين replicas وفقًا لـ policies التخزين الموجودة. يعالج [#34455](https://github.com/ClickHouse/ClickHouse/issues/34455). [#34504](https://github.com/ClickHouse/ClickHouse/pull/34504) ([Anton Popov](https://github.com/CurtizJ)).
* السماح بتعيين table engine افتراضي وإنشاء جداول من دون تحديد ENGINE. [#34187](https://github.com/ClickHouse/ClickHouse/pull/34187) ([Ilya Yatsishin](https://github.com/qoega)).
* إضافة table function ‏`format(format_name, data)`. [#34125](https://github.com/ClickHouse/ClickHouse/pull/34125) ([Kruglov Pavel](https://github.com/Avogar)).
* اكتشاف format في `clickhouse-local` من اسم الملف حتى عند تمريره عبر stdin. [#33829](https://github.com/ClickHouse/ClickHouse/pull/33829) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة schema inference إلى table function ‏`values`. يغلق [#33811](https://github.com/ClickHouse/ClickHouse/issues/33811). [#34017](https://github.com/ClickHouse/ClickHouse/pull/34017) ([Kruglov Pavel](https://github.com/Avogar)).
* إعادة التحميل الديناميكي لشهادات TLS الخاصة بالخادم عند إعادة تحميل الإعدادات. يُغلق [#15764](https://github.com/ClickHouse/ClickHouse/issues/15764). [#15765](https://github.com/ClickHouse/ClickHouse/pull/15765) ([johnskopis](https://github.com/johnskopis)). [#31257](https://github.com/ClickHouse/ClickHouse/pull/31257) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* يمكن لـ ReplicatedMergeTree الآن استعادة البيانات عند تعطل بعض الأقراص لديه. [#13544](https://github.com/ClickHouse/ClickHouse/pull/13544) ([Amos Bird](https://github.com/amosbird)).
* اتصالات متحمّلة للأعطال في clickhouse-client: `clickhouse-client ... --host host1 --host host2 --port port2 --host host3 --port port --host host4`. [#34490](https://github.com/ClickHouse/ClickHouse/pull/34490) ([Kruglov Pavel](https://github.com/Avogar)). [#33824](https://github.com/ClickHouse/ClickHouse/pull/33824) ([Filippov Denis](https://github.com/DF5HSE)).
* إضافة الدالتين `DEGREES` و`RADIANS` للتوافق مع MySQL. [#33769](https://github.com/ClickHouse/ClickHouse/pull/33769) ([Bharat Nallan](https://github.com/bharatnc)).
* إضافة الدالة `h3ToCenterChild`. [#33313](https://github.com/ClickHouse/ClickHouse/pull/33313) ([Bharat Nallan](https://github.com/bharatnc)). وإضافة دوال h3 متنوعة جديدة: `edgeLengthKm`,`exactEdgeLengthKm`,`exactEdgeLengthM`,`exactEdgeLengthRads`,`numHexagons`. [#33621](https://github.com/ClickHouse/ClickHouse/pull/33621) ([Bharat Nallan](https://github.com/bharatnc)).
* إضافة الدالة `bitSlice` لاستخراج تتابعات bit الفرعية من String/FixedString. [#33360](https://github.com/ClickHouse/ClickHouse/pull/33360) ([RogerYK](https://github.com/RogerYK)).
* تنفيذ الدالة التجميعية `meanZTest`. [#33354](https://github.com/ClickHouse/ClickHouse/pull/33354) ([achimbab](https://github.com/achimbab)).
* إضافة فترات الثقة إلى الدوال التجميعية لاختبارات T. [#33260](https://github.com/ClickHouse/ClickHouse/pull/33260) ([achimbab](https://github.com/achimbab)).
* إضافة الدالة `addressToLineWithInlines`. يُغلق [#26211](https://github.com/ClickHouse/ClickHouse/issues/26211). [#33467](https://github.com/ClickHouse/ClickHouse/pull/33467) ([SuperDJY](https://github.com/cmsxbc)).
* تمت إضافة `#!` و`# ` كبداية معترف بها للتعليق أحادي السطر. يُغلق [#34138](https://github.com/ClickHouse/ClickHouse/issues/34138). [#34230](https://github.com/ClickHouse/ClickHouse/pull/34230) ([Aaron Katz](https://github.com/aaronstephenkatz)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* دوال لتصنيف النصوص: اكتشاف اللغة وترميز المحارف. انظر [#23271](https://github.com/ClickHouse/ClickHouse/issues/23271). [#33314](https://github.com/ClickHouse/ClickHouse/pull/33314) ([Nikolay Degterinsky](https://github.com/evillique)).
* إضافة ميزة memory overcommit إلى `MemoryTracker`. أُضيفت إعدادات `guaranteed` لحدود الذاكرة، وتمثل حدودًا مرنة للذاكرة. وعند الوصول إلى الحد الصارم للذاكرة، يحاول `MemoryTracker` إلغاء الاستعلام الأكثر تجاوزًا للتخصيص. ويحدد الإعداد الجديد `memory_usage_overcommit_max_wait_microseconds` المدة التي يمكن أن تنتظر خلالها الاستعلامات حتى يتوقف استعلام آخر. يغلق [#28375](https://github.com/ClickHouse/ClickHouse/issues/28375). [#31182](https://github.com/ClickHouse/ClickHouse/pull/31182) ([Dmitry Novik](https://github.com/novikd)).
* تمكين join بين التدفق والجدول في WindowView. [#33729](https://github.com/ClickHouse/ClickHouse/pull/33729) ([vxider](https://github.com/Vxider)).
* دعم أنواع البيانات `SET` و`YEAR` و`TIME` و`GEOMETRY` في `MaterializedMySQL` (ميزة تجريبية). يعالج [#18091](https://github.com/ClickHouse/ClickHouse/issues/18091)، [#21536](https://github.com/ClickHouse/ClickHouse/issues/21536)، [#26361](https://github.com/ClickHouse/ClickHouse/issues/26361). [#33429](https://github.com/ClickHouse/ClickHouse/pull/33429) ([zzsmdfj](https://github.com/zzsmdfj)).
* إصلاح مشكلات متعددة عندما يكون projection مفعّلًا افتراضيًا. وُصفت كل مشكلة في commit منفصل. هذا مرتبط بـ [#33678](https://github.com/ClickHouse/ClickHouse/issues/33678). ويعالج هذا [#34273](https://github.com/ClickHouse/ClickHouse/issues/34273). [#34305](https://github.com/ClickHouse/ClickHouse/pull/34305) ([Amos Bird](https://github.com/amosbird)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* دعم `optimize_read_in_order` إذا كانت بادئة مفتاح الترتيب مرتبة بالفعل. على سبيل المثال، إذا كان لدينا مفتاح ترتيب `ORDER BY (a, b)` في جدول، واستعلام يتضمن `WHERE a = const ORDER BY b`، فستُنفَّذ القراءة الآن وفق ترتيب مفتاح الترتيب بدلًا من الفرز الكامل. [#32748](https://github.com/ClickHouse/ClickHouse/pull/32748) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين أداء `insert` المقسّم إلى partitionات ضمن table functions ‏`URL` و`S3` و`File` و`HDFS`. يُغلق [#34348](https://github.com/ClickHouse/ClickHouse/issues/34348). [#34510](https://github.com/ClickHouse/ClickHouse/pull/34510) ([Maksim Kita](https://github.com/kitaisreal)).
* عدة تحسينات في أداء clickhouse-keeper. [#34484](https://github.com/ClickHouse/ClickHouse/pull/34484) [#34587](https://github.com/ClickHouse/ClickHouse/pull/34587) ([zhanglistar](https://github.com/zhanglistar)).
* تحسين أداء `FlatDictionary` عند تحميل بيانات القاموس. [#33871](https://github.com/ClickHouse/ClickHouse/pull/33871) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين أداء الدالة `mapPopulateSeries`. يُغلق [#33944](https://github.com/ClickHouse/ClickHouse/issues/33944). [#34318](https://github.com/ClickHouse/ClickHouse/pull/34318) ([Maksim Kita](https://github.com/kitaisreal)).
* جُعل العمودان الافتراضيان `_file` و`_path` (في table engines الشبيهة بالملفات) من النوع `LowCardinality`، ما سيجعل queries على ملفات متعددة أسرع. يُغلق [#34300](https://github.com/ClickHouse/ClickHouse/issues/34300). [#34317](https://github.com/ClickHouse/ClickHouse/pull/34317) ([flynn](https://github.com/ucasfl)).
* تسريع تحميل data parts. لم يكن ذلك يُنفَّذ بالتوازي سابقًا، إذ لم يكن للإعداد `part_loading_threads` أي تأثير. انظر [#4699](https://github.com/ClickHouse/ClickHouse/issues/4699). [#34310](https://github.com/ClickHouse/ClickHouse/pull/34310) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء format ‏`LineAsString`. هذا يُغلق [#34303](https://github.com/ClickHouse/ClickHouse/issues/34303). [#34306](https://github.com/ClickHouse/ClickHouse/pull/34306) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين `quantilesExact{Low,High}` لاستخدام `nth_element` بدلًا من `sort`. [#34287](https://github.com/ClickHouse/ClickHouse/pull/34287) ([Danila Kutenin](https://github.com/danlark1)).
* تحسين طفيف في أداء format ‏`Regexp`. [#34202](https://github.com/ClickHouse/ClickHouse/pull/34202) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين بسيط لتحليل الاستعلامات الفرعية القيَمية. [#34128](https://github.com/ClickHouse/ClickHouse/pull/34128) ([Federico Rodriguez](https://github.com/fedrod)).
* جعل `ORDER BY` على tuple يكاد يكون بنفس سرعة `ORDER BY` على الأعمدة. لدينا تحسينات خاصة لـ `ORDER BY` متعدد الأعمدة: [https://github.com/ClickHouse/ClickHouse/pull/10831](https://github.com/ClickHouse/ClickHouse/pull/10831) . ومن المفيد أيضًا تطبيقها على أعمدة tuple. [#34060](https://github.com/ClickHouse/ClickHouse/pull/34060) ([Amos Bird](https://github.com/amosbird)).
* إعادة العمل على cache الخاصة بالاستعلامات الفرعية القيَمية وإعادتها إلى تنفيذ materialized views. [#33958](https://github.com/ClickHouse/ClickHouse/pull/33958) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين طفيف في أداء `ORDER BY` عبر إضافة دعم x86-64 AVX-512 إلى دوال `memcmpSmall` لتسريع مقارنة الذاكرة. لا يعمل ذلك إلا إذا قمتَ بتجميع ClickHouse بنفسك. [#33706](https://github.com/ClickHouse/ClickHouse/pull/33706) ([hanqf-git](https://github.com/hanqf-git)).
* تحسين أداء القاموس `range_hashed` عندما يكون هناك عدد كبير من الفترات للمفتاح. يُصلح [#23821](https://github.com/ClickHouse/ClickHouse/issues/23821). [#33516](https://github.com/ClickHouse/ClickHouse/pull/33516) ([Maksim Kita](https://github.com/kitaisreal)).
* في عمليات insert وmerge إلى S3، تُكتب الملفات بالتوازي كلما أمكن ذلك (TODO: تحقّق مما إذا كان قد تم دمجه). [#33291](https://github.com/ClickHouse/ClickHouse/pull/33291) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تحسين أداء `clickhouse-keeper` وإصلاح عدة تسرّبات للذاكرة في مكتبة NuRaft. [#33329](https://github.com/ClickHouse/ClickHouse/pull/33329) ([alesapin](https://github.com/alesapin)).

<div id="improvement-3">
  #### تحسين
</div>

* دعم الإدراجات غير المتزامنة في `clickhouse-client` للاستعلامات التي تتضمن بيانات مضمنة. [#34267](https://github.com/ClickHouse/ClickHouse/pull/34267) ([Anton Popov](https://github.com/CurtizJ)).
* تقوم الدالتان `dictGet` و`dictHas` بتحويل وسيطة المفتاح ضمنيًا إلى بنية مفتاح القاموس إذا اختلفا. [#33672](https://github.com/ClickHouse/ClickHouse/pull/33672) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسينات على قواميس `range_hashed`. تحسين أداء وقت التحميل عند وجود سمات متعددة. والسماح بإنشاء قاموس بلا سمات. وأُضيف خيار لتحديد الاستراتيجية عندما يكون الفاصلان `start` و`end` من النوع `Nullable`، وتكون القيمة الافتراضية لـ `convert_null_range_bound_to_open` هي `true`. يُغلق [#29791](https://github.com/ClickHouse/ClickHouse/issues/29791). كما أصبح بالإمكان تحديد `Float` و`Decimal` و`DateTime64` و`Int128` و`Int256` و`UInt128` و`UInt256` كأنواع للنطاق. وأُضيف في `RangeHashedDictionary` دعم لقيم النطاق التي تتجاوز النوع `Int64`. يُغلق [#28322](https://github.com/ClickHouse/ClickHouse/issues/28322). وأُضيف الخيار `range_lookup_strategy` لتحديد نوع البحث في النطاق `min` أو `max`، وتكون القيمة الافتراضية `min`. يُغلق [#21647](https://github.com/ClickHouse/ClickHouse/issues/21647). وتم إصلاح حسابات البايتات المخصصة. كما تم إصلاح اسم النوع في `system.dictionaries` في حالة `ComplexKeyHashedDictionary`. [#33927](https://github.com/ClickHouse/ClickHouse/pull/33927) ([Maksim Kita](https://github.com/kitaisreal)).
* تدعم قواميس `flat` و`hashed` و`hashed_array` الآن الإنشاء بسمات فارغة، مع دعم قراءة المفاتيح واستخدام `dictHas`. يُصلح [#33820](https://github.com/ClickHouse/ClickHouse/issues/33820). [#33918](https://github.com/ClickHouse/ClickHouse/pull/33918) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيف دعم نوع البيانات `DateTime64` في القواميس. [#33914](https://github.com/ClickHouse/ClickHouse/pull/33914) ([Maksim Kita](https://github.com/kitaisreal)).
* أصبح بالإمكان كتابة `s3(url, access_key_id, secret_access_key)` (مع الاكتشاف التلقائي لتنسيق البيانات وبنية الجدول، ولكن باستخدام بيانات اعتماد صريحة). [#34503](https://github.com/ClickHouse/ClickHouse/pull/34503) ([Kruglov Pavel](https://github.com/Avogar)).
* أُضيف إرسال تنسيق الإخراج مرة أخرى إلى العميل، كما هو الحال في HTTP protocol، وفقًا لما اقتُرح في [#34362](https://github.com/ClickHouse/ClickHouse/issues/34362). يُغلق [#34362](https://github.com/ClickHouse/ClickHouse/issues/34362). [#34499](https://github.com/ClickHouse/ClickHouse/pull/34499) ([Vitaly Baranov](https://github.com/vitlibar)).
* إرسال إحصاءات ProfileEvents في حالة استعلام INSERT SELECT (لعرض مقاييس الاستعلام في `clickhouse-client` لهذا النوع من الاستعلامات). [#34498](https://github.com/ClickHouse/ClickHouse/pull/34498) ([Dmitry Novik](https://github.com/novikd)).
* التعرّف على الامتداد `.jsonl` لتنسيق JSONEachRow. [#34496](https://github.com/ClickHouse/ClickHouse/pull/34496) ([Kruglov Pavel](https://github.com/Avogar)).
* تحسين استنتاج المخطط في clickhouse-local. أصبح بالإمكان الاكتفاء بكتابة `clickhouse-local -q "select * from table" < data.format`. [#34495](https://github.com/ClickHouse/ClickHouse/pull/34495) ([Kruglov Pavel](https://github.com/Avogar)).
* يمكن الآن منح امتيازات CREATE/ALTER/DROP ROW POLICY على جدول، أو على `database.*`، وكذلك على مستوى عام `*.*`. [#34489](https://github.com/ClickHouse/ClickHouse/pull/34489) ([Vitaly Baranov](https://github.com/vitlibar)).
* السماح بتصدير ملفات كبيرة بأي حجم إلى `s3`. تمت إضافة إعدادين جديدين: `s3_upload_part_size_multiply_factor` و `s3_upload_part_size_multiply_parts_count_threshold`. والآن، في كل مرة يصل فيها عدد الأجزاء المرفوعة إلى S3 من استعلام واحد إلى `s3_upload_part_size_multiply_parts_count_threshold`، يُضرَب `s3_min_upload_part_size` في `s3_upload_part_size_multiply_factor`. يعالج [#34244](https://github.com/ClickHouse/ClickHouse/issues/34244). [#34422](https://github.com/ClickHouse/ClickHouse/pull/34422) ([alesapin](https://github.com/alesapin)).
* السماح بتخطي عناوين URL غير الموجودة (404) للأنماط العامة عند استخدام تخزين URL / دالة الجدول. ويغلق أيضًا [#34359](https://github.com/ClickHouse/ClickHouse/issues/34359). [#34392](https://github.com/ClickHouse/ClickHouse/pull/34392) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تنسيقات الإدخال والإخراج الافتراضية لـ `clickhouse-local`، ويمكن تجاوزها باستخدام --input-format و --output-format. يغلق [#30631](https://github.com/ClickHouse/ClickHouse/issues/30631). [#34352](https://github.com/ClickHouse/ClickHouse/pull/34352) ([李扬](https://github.com/taiyang-li)).
* إضافة خيارات إلى `clickhouse-format`، وهي: `max_query_size` و `max_parser_depth`. ما يغلق [#30528](https://github.com/ClickHouse/ClickHouse/issues/30528). [#34349](https://github.com/ClickHouse/ClickHouse/pull/34349) ([李扬](https://github.com/taiyang-li)).
* تحسين التعامل مع المدخلات المسبقة قبل بدء العميل. هذا لأجل [#34308](https://github.com/ClickHouse/ClickHouse/issues/34308). [#34336](https://github.com/ClickHouse/ClickHouse/pull/34336) ([Amos Bird](https://github.com/amosbird)).
* إضافة أسماء بديلة للدالتين `REGEXP_MATCHES` و `REGEXP_REPLACE` للتوافق مع PostgreSQL. يغلق [#30885](https://github.com/ClickHouse/ClickHouse/issues/30885). [#34334](https://github.com/ClickHouse/ClickHouse/pull/34334) ([李扬](https://github.com/taiyang-li)).
* تتوقع بعض الخوادم وجود ترويسة User-Agent في طلبات HTTP الخاصة بها. تمت إضافة ترويسة `User-Agent` إلى طلبات HTTP بالشكل التالي: User-Agent: ClickHouse/VERSION\_STRING. [#34330](https://github.com/ClickHouse/ClickHouse/pull/34330) ([Saad Ur Rahman](https://github.com/surahman)).
* إلغاء عمليات الدمج قبل الحصول على قفل الجدول لاستعلام `TRUNCATE` لتجنب الخطأ `DEADLOCK_AVOIDED` في بعض الحالات. يعالج [#34302](https://github.com/ClickHouse/ClickHouse/issues/34302). [#34304](https://github.com/ClickHouse/ClickHouse/pull/34304) ([tavplubix](https://github.com/tavplubix)).
* تغيير مستوى الشدة للرسالة "Cancelled merging parts" في السجلات، لأنها ليست خطأ. هذا يغلق [#34148](https://github.com/ClickHouse/ClickHouse/issues/34148). [#34232](https://github.com/ClickHouse/ClickHouse/pull/34232) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة إمكانية تركيب عامل التحويل بأسلوب PostgreSQL `::` مع التعبيرات التي تستخدم العاملين `[]` و `.` (فهرسة المصفوفات وTuple). [#34229](https://github.com/ClickHouse/ClickHouse/pull/34229) ([Nikolay Degterinsky](https://github.com/evillique)).
* التعرّف على التنسيق `YYYYMMDD-hhmmss` في الدالة `parseDateTimeBestEffort`. هذا يغلق [#34206](https://github.com/ClickHouse/ClickHouse/issues/34206). [#34208](https://github.com/ClickHouse/ClickHouse/pull/34208) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح باستخدام محرف إرجاع العربة في وسط السطر أثناء التحليل بواسطة التنسيق `Regexp`. هذا يغلق [#34200](https://github.com/ClickHouse/ClickHouse/issues/34200). [#34205](https://github.com/ClickHouse/ClickHouse/pull/34205) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح بتحليل `PRIMARY KEY` الخاص بالقاموس بالصيغة `PRIMARY KEY (id, value)`؛ إذ كان المدعوم سابقًا فقط `PRIMARY KEY id, value`. يُغلق [#34135](https://github.com/ClickHouse/ClickHouse/issues/34135). [#34141](https://github.com/ClickHouse/ClickHouse/pull/34141) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة وسيطة اختيارية إلى `splitByChar` لتقييد عدد العناصر الناتجة. يُغلق [#34081](https://github.com/ClickHouse/ClickHouse/issues/34081). [#34140](https://github.com/ClickHouse/ClickHouse/pull/34140) ([李扬](https://github.com/taiyang-li)).
* تحسين تجربة تحرير الأسطر المتعددة في `clickhouse-client`. وهذا استكمال لـ [#31123](https://github.com/ClickHouse/ClickHouse/pull/31123). [#34114](https://github.com/ClickHouse/ClickHouse/pull/34114) ([Amos Bird](https://github.com/amosbird)).
* إضافة دعم `UUID` في format الإدخال/الإخراج `MsgPack`. [#34065](https://github.com/ClickHouse/ClickHouse/pull/34065) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبح سياق التتبّع (لـ OpenTelemetry) يُمرَّر الآن من metadata عميل GRPC (وهذا التغيير مرتبط ببروتوكول GRPC بين العميل والخادم). [#34064](https://github.com/ClickHouse/ClickHouse/pull/34064) ([andremarianiello](https://github.com/andremarianiello)).
* دعم جميع أنواع استعلامات `SYSTEM` مع clause ‏`ON CLUSTER`. [#34005](https://github.com/ClickHouse/ClickHouse/pull/34005) ([小路](https://github.com/nicelulu)).
* تحسين احتساب الذاكرة للاستعلامات التي تستخدم أقل من `max_untracker_memory`. [#34001](https://github.com/ClickHouse/ClickHouse/pull/34001) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح البحث غير الحساس لحالة الأحرف في UTF-8 string عندما تُمثَّل الأحرف الصغيرة والكبيرة بعدد مختلف من البايتات. ومن الأمثلة على ذلك `ẞ` و`ß`. يُغلق هذا [#7334](https://github.com/ClickHouse/ClickHouse/issues/7334). [#33992](https://github.com/ClickHouse/ClickHouse/pull/33992) ([Harry Lee](https://github.com/HarryLeeIBM)).
* اكتشاف format وschema من stdin في `clickhouse-local`. [#33960](https://github.com/ClickHouse/ClickHouse/pull/33960) ([Kruglov Pavel](https://github.com/Avogar)).
* التعامل بشكل صحيح مع حالة سوء configuration عندما تستخدم عدة disks المسار نفسه على filesystem. [#29072](https://github.com/ClickHouse/ClickHouse/issues/29072). [#33905](https://github.com/ClickHouse/ClickHouse/pull/33905) ([zhongyuankai](https://github.com/zhongyuankai)).
* تجربة كل عنوان IP تم تحليله عند الحصول على S3 proxy. نادرًا ما تُستخدم وسطاء S3، وغالبًا ما يكون ذلك في Yandex Cloud. [#33862](https://github.com/ClickHouse/ClickHouse/pull/33862) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* دعم استعلام `EXPLAIN AST CREATE FUNCTION`؛ إذ إن `EXPLAIN AST CREATE FUNCTION mycast AS (n) -> cast(n as String)` سيُرجع `EXPLAIN AST CREATE FUNCTION mycast AS n -> CAST(n, 'String')`. [#33819](https://github.com/ClickHouse/ClickHouse/pull/33819) ([李扬](https://github.com/taiyang-li)).
* إضافة دعم للتحويل من `Map(Key, Value)` إلى `Array(Tuple(Key, Value))`. [#33794](https://github.com/ClickHouse/ClickHouse/pull/33794) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة بعض التحسينات والإصلاحات إلى نوع البيانات `Bool`. يُصلح [#33244](https://github.com/ClickHouse/ClickHouse/issues/33244). [#33737](https://github.com/ClickHouse/ClickHouse/pull/33737) ([Kruglov Pavel](https://github.com/Avogar)).
* تحليل `trace-id` الخاص بـ OpenTelemetry وتخزينه بترتيب big-endian. [#33723](https://github.com/ClickHouse/ClickHouse/pull/33723) ([Frank Chen](https://github.com/FrankChen021)).
* تحسين وظائف عائلة `fromUnixTimestamp64`.. إذ أصبحت الآن تقبل أي قيمة صحيحة يمكن تحويلها إلى `Int64`. وهذا يُغلق: [#14648](https://github.com/ClickHouse/ClickHouse/issues/14648). [#33505](https://github.com/ClickHouse/ClickHouse/pull/33505) ([Andrey Zvonov](https://github.com/zvonand)).
* إعادة تنفيذ `_shard_num` من الثوابت (انظر [#7624](https://github.com/ClickHouse/ClickHouse/issues/7624)) باستخدام الدالة `shardNum()` (انظر [#27020](https://github.com/ClickHouse/ClickHouse/issues/27020))، لتجنّب المشكلات المحتملة (مثل تلك التي اكتُشفت في [#16947](https://github.com/ClickHouse/ClickHouse/issues/16947)). [#33392](https://github.com/ClickHouse/ClickHouse/pull/33392) ([Azat Khuzhin](https://github.com/azat)).
* تمكين العمليات الحسابية الثنائية (الجمع والطرح والضرب والقسمة و `least` و `greatest`) بين Decimal و Float. [#33355](https://github.com/ClickHouse/ClickHouse/pull/33355) ([flynn](https://github.com/ucasfl)).
* مراعاة حدود cgroups عند الاكتشاف التلقائي لـ max\_threads. [#33342](https://github.com/ClickHouse/ClickHouse/pull/33342) ([JaySon](https://github.com/JaySon-Huang)).
* إضافة إعداد جديد `min_session_timeout_ms` إلى clickhouse-keeper. سيحدّد clickhouse-keeper الآن مهلة session الخاصة بالعميل وفقًا للإعدادين `min_session_timeout_ms` و `session_timeout_ms`. [#33288](https://github.com/ClickHouse/ClickHouse/pull/33288) ([JackyWoo](https://github.com/JackyWoo)).
* أُضيف دعم Data type `UUID` للدالتين `hex` و `bin`. [#32170](https://github.com/ClickHouse/ClickHouse/pull/32170) ([Frank Chen](https://github.com/FrankChen021)).
* إصلاح قراءة subcolumns التي تحتوي أسماؤها على نقاط. وعلى وجه الخصوص، أُصلحت قراءة أعمدة `Nested` إذا كانت أسماء عناصرها تحتوي على نقاط (مثلًا ``Nested(`keys.name` String, `keys.id` UInt64, values UInt64)``). [#34228](https://github.com/ClickHouse/ClickHouse/pull/34228) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح عدم عمل `parallel_view_processing = 0` عند insert إلى table باستخدام `VALUES`. - إصلاح عدم ضبط `view_duration_ms` في `query_views_log` بشكل صحيح بالنسبة إلى materialized views. [#34067](https://github.com/ClickHouse/ClickHouse/pull/34067) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح parsing لبنية table من ZooKeeper: تُقارَن metadata من ZooKeeper الآن مع metadata المحلية بصيغتها canonical. وهذا يفيد عندما يمكن أن تتغير أسماء الدوال canonical بين إصدارات ClickHouse. [#33933](https://github.com/ClickHouse/ClickHouse/pull/33933) ([sunny](https://github.com/sunny19930321)).
* إجراء تهريب صحيح لبعض المحارف عند التعامل مع LDAP. [#33401](https://github.com/ClickHouse/ClickHouse/pull/33401) ([IlyaTsoi](https://github.com/IlyaTsoi)).

<div id="buildtestingpackaging-improvement-9">
  #### تحسينات البناء/الاختبار/الحزم
</div>

* إزالة دعم البناء غير المجمّع. [#33690](https://github.com/ClickHouse/ClickHouse/pull/33690) ([Azat Khuzhin](https://github.com/azat)).
* التأكد من أن الاختبارات لا تعتمد على نتيجة الفرز غير المستقر للعناصر المتساوية. أُضيفت عشوائية نطاقات العناصر المتساوية في وضع Debug بعد الفرز لمنع المشكلات عند الاعتماد على ترتيب فرز العناصر المتساوية. [#34393](https://github.com/ClickHouse/ClickHouse/pull/34393) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة مزيد من التفصيل إلى فحص Style check. [#34289](https://github.com/ClickHouse/ClickHouse/pull/34289) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إزالة حزمة Debian ‏`clickhouse-test` لأنها متقادمة. [#33948](https://github.com/ClickHouse/ClickHouse/pull/33948) ([Ilya Yatsishin](https://github.com/qoega)).
* تحسينات متعددة على نظام البناء لإزالة احتمال استخدام حزم من نظام التشغيل أحيانًا، ولفرض عمليات بناء محكمة العزل. [#33695](https://github.com/ClickHouse/ClickHouse/pull/33695) ([Amos Bird](https://github.com/amosbird)).

<div id="bug-fix-user-visible-misbehaviour-in-official-stable-or-prestable-release-1">
  #### إصلاح خطأ (سلوك غير صحيح ملحوظ للمستخدم في إصدار مستقر رسمي أو إصدار ما قبل الاستقرار)
</div>

* تم إصلاح التحقق assertion عند استخدام `allow_experimental_parallel_reading_from_replicas` مع `max_parallel_replicas` عندما تكون قيمته 1. هذا يُصلح [#34525](https://github.com/ClickHouse/ClickHouse/issues/34525). [#34613](https://github.com/ClickHouse/ClickHouse/pull/34613) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح خطأ نادر عند قراءة المصفوفات الفارغة، كان قد يؤدي إلى الخطأ `Data compressed with different methods`. يمكن إعادة إنتاجه إذا كانت لديك مصفوفات فارغة في معظمها، ولكن ليس دائمًا. ويحدث ذلك عند القراءة بالاتجاه العكسي مع ORDER BY ... DESC. واحتمال حدوث هذا الخطأ ضئيل جدًا. [#34327](https://github.com/ClickHouse/ClickHouse/pull/34327) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح النتيجة الخاطئة للدالتين `round`/`roundBankers` عند تقريب قيم صحيحة من أنواع صغيرة. يُغلق [#33267](https://github.com/ClickHouse/ClickHouse/issues/33267). [#34562](https://github.com/ClickHouse/ClickHouse/pull/34562) ([李扬](https://github.com/taiyang-li)).
* أحيانًا لم يكن إلغاء الاستعلام يعمل فورًا عند قراءة عدة ملفات من S3 أو HDFS. يُصلح [#34301](https://github.com/ClickHouse/ClickHouse/issues/34301) ويرتبط بـ [#34397](https://github.com/ClickHouse/ClickHouse/issues/34397). [#34539](https://github.com/ClickHouse/ClickHouse/pull/34539) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح الاستثناء `Chunk should have AggregatedChunkInfo in MergingAggregatedTransform` (في حالة `optimize_aggregation_in_order = 1` و `distributed_aggregation_memory_efficient = 0`). يُصلح [#34526](https://github.com/ClickHouse/ClickHouse/issues/34526). [#34532](https://github.com/ClickHouse/ClickHouse/pull/34532) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح المقارنة بين الأعداد الصحيحة والأعداد العائمة في تحليل الفهرس. سابقًا، كان هذا قد يؤدي إلى تخطي بعض الـ granules أثناء القراءة عن طريق الخطأ. يُصلح [#34493](https://github.com/ClickHouse/ClickHouse/issues/34493). [#34528](https://github.com/ClickHouse/ClickHouse/pull/34528) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح دعم الضغط في URL engine. [#34524](https://github.com/ClickHouse/ClickHouse/pull/34524) ([Frank Chen](https://github.com/FrankChen021)).
* إصلاح الخطأ المحتمل 'file\_size: Operation not supported' في الاكتشاف التلقائي لمخطط الملفات. [#34479](https://github.com/ClickHouse/ClickHouse/pull/34479) ([Kruglov Pavel](https://github.com/Avogar)).
* يُصلح حالة تسابق محتملة مع حذف جدول. [#34416](https://github.com/ClickHouse/ClickHouse/pull/34416) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الخطأ المحتمل `Cannot convert column Function to mask` في التقييم المختصر للدوال. يُغلق [#34171](https://github.com/ClickHouse/ClickHouse/issues/34171). [#34415](https://github.com/ClickHouse/ClickHouse/pull/34415) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تعطل محتمل عند استدلال المخطط من مصدر URL. يُغلق [#34147](https://github.com/ClickHouse/ClickHouse/issues/34147). [#34405](https://github.com/ClickHouse/ClickHouse/pull/34405) ([Kruglov Pavel](https://github.com/Avogar)).
* بالنسبة إلى UDFs، كان يجري التحقق من أذونات الوصول على مستوى قاعدة البيانات بدلًا من المستوى العام كما ينبغي. يُغلق [#34281](https://github.com/ClickHouse/ClickHouse/issues/34281). [#34404](https://github.com/ClickHouse/ClickHouse/pull/34404) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح صياغة المحرك غير الصحيحة في ناتج استعلام `SHOW CREATE DATABASE` لقواعد البيانات التي تستخدم المحرك `Memory`. يُغلق هذا [#34335](https://github.com/ClickHouse/ClickHouse/issues/34335). [#34345](https://github.com/ClickHouse/ClickHouse/pull/34345) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تم إصلاح حالتي تسابق نادرتين للغاية كانتا قد تؤديان إلى تلف حالة replication queue وظهور الخطأ "intersecting parts". [#34297](https://github.com/ClickHouse/ClickHouse/pull/34297) ([tavplubix](https://github.com/tavplubix)).
* إصلاح عرض شريط التقدم؛ إذ كان يُقرَّب خطأً إلى عدد صحيح من الأحرف. [#34275](https://github.com/ClickHouse/ClickHouse/pull/34275) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح حقول معلومات العميل current\_user/current\_address للاتصال بين الخوادم (قبل هذا التصحيح، كانت قيمتا current\_user/current\_address تُحفَظان من الاستعلام السابق). [#34263](https://github.com/ClickHouse/ClickHouse/pull/34263) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تسرّب في الذاكرة عند حدوث بعض حالات Exception أثناء query processing مع `optimize_aggregation_in_order=1`. [#34234](https://github.com/ClickHouse/ClickHouse/pull/34234) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح المقياس `Query` الذي يعرض عدد الاستعلامات الجاري تنفيذها. ففي الإصدارات الأخيرة المتعددة كان يساوي 0 دائمًا. [#34224](https://github.com/ClickHouse/ClickHouse/pull/34224) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح schema inference لدالة الجدول `s3`. [#34186](https://github.com/ClickHouse/ClickHouse/pull/34186) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح حالة تسابق نادرة وغير ضارة في محركات التخزين `HDFS` و`S3` و`URL` قد تؤدي إلى اتصالات إضافية. [#34172](https://github.com/ClickHouse/ClickHouse/pull/34172) ([alesapin](https://github.com/alesapin)).
* إصلاح خلل قد يؤدي، في حالات نادرة، إلى الخطأ "Cannot read all data" أثناء قراءة أعمدة LowCardinality في عائلة محركات جداول MergeTree التي تخزن البيانات على نظام ملفات بعيد مثل S3 (نظام الملفات الافتراضي فوق S3 ميزة تجريبية غير جاهزة لبيئات production). [#34139](https://github.com/ClickHouse/ClickHouse/pull/34139) ([alesapin](https://github.com/alesapin)).
* إصلاح عمليات insert إلى distributed tables عند حدوث تغيير في native protocol. كان آخر تغيير في الإصدار 22.1، لذا قد تحدث بعض حالات فشل insert إلى distributed tables بعد الترقية إلى ذلك الإصدار. [#34132](https://github.com/ClickHouse/ClickHouse/pull/34132) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح data race محتمل في محرك الجدول `File` أُدخل في [#33960](https://github.com/ClickHouse/ClickHouse/pull/33960). يُغلق [#34111](https://github.com/ClickHouse/ClickHouse/issues/34111). [#34113](https://github.com/ClickHouse/ClickHouse/pull/34113) ([Kruglov Pavel](https://github.com/Avogar)).
* تم إصلاح حالة تسابق طفيفة قد تتسبب، في حالات نادرة للغاية، في الخطأ "intersecting parts" بعد فقدان الاتصال بـ ZooKeeper. [#34096](https://github.com/ClickHouse/ClickHouse/pull/34096) ([tavplubix](https://github.com/tavplubix)).
* إصلاح asynchronous inserts مع التنسيق `Native`. [#34068](https://github.com/ClickHouse/ClickHouse/pull/34068) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح خلل كان يؤدي إلى تعذر بدء الخادم عند استخدام كلٍّ من replicated access storage وKeeper (المضمَّن في clickhouse-server). كما أُضيف إعدادان لمهلة Keeper socket بدلًا من إعدادات default user: `keeper_server.socket_receive_timeout_sec` و `keeper_server.socket_send_timeout_sec`. يُصلح [#33973](https://github.com/ClickHouse/ClickHouse/issues/33973). [#33988](https://github.com/ClickHouse/ClickHouse/pull/33988) ([alesapin](https://github.com/alesapin)).
* إصلاح segfault أثناء parsing لملف ORC ذي footer تالف. يُغلق [#33797](https://github.com/ClickHouse/ClickHouse/issues/33797). [#33984](https://github.com/ClickHouse/ClickHouse/pull/33984) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تحليل IPv6 من query parameter ‏(prepared statements) وإصلاح تحويل IPv6 إلى سلسلة نصية. يُغلق [#33928](https://github.com/ClickHouse/ClickHouse/issues/33928). [#33971](https://github.com/ClickHouse/ClickHouse/pull/33971) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تعطل أثناء قراءة Tuples المتداخلة. يُصلح [#33838](https://github.com/ClickHouse/ClickHouse/issues/33838). [#33956](https://github.com/ClickHouse/ClickHouse/pull/33956) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح استخدام الدالتين `array` و`tuple` مع وسيطات حرفية في distributed queries. وكان هذا قد يؤدي سابقًا إلى الاستثناء `Not found columns`. [#33938](https://github.com/ClickHouse/ClickHouse/pull/33938) ([Anton Popov](https://github.com/CurtizJ)).
* لم يكن aggregate function combinator ‏`-If` يعالج وسيطة التصفية `Nullable` على نحو صحيح. هذا يُغلق [#27073](https://github.com/ClickHouse/ClickHouse/issues/27073). [#33920](https://github.com/ClickHouse/ClickHouse/pull/33920) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح race condition محتمل عند القراءة من قرص بعيد (تُعد virtual filesystem فوق s3 feature تجريبية غير جاهزة لـproduction). [#33912](https://github.com/ClickHouse/ClickHouse/pull/33912) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تعطل يحدث إذا أُنشئت SQL UDF مع lambda ذات وسيطات ليست معرّفات. يُغلق [#33866](https://github.com/ClickHouse/ClickHouse/issues/33866). [#33868](https://github.com/ClickHouse/ClickHouse/pull/33868) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح استخدام columns sparse ‏(التي يمكن تمكينها عبر setting التجريبي `ratio_of_defaults_for_sparse_serialization`). [#33849](https://github.com/ClickHouse/ClickHouse/pull/33849) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الخطأ المنطقي `replica is not readonly` في query ‏`SYSTEM RESTORE REPLICA` عندما تكون replica في الواقع readonly. يُصلح [#33806](https://github.com/ClickHouse/ClickHouse/issues/33806). [#33847](https://github.com/ClickHouse/ClickHouse/pull/33847) ([tavplubix](https://github.com/tavplubix)).
* إصلاح تسرّب للذاكرة في `clickhouse-keeper` عند استخدام الضغط (Compression) ‏(الافتراضي). [#33840](https://github.com/ClickHouse/ClickHouse/pull/33840) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح index analysis عند عدم توفر أي types مشتركة. [#33833](https://github.com/ClickHouse/ClickHouse/pull/33833) ([Amos Bird](https://github.com/amosbird)).
* إصلاح schema inference لكل من `JSONEachRow` و`JSONCompactEachRow`. [#33830](https://github.com/ClickHouse/ClickHouse/pull/33830) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح استخدام external dictionaries مع source ‏`redis` وعند وجود عدد كبير من المفاتيح. [#33804](https://github.com/ClickHouse/ClickHouse/pull/33804) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح خطأ في client كان يؤدي إلى 'Connection reset by peer' في server. يُغلق [#33309](https://github.com/ClickHouse/ClickHouse/issues/33309). [#33790](https://github.com/ClickHouse/ClickHouse/pull/33790) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح parsing للاستعلام INSERT INTO ... VALUES SETTINGS ... (...), ... [#33776](https://github.com/ClickHouse/ClickHouse/pull/33776) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خطأ في فحص table عند إنشاء data part بتنسيق wide format وprojection. [#33774](https://github.com/ClickHouse/ClickHouse/pull/33774) ([李扬](https://github.com/taiyang-li)).
* إصلاح حالة تسابق طفيفة بين count() وINSERT/merges/... في MergeTree (إذ قد يُعاد عدد غير صحيح من الصفوف في SELECT مع optimize\_trivial\_count\_query). [#33753](https://github.com/ClickHouse/ClickHouse/pull/33753) ([Azat Khuzhin](https://github.com/azat)).
* طرح استثناء عند فشل طلب سرد الدليل في تخزين HDFS. [#33724](https://github.com/ClickHouse/ClickHouse/pull/33724) ([LiuNeng](https://github.com/liuneng1994)).
* إصلاح mutation عندما يحتوي الجدول على projections. يُصلح هذا [#33010](https://github.com/ClickHouse/ClickHouse/issues/33010). ويُصلح هذا [#33275](https://github.com/ClickHouse/ClickHouse/issues/33275). [#33679](https://github.com/ClickHouse/ClickHouse/pull/33679) ([Amos Bird](https://github.com/amosbird)).
* تحديد قاعدة البيانات الحالية بشكل صحيح إذا نُفِّذ `CREATE TEMPORARY TABLE AS SELECT` داخل session HTTP مسماة. هذه حالة استخدام نادرة جدًا. يُغلق هذا [#8340](https://github.com/ClickHouse/ClickHouse/issues/8340). [#33676](https://github.com/ClickHouse/ClickHouse/pull/33676) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح ببعض queries التي تتضمن الفرز وLIMIT BY وARRAY JOIN ودوال lambda. يُغلق هذا [#7462](https://github.com/ClickHouse/ClickHouse/issues/7462). [#33675](https://github.com/ClickHouse/ClickHouse/pull/33675) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح خلل في "zero copy replication" (وهي ميزة لا تزال قيد التطوير ويجب عدم استخدامها في بيئة production) كان يؤدي إلى تكرار البيانات في حالة TTL move. يُصلح هذا [#33643](https://github.com/ClickHouse/ClickHouse/issues/33643). [#33642](https://github.com/ClickHouse/ClickHouse/pull/33642) ([alesapin](https://github.com/alesapin)).
* إصلاح `Chunk should have AggregatedChunkInfo in GroupingAggregatedTransform` (في حالة `optimize_aggregation_in_order = 1`). [#33637](https://github.com/ClickHouse/ClickHouse/pull/33637) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الخطأ `Bad cast from type ... to DB::DataTypeArray` الذي قد يحدث عندما يحتوي الجدول على عمود `Nested` يتضمن اسمه نقاطًا، وتُولَّد له قيمة افتراضية (على سبيل المثال أثناء insert، عندما لا يكون العمود مُدرجًا). استكمالًا لـ [#28762](https://github.com/ClickHouse/ClickHouse/issues/28762). [#33588](https://github.com/ClickHouse/ClickHouse/pull/33588) ([Alexey Pavlenko](https://github.com/alexeypavlenko)).
* تم إصلاح التصدير إلى ملفات `lz4`. يُغلق هذا [#31421](https://github.com/ClickHouse/ClickHouse/issues/31421). [#31862](https://github.com/ClickHouse/ClickHouse/pull/31862) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح احتمال حدوث crash إذا كان `group_by_overflow_mode` مضبوطًا على `any` (‏GROUP BY تقريبي) وكانت aggregation تُجرى على عمود واحد من النوع `LowCardinality`. [#34506](https://github.com/ClickHouse/ClickHouse/pull/34506) ([DR](https://github.com/freedomDR)).
* إصلاح insert في temporary tables عبر بروتوكول gRPC بين العميل والخادم. يُصلح هذا [#34347](https://github.com/ClickHouse/ClickHouse/issues/34347)، issue `#2`. [#34364](https://github.com/ClickHouse/ClickHouse/pull/34364) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح issue [#19429](https://github.com/ClickHouse/ClickHouse/issues/19429). [#34225](https://github.com/ClickHouse/ClickHouse/pull/34225) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح issue [#18206](https://github.com/ClickHouse/ClickHouse/issues/18206). [#33977](https://github.com/ClickHouse/ClickHouse/pull/33977) ([Vitaly Baranov](https://github.com/vitlibar)).
* يتيح طلب السحب هذا استخدام عدة مخازن LDAP في قائمة أدلة المستخدمين نفسها. كان ذلك يعمل سابقًا، لكنه تعطّل لأن اختبارات LDAP معطّلة (وهي جزء من اختبارات testflows). [#33574](https://github.com/ClickHouse/ClickHouse/pull/33574) ([Vitaly Baranov](https://github.com/vitlibar)).

### <a id="221" /> إصدار ClickHouse v22.1، بتاريخ 2022-01-18. [العرض التقديمي](https://presentations.clickhouse.com/2022-release-22.1/)، [الفيديو](https://www.youtube.com/watch?v=gP7I2SUBXig)

<Frame>
  <iframe src="https://www.youtube.com/embed/gP7I2SUBXig" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### ملاحظات الترقية
</div>

* كانت الدالتان `left` و`right` تُنفَّذان سابقًا في المحلل، أما الآن فأصبحتا كاملتي الوظائف. قد ترفع الاستعلامات الموزعة التي تستخدم الدالتين `left` أو `right` بدون أسماء مستعارة استثناءً إذا كان العنقود يحتوي على إصدارات مختلفة من `clickhouse-server`. إذا كنت تُجري ترقية لعنقودك وواجهت هذا الخطأ، فعليك إكمال الترقية لضمان أن جميع العُقد تعمل بالإصدار نفسه. ويمكنك أيضًا إضافة أسماء مستعارة (`AS something`) إلى الأعمدة في استعلاماتك لتجنّب هذه المشكلة. [#33407](https://github.com/ClickHouse/ClickHouse/pull/33407) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أصبح استخدام الموارد في الاستعلامات الفرعية القيَمية مُحتسبًا بالكامل اعتبارًا من هذا الإصدار. ومع هذا التغيير، باتت الصفوف المقروءة في الاستعلامات الفرعية القيَمية تُسجَّل الآن في `query_log`. وإذا كان الاستعلام الفرعي القيَمي مخزّنًا مؤقتًا (مكررًا أو يُستدعى لعدة صفوف)، فلا تُحتسب الصفوف المقروءة إلا مرة واحدة فقط. يتيح هذا التغيير تنفيذ KILL للاستعلامات والإبلاغ عن التقدم أثناء تنفيذ الاستعلامات الفرعية القيَمية. [#32271](https://github.com/ClickHouse/ClickHouse/pull/32271) ([Raúl Marín](https://github.com/Algunenano)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* تنفيذ استدلال مخطط البيانات لتنسيقات الإدخال. والسماح بتخطي البنية (أو الاكتفاء بكتابة `auto`) في دوال الجداول `file`, `url`, `s3`, `hdfs` وفي معاملات `clickhouse-local`. وكذلك السماح بتخطي البنية في استعلامات CREATE لمحركات الجداول `File`, `HDFS`, `S3`, `URL`, `Merge`, `Buffer`, `Distributed` و`ReplicatedMergeTree` (عند إضافة نسخ متماثلة جديدة). [#32455](https://github.com/ClickHouse/ClickHouse/pull/32455) ([Kruglov Pavel](https://github.com/Avogar)).
* اكتشاف التنسيق من امتداد الملف في دوال الجداول `file`/`hdfs`/`s3`/`url` ومحركات الجداول `HDFS`/`S3`/`URL`، وكذلك في `SELECT INTO OUTFILE` و`INSERT FROM INFILE` [#33565](https://github.com/ClickHouse/ClickHouse/pull/33565) ([Kruglov Pavel](https://github.com/Avogar)). يغلق [#30918](https://github.com/ClickHouse/ClickHouse/issues/30918). [#33443](https://github.com/ClickHouse/ClickHouse/pull/33443) ([OnePiece](https://github.com/zhongyuankai)).
* أداة لجمع البيانات التشخيصية عند الحاجة إلى الدعم. [#33175](https://github.com/ClickHouse/ClickHouse/pull/33175) ([Alexander Burmak](https://github.com/Alex-Burmak)).
* الاكتشاف التلقائي للعناقيد عبر Zoo/Keeper. يتيح ذلك إضافة نسخ متماثلة إلى العنقود دون تغيير التكوين على كل خادم. [#31442](https://github.com/ClickHouse/ClickHouse/pull/31442) ([vdimir](https://github.com/vdimir)).
* تنفيذ محرك جدول Hive للوصول إلى Apache Hive من ClickHouse. يحقق هذا: [#29245](https://github.com/ClickHouse/ClickHouse/issues/29245). [#31104](https://github.com/ClickHouse/ClickHouse/pull/31104) ([taiyang-li](https://github.com/taiyang-li)).
* إضافة الدوال التجميعية `cramersV`, `cramersVBiasCorrected`, `theilsU` و`contingency`. تحسب هذه الدوال الاعتمادية (كمقياس للارتباط) بين القيم الفئوية. وتستخدم جميعها الجداول التقاطعية (مدرجًا تكراريًا للأزواج) في التنفيذ. ويمكن اعتبارها شبيهة بمعامل الارتباط، ولكن لأي قيم منفصلة، وليس بالضرورة أرقامًا. [#33366](https://github.com/ClickHouse/ClickHouse/pull/33366) ([alexey-milovidov](https://github.com/alexey-milovidov)). التنفيذ الأولي بواسطة [Vanyok-All-is-OK](https://github.com/Vanyok-All-is-OK) و[antikvist](https://github.com/antikvist).
* تمت إضافة دالة الجدول `hdfsCluster`، التي تتيح معالجة الملفات من HDFS بالتوازي من عدة عقد في عنقود محدد، على نحو مماثل لـ `s3Cluster`. [#32400](https://github.com/ClickHouse/ClickHouse/pull/32400) ([Zhichang Yu](https://github.com/yuzhichang)).
* إضافة دعم للأقراص المستندة إلى Azure Blob Storage، بطريقة مماثلة لما هو متاح للأقراص المستندة إلى AWS S3. [#31505](https://github.com/ClickHouse/ClickHouse/pull/31505) ([Jakub Kuklis](https://github.com/jkuklis)).
* السماح باستخدام `COMMENT` في `CREATE VIEW` (لجميع أنواع VIEW). [#31062](https://github.com/ClickHouse/ClickHouse/pull/31062) ([Vasily Nemkov](https://github.com/Enmk)).
* إعادة تهيئة منافذ الاستماع والبروتوكولات ديناميكيًا عند تغيّر التكوين. [#30549](https://github.com/ClickHouse/ClickHouse/pull/30549) ([Kevin Michel](https://github.com/kmichel-aiven)).
* تمت إضافة الدوال `left`, `right`, `leftUTF8`, `rightUTF8`. وإصلاح خطأ في تنفيذ الدالة `substringUTF8` مع OFFSET سالب (إزاحة من نهاية السلسلة). [#33407](https://github.com/ClickHouse/ClickHouse/pull/33407) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة دوال جديدة لنظام الإحداثيات `H3`: `h3HexAreaKm2`, `h3CellAreaM2`, `h3CellAreaRads2`. [#33479](https://github.com/ClickHouse/ClickHouse/pull/33479) ([Bharat Nallan](https://github.com/bharatnc)).
* إضافة الدالة `MONTHNAME`. [#33436](https://github.com/ClickHouse/ClickHouse/pull/33436) ([usurai](https://github.com/usurai)).
* أُضيفت الدالة `arrayLast`. يغلق [#33390](https://github.com/ClickHouse/ClickHouse/issues/33390). [#33415](https://github.com/ClickHouse/ClickHouse/pull/33415) أُضيفت الدالة `arrayLastIndex`. [#33465](https://github.com/ClickHouse/ClickHouse/pull/33465) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة الدالة `decodeURLFormComponent`، وهي تختلف قليلًا عن `decodeURLComponent`. إغلاق [#10298](https://github.com/ClickHouse/ClickHouse/issues/10298). [#33451](https://github.com/ClickHouse/ClickHouse/pull/33451) ([SuperDJY](https://github.com/cmsxbc)).
* السماح بتقسيم قواعد التجميع المرحلي في `GraphiteMergeTree` للمقاييس العادية/الموسومة (حقل rule\_type اختياري). [#33494](https://github.com/ClickHouse/ClickHouse/pull/33494) ([Michail Safronov](https://github.com/msaf1980)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* دعم نقل الشروط إلى `PREWHERE` (الإعداد `optimize_move_to_prewhere`) للجداول التي تستخدم المحرك `Merge` إذا كانت جميع الجداول الأساسية التابعة لها تدعم `PREWHERE`. [#33300](https://github.com/ClickHouse/ClickHouse/pull/33300) ([Anton Popov](https://github.com/CurtizJ)).
* معالجة أكثر كفاءة لأنماط globs في تخزين URL. يمكنك الآن بسهولة تنفيذ استعلام على مليون URL بالتوازي مع إعادة المحاولة. يغلق هذا [#32866](https://github.com/ClickHouse/ClickHouse/issues/32866). [#32907](https://github.com/ClickHouse/ClickHouse/pull/32907) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تجنّب التتبّع التراجعي الأسي في المحلل. يغلق هذا [#20158](https://github.com/ClickHouse/ClickHouse/issues/20158). [#33481](https://github.com/ClickHouse/ClickHouse/pull/33481) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* كان سوء استخدام الدالة `untuple` يؤدي إلى تعقيد أسي في تحليل الاستعلام (اكتشفه fuzzer). يغلق هذا [#33297](https://github.com/ClickHouse/ClickHouse/issues/33297). [#33445](https://github.com/ClickHouse/ClickHouse/pull/33445) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تقليل الذاكرة المخصصة للقواميس ذات السمات النصية. [#33466](https://github.com/ClickHouse/ClickHouse/pull/33466) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين طفيف في أداء الدالة `reinterpret`. [#32587](https://github.com/ClickHouse/ClickHouse/pull/32587) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تغيير غير مهم. في حالات نادرة للغاية، عندما يُفقَد جزء بيانات على كل نسخة متماثلة، قد تتخطى الاستعلامات اللاحقة، بعد دمج بعض أجزاء البيانات، عددًا أقل من الأقسام عند استبعاد الأقسام. وهذا بالكاد يؤثر في أي شيء. [#32220](https://github.com/ClickHouse/ClickHouse/pull/32220) ([Azat Khuzhin](https://github.com/azat)).
* تحسين أداء الكتابة في `clickhouse-keeper` عبر تحسين منطق حساب الحجم. [#32366](https://github.com/ClickHouse/ClickHouse/pull/32366) ([zhanglistar](https://github.com/zhanglistar)).
* تحسين إنشاء projection المادي لـ projection أحادية الجزء. يغلق هذا [#31669](https://github.com/ClickHouse/ClickHouse/issues/31669). [#31885](https://github.com/ClickHouse/ClickHouse/pull/31885) ([Amos Bird](https://github.com/amosbird)).
* تحسين أداء الاستعلامات على جداول النظام. [#33312](https://github.com/ClickHouse/ClickHouse/pull/33312) ([OnePiece](https://github.com/zhongyuankai)).
* تحسين اختيار أجزاء MergeTree التي يمكن نقلها بين وحدات التخزين. [#33225](https://github.com/ClickHouse/ClickHouse/pull/33225) ([OnePiece](https://github.com/zhongyuankai)).
* إصلاح أداء القاموس `sparse_hashed` مع المفاتيح sequential (دالة hash غير صحيحة). [#32536](https://github.com/ClickHouse/ClickHouse/pull/32536) ([Azat Khuzhin](https://github.com/azat)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* القراءة المتوازية من عدة نسخ متماثلة ضمن shard أثناء تنفيذ distributed query من دون استخدام sample key. لتمكين ذلك، اضبط `allow_experimental_parallel_reading_from_replicas = 1` و`max_parallel_replicas` على أي قيمة رقمية. يُغلق هذا [#26748](https://github.com/ClickHouse/ClickHouse/issues/26748). [#29279](https://github.com/ClickHouse/ClickHouse/pull/29279) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تنفيذ sparse serialization. يمكن أن يقلل ذلك من استهلاك مساحة disk ويحسّن أداء بعض queries للأعمدة التي تحتوي على عدد كبير من القيم الافتراضية (الصفرية). ويمكن تمكينه عبر تعيين `ratio_for_sparse_serialization`. وسيُختار sparse serialization ديناميكيًا للـ column إذا تجاوزت نسبة عدد القيم الافتراضية إلى إجمالي عدد القيم تلك العتبة. وسيُثبَّت نوع الـ serialization (الافتراضي أو sparse) لكل column في part، لكنه قد يختلف بين parts. [#22535](https://github.com/ClickHouse/ClickHouse/pull/22535) ([Anton Popov](https://github.com/CurtizJ)).
* إضافة الميزة "TABLE OVERRIDE" لتخصيص schemas لجداول MaterializedMySQL. [#32325](https://github.com/ClickHouse/ClickHouse/pull/32325) ([Stig Bakken](https://github.com/stigsb)).
* إضافة query ‏`EXPLAIN TABLE OVERRIDE`. [#32836](https://github.com/ClickHouse/ClickHouse/pull/32836) ([Stig Bakken](https://github.com/stigsb)).
* دعم clause ‏TABLE OVERRIDE في MaterializedPostgreSQL. RFC: [#31480](https://github.com/ClickHouse/ClickHouse/issues/31480). [#32749](https://github.com/ClickHouse/ClickHouse/pull/32749) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تغيير ZooKeeper path لعلامات zero-copy الخاصة بـ shared data. لاحظ أن "zero-copy replication" ميزة غير production (ولا تزال في المراحل المبكرة من development)، لذا لا يُنصح باستخدامها أصلًا. ولكن إذا كنت قد استخدمتها، فضع هذا التغيير في الحسبان. [#32061](https://github.com/ClickHouse/ClickHouse/pull/32061) ([ianton-ru](https://github.com/ianton-ru)).
* دعم clause ‏Events في استعلام watch الخاص بـ WINDOW VIEW. [#32607](https://github.com/ClickHouse/ClickHouse/pull/32607) ([vxider](https://github.com/Vxider)).
* إصلاح ACL مع hash رقمي صريح في `clickhouse-keeper`: أصبح السلوك الآن متسقًا مع ZooKeeper، وبات الـ digest المُولَّد مقبولًا دائمًا. [#33249](https://github.com/ClickHouse/ClickHouse/pull/33249) ([小路](https://github.com/nicelulu)). [#33246](https://github.com/ClickHouse/ClickHouse/pull/33246).
* إصلاح إزالة projection غير المتوقعة عند detach للـ parts. [#32067](https://github.com/ClickHouse/ClickHouse/pull/32067) ([Amos Bird](https://github.com/amosbird)).

<div id="improvement-3">
  #### تحسين
</div>

* أصبحت دوال تحويل التاريخ والوقت التي تُنتج وقتًا يسبق `1970-01-01 00:00:00` تُشبَع الآن إلى الصفر بدلًا من حدوث overflow. [#29953](https://github.com/ClickHouse/ClickHouse/pull/29953) ([Amos Bird](https://github.com/amosbird)). ويُصلح هذا أيضًا خطأً في تحليل الفهرس إذا كانت دالة اقتطاع التاريخ تُنتج نتيجة تسبق Unix epoch.
* اعرض دائمًا استخدام الموارد (إجمالي استخدام CPU، وإجمالي استخدام RAM، وأقصى استخدام RAM لكل مضيف) في العميل. [#33271](https://github.com/ClickHouse/ClickHouse/pull/33271) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين serialization وdeserialization للنوع `Bool`، مع التحقق من نطاق القيم. [#32984](https://github.com/ClickHouse/ClickHouse/pull/32984) ([Kruglov Pavel](https://github.com/Avogar)).
* إذا جرى تعريف setting غير صالح باستخدام الاستعلام `SET` أو باستخدام query parameters في HTTP request، فستتضمن رسالة الخطأ اقتراحات مشابهة لسلسلة setting غير الصالحة (إن وُجدت). [#32946](https://github.com/ClickHouse/ClickHouse/pull/32946) ([Antonio Andelic](https://github.com/antonio2368)).
* دعم التلميحات لأسماء settings المكتوبة بشكل خاطئ في clickhouse-client وclickhouse-local. يُغلق [#32237](https://github.com/ClickHouse/ClickHouse/issues/32237). [#32841](https://github.com/ClickHouse/ClickHouse/pull/32841) ([凌涛](https://github.com/lingtaolf)).
* السماح باستخدام virtual columns في materialized views. يُغلق [#11210](https://github.com/ClickHouse/ClickHouse/issues/11210). [#33482](https://github.com/ClickHouse/ClickHouse/pull/33482) ([OnePiece](https://github.com/zhongyuankai)).
* إضافة config لتعطيل IPv6 في clickhouse-keeper عند الحاجة. هذا يُغلق [#33381](https://github.com/ClickHouse/ClickHouse/issues/33381). [#33450](https://github.com/ClickHouse/ClickHouse/pull/33450) ([Wu Xueyang](https://github.com/wuxueyang96)).
* إضافة مزيد من المعلومات إلى `system.build_options` حول revision الحالية لـ git. [#33431](https://github.com/ClickHouse/ClickHouse/pull/33431) ([taiyang-li](https://github.com/taiyang-li)).
* `clickhouse-local`: تتبّع الذاكرة ضمن الخيار `--max_memory_usage_in_client`. [#33341](https://github.com/ClickHouse/ClickHouse/pull/33341) ([Azat Khuzhin](https://github.com/azat)).
* السماح باستخدام intervals سالبة في الدالة `intervalLengthSum`. وسيُضاف طولها أيضًا. هذا يُغلق [#33323](https://github.com/ClickHouse/ClickHouse/issues/33323). [#33335](https://github.com/ClickHouse/ClickHouse/pull/33335) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يمكن استخدام `LineAsString` كـ output format. هذا يُغلق [#30919](https://github.com/ClickHouse/ClickHouse/issues/30919). [#33331](https://github.com/ClickHouse/ClickHouse/pull/33331) ([Sergei Trifonov](https://github.com/serxa)).
* دعم `<secure/>` في configuration الخاصة بالعنقود، كصيغة بديلة عن `<secure>1</secure>`. يُغلق [#33270](https://github.com/ClickHouse/ClickHouse/issues/33270). [#33330](https://github.com/ClickHouse/ClickHouse/pull/33330) ([SuperDJY](https://github.com/cmsxbc)).
* سيؤدي الضغط على Ctrl+C مرتين إلى إنهاء `clickhouse-benchmark` فورًا من دون انتظار queries قيد التنفيذ. هذا يُغلق [#32586](https://github.com/ClickHouse/ClickHouse/issues/32586). [#33303](https://github.com/ClickHouse/ClickHouse/pull/33303) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم Unix timestamp مع Milliseconds في الدالة `parseDateTimeBestEffort`. [#33276](https://github.com/ClickHouse/ClickHouse/pull/33276) ([Ben](https://github.com/benbiti)).
* السماح بإلغاء الاستعلام أثناء قراءة البيانات من الجدول الخارجي بالتنسيقات: `Arrow` / `Parquet` / `ORC` — إذ كان يتعذر إلغاؤه في حالة الملفات الكبيرة عند ضبط `input&#95;format&#95;allow&#95;seeks` على `false`. يغلق [#29678](https://github.com/ClickHouse/ClickHouse/issues/29678). [#33238](https://github.com/ClickHouse/ClickHouse/pull/33238) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إذا كان محرك الجدول يدعم العبارة `SETTINGS`، فاسمح بتمرير الإعدادات كأزواج مفتاح-قيمة أو عبر config. أُضيف هذا الدعم إلى MySQL. [#33231](https://github.com/ClickHouse/ClickHouse/pull/33231) ([Kseniia Sumarokova](https://github.com/kssenii)).
* منع المفاتيح الأساسية من النوع Nullable بشكل صحيح عند الحاجة. هذا مرتبط بـ [#32780](https://github.com/ClickHouse/ClickHouse/issues/32780). [#33218](https://github.com/ClickHouse/ClickHouse/pull/33218) ([Amos Bird](https://github.com/amosbird)).
* إضافة retry لاتصالات `PostgreSQL` إذا لم يتم fetch لأي شيء بعد. يغلق [#33199](https://github.com/ClickHouse/ClickHouse/issues/33199). [#33209](https://github.com/ClickHouse/ClickHouse/pull/33209) ([Kseniia Sumarokova](https://github.com/kssenii)).
* التحقق من مفاتيح config الخاصة بالقواميس الخارجية. [#33095](https://github.com/ClickHouse/ClickHouse/issues/33095#issuecomment-1000577517). [#33130](https://github.com/ClickHouse/ClickHouse/pull/33130) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إرسال معلومات profile ضمن `clickhouse-local`. يغلق [#33093](https://github.com/ClickHouse/ClickHouse/issues/33093). [#33097](https://github.com/ClickHouse/ClickHouse/pull/33097) ([Kseniia Sumarokova](https://github.com/kssenii)).
* التقييم المختصر: دعم الدالة `throwIf`. يغلق [#32969](https://github.com/ClickHouse/ClickHouse/issues/32969). [#32973](https://github.com/ClickHouse/ClickHouse/pull/32973) ([Maksim Kita](https://github.com/kitaisreal)).
* (يحدث هذا فقط في الإصدارات غير الرسمية). أُصلح خطأ segfault عند إدراج البيانات في أعمدة Decimal وString وFixedString وArray المضغوطة. هذا يغلق [#32939](https://github.com/ClickHouse/ClickHouse/issues/32939). [#32940](https://github.com/ClickHouse/ClickHouse/pull/32940) ([N. Kolotov](https://github.com/nkolotov)).
* أُضيف دعم لتحديد استعلام فرعي كدالة SQL معرّفة من قبل المستخدم. مثال: `CREATE FUNCTION test AS () -> (SELECT 1)`. يغلق [#30755](https://github.com/ClickHouse/ClickHouse/issues/30755). [#32758](https://github.com/ClickHouse/ClickHouse/pull/32758) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين دعم ضغط gRPC بخصوص [#28671](https://github.com/ClickHouse/ClickHouse/issues/28671). [#32747](https://github.com/ClickHouse/ClickHouse/pull/32747) ([Vitaly Baranov](https://github.com/vitlibar)).
* تفريغ جميع data parts الموجودة في الذاكرة عند عدم تمكين WAL أثناء إيقاف الخادم أو فصل الجدول. [#32742](https://github.com/ClickHouse/ClickHouse/pull/32742) ([nauta](https://github.com/nautaa)).
* السماح بالتحكم في مهلات الاتصال لـ MySQL (كان ذلك مدعومًا سابقًا فقط لمصدر القاموس). يغلق [#16669](https://github.com/ClickHouse/ClickHouse/issues/16669). كانت قيمة `connect&#95;timeout` الافتراضية صغيرة نسبيًا، وأصبحت الآن قابلة للتهيئة. [#32734](https://github.com/ClickHouse/ClickHouse/pull/32734) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم الخيار `authSource` لتخزين `MongoDB`. يغلق [#32594](https://github.com/ClickHouse/ClickHouse/issues/32594). [#32702](https://github.com/ClickHouse/ClickHouse/pull/32702) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم النوع `Date32` في دالة الجدول `genarateRandom`. [#32643](https://github.com/ClickHouse/ClickHouse/pull/32643) ([nauta](https://github.com/nautaa)).
* إضافة الإعدادين `max_concurrent_select_queries` و`max_concurrent_insert_queries` للتحكم في الاستعلامات المتزامنة بحسب نوع الاستعلام. إغلاق [#3575](https://github.com/ClickHouse/ClickHouse/issues/3575). [#32609](https://github.com/ClickHouse/ClickHouse/pull/32609) ([SuperDJY](https://github.com/cmsxbc)).
* تحسين التعامل مع البُنى `Nested` التي تحتوي على أعمدة مفقودة عند قراءة البيانات بتنسيق `Protobuf`. متابعة لـ [https://github.com/ClickHouse/ClickHouse/pull/31988](https://github.com/ClickHouse/ClickHouse/pull/31988). [#32531](https://github.com/ClickHouse/ClickHouse/pull/32531) ([Vitaly Baranov](https://github.com/vitlibar)).
* السماح ببيانات اعتماد فارغة لمحرك `MongoDB`. إغلاق [#26267](https://github.com/ClickHouse/ClickHouse/issues/26267). [#32460](https://github.com/ClickHouse/ClickHouse/pull/32460) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تعطيل بعض التحسينات الخاصة بدوال النوافذ التي قد تؤدي إلى استثناءات. إغلاق [#31535](https://github.com/ClickHouse/ClickHouse/issues/31535). إغلاق [#31620](https://github.com/ClickHouse/ClickHouse/issues/31620). [#32453](https://github.com/ClickHouse/ClickHouse/pull/32453) ([Kseniia Sumarokova](https://github.com/kssenii)).
* يتيح الاتصال بـ MongoDB 5.0. إغلاق [#31483](https://github.com/ClickHouse/ClickHouse/issues/31483),. [#32416](https://github.com/ClickHouse/ClickHouse/pull/32416) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تمكين المقارنة بين `Decimal` و`Float`. إغلاق [#22626](https://github.com/ClickHouse/ClickHouse/issues/22626). [#31966](https://github.com/ClickHouse/ClickHouse/pull/31966) ([flynn](https://github.com/ucasFL)).
* تمت إضافة الإعدادات `command_read_timeout` و`command_write_timeout` لكل من `StorageExecutable` و`StorageExecutablePool` و`ExecutableDictionary` و`ExecutablePoolDictionary` و`ExecutableUserDefinedFunctions`. يتحكم الإعداد `command_read_timeout` في مهلة قراءة البيانات من `stdout` الخاص بالأمر بالمللي ثانية. ويتحكم الإعداد `command_write_timeout` في مهلة كتابة البيانات إلى `stdin` الخاص بالأمر بالمللي ثانية. كما تمت إضافة الإعداد `command_termination_timeout` لكل من `ExecutableUserDefinedFunction` و`ExecutableDictionary` و`StorageExecutable`. وتمت إضافة الإعداد `execute_direct` إلى `ExecutableUserDefinedFunction`، وتكون قيمته `true` افتراضيًا. وتمت إضافة الإعداد `execute_direct` إلى `ExecutableDictionary` و`ExecutablePoolDictionary`، وتكون قيمته `false` افتراضيًا. [#30957](https://github.com/ClickHouse/ClickHouse/pull/30957) ([Maksim Kita](https://github.com/kitaisreal)).
* ستُرجع الدوال التجميعية `Bitmap` النتيجة الصحيحة عند تمرير وسيط خارج النطاق بدلًا من الالتفاف. [#33127](https://github.com/ClickHouse/ClickHouse/pull/33127) ([DR](https://github.com/freedomDR)).
* إصلاح تحليل الاستعلامات غير الصحيحة مع عبارة `FROM INFILE`. [#33521](https://github.com/ClickHouse/ClickHouse/pull/33521) ([Kruglov Pavel](https://github.com/Avogar)).
* عدم السماح بالكتابة إلى `S3` إذا كان المسار يحتوي على globs. [#33142](https://github.com/ClickHouse/ClickHouse/pull/33142) ([Kruglov Pavel](https://github.com/Avogar)).
* لم يكن الخيار `--echo` مستخدمًا بواسطة `clickhouse-client` في وضع الدُفعات مع استعلام واحد. [#32843](https://github.com/ClickHouse/ClickHouse/pull/32843) ([N. Kolotov](https://github.com/nkolotov)).
* استخدام الخيار `--database` مع clickhouse-local. [#32797](https://github.com/ClickHouse/ClickHouse/pull/32797) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح شيفرة سيئة على نحو مفاجئ في دالة SQL العادية `file`. وهي الآن تدعم الروابط الرمزية. [#32640](https://github.com/ClickHouse/ClickHouse/pull/32640) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحديث `modification_time` لجزء البيانات في `system.parts` بعد نقل الجزء [#32964](https://github.com/ClickHouse/ClickHouse/issues/32964). [#32965](https://github.com/ClickHouse/ClickHouse/pull/32965) ([save-my-heart](https://github.com/save-my-heart)).
* مشكلة محتملة، لكن لا يمكن استغلالها: قد يحدث تجاوز عددي عند تغيير حجم المصفوفة. [#33024](https://github.com/ClickHouse/ClickHouse/pull/33024) ([varadarajkumar](https://github.com/varadarajkumar)).

<div id="buildtestingpackaging-improvement-9">
  #### تحسينات البناء/الاختبار/الحزم
</div>

* إضافة حزم واختبارات وظيفية ونسخ Docker مبنية لإصدار ClickHouse بمعمارية AArch64 ‏(ARM). [#32911](https://github.com/ClickHouse/ClickHouse/pull/32911) ([Mikhail f. Shiryaev](https://github.com/Felixoid)). [#32415](https://github.com/ClickHouse/ClickHouse/pull/32415)
* تهيئة ClickHouse لكي يُبنى باستخدام musl-libc. وهو غير مفعّل افتراضيًا. [#33134](https://github.com/ClickHouse/ClickHouse/pull/33134) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* جعل برنامج التثبيت النصي يعمل على FreeBSD. هذا يُغلق [#33384](https://github.com/ClickHouse/ClickHouse/issues/33384). [#33418](https://github.com/ClickHouse/ClickHouse/pull/33418) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة `actionlint` لسير عمل GitHub Actions، والتحقق من ملفات سير العمل عبر `act --list` لفحص صحة صياغة سير العمل. [#33612](https://github.com/ClickHouse/ClickHouse/pull/33612) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إضافة المزيد من الاختبارات لميزة المفتاح الأساسي القابل لأن يكون NULL. وإضافة المزيد من الاختبارات مع أنواع مختلفة وأنواع مختلفة من merge tree، إلى جانب بيانات مُولَّدة عشوائيًا. [#33228](https://github.com/ClickHouse/ClickHouse/pull/33228) ([Amos Bird](https://github.com/amosbird)).
* إضافة أداة بسيطة لعرض الاختبارات غير المستقرة بصريًا في متصفح الويب. [#33185](https://github.com/ClickHouse/ClickHouse/pull/33185) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تمكين البناء المحكم للإصدارات المشتركة. وهذا مخصص أساسًا للمطورين. [#32968](https://github.com/ClickHouse/ClickHouse/pull/32968) ([Amos Bird](https://github.com/amosbird)).
* تحديث `libc++` و `libc++abi` إلى أحدث إصدار. [#32484](https://github.com/ClickHouse/ClickHouse/pull/32484) ([Raúl Marín](https://github.com/Algunenano)).
* إضافة اختبار تكامل لعميل .NET خارجي ([ClickHouse.Client](https://github.com/DarkWanderer/ClickHouse.Client)). [#23230](https://github.com/ClickHouse/ClickHouse/pull/23230) ([Oleg V. Kozlyuk](https://github.com/DarkWanderer)).
* تضمين معلومات git في الملف التنفيذي clickhouse. وبذلك يمكن الحصول بسهولة على مراجعة الشفرة المصدرية من الملف التنفيذي clickhouse. [#33124](https://github.com/ClickHouse/ClickHouse/pull/33124) ([taiyang-li](https://github.com/taiyang-li)).
* إزالة الشفرة المتقادمة من ConfigProcessor. لم تعد الشفرة الخاصة بـ Yandex مستخدمة. وقد احتوت هذه الشفرة على عيب طفيف. أبلغ عن هذا العيب [Mallik Hassan](https://github.com/SadiHassan) في [#33032](https://github.com/ClickHouse/ClickHouse/issues/33032). هذا يُغلق [#33032](https://github.com/ClickHouse/ClickHouse/issues/33032). [#33026](https://github.com/ClickHouse/ClickHouse/pull/33026) ([alexey-milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release-4">
  #### إصلاح خطأ (سلوك غير صحيح يمكن للمستخدم ملاحظته في إصدار رسمي مستقر أو ما قبل المستقر)
</div>

* عدة إصلاحات لتحليل التنسيقات. وهذا مهم إذا كان `clickhouse-server` مفتوحًا لوصول كتابة من جهة معادية. فقد تؤدي بيانات إدخال مُعدّة خصيصًا لتنسيق `Native` إلى قراءة ذاكرة غير مهيأة أو إلى تعطل. وهذا مهم إذا كان `clickhouse-server` مفتوحًا لوصول كتابة من جهة معادية. [#33050](https://github.com/ClickHouse/ClickHouse/pull/33050) ([Heena Bansal](https://github.com/HeenaBansal2009)). كما أُصلحت مشكلة تجاوز حدود فهرس نوع Union في Apache Avro ضمن التنسيق الثنائي لـ Apache Avro. [#33022](https://github.com/ClickHouse/ClickHouse/pull/33022) ([Harry Lee](https://github.com/HarryLeeIBM)). وأُصلح إلغاء مرجعية مؤشر NULL في بيانات `LowCardinality` عند إلغاء تسلسل بيانات `LowCardinality` في التنسيق Native. [#33021](https://github.com/ClickHouse/ClickHouse/pull/33021) ([Harry Lee](https://github.com/HarryLeeIBM)).
* سيزيل handler الخاص بـ ClickHouse Keeper العملية بشكل صحيح عند إرسال الاستجابة. [#32988](https://github.com/ClickHouse/ClickHouse/pull/32988) ([JackyWoo](https://github.com/JackyWoo)).
* احتمال حدوث خطأ حسابي بمقدار واحد في quotas: لم يكن قد تم بلوغ حد quota، لكن جرى تجاوز الحد. يُصلح هذا [#31174](https://github.com/ClickHouse/ClickHouse/issues/31174). [#31656](https://github.com/ClickHouse/ClickHouse/pull/31656) ([sunny](https://github.com/sunny19930321)).
* تم إصلاح CAST من String إلى IPv4 أو IPv6 ثم العودة. كما تم إصلاح رسالة الخطأ في حالة فشل التحويل. [#29224](https://github.com/ClickHouse/ClickHouse/pull/29224) ([Dmitry Novik](https://github.com/novikd)) [#27914](https://github.com/ClickHouse/ClickHouse/pull/27914) ([Vasily Nemkov](https://github.com/Enmk)).
* تم إصلاح استثناء مثل `Unknown aggregate function nothing` أثناء التنفيذ على server بعيد. يُصلح هذا [#16689](https://github.com/ClickHouse/ClickHouse/issues/16689). [#26074](https://github.com/ClickHouse/ClickHouse/pull/26074) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح database غير الصحيحة في JOIN من دون database صريحة في distributed queries (إصلاح: [#10471](https://github.com/ClickHouse/ClickHouse/issues/10471)). [#33611](https://github.com/ClickHouse/ClickHouse/pull/33611) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح segfault في تنسيق Apache `Avro` الذي يظهر بعد عملية insert الثانية إلى file. [#33566](https://github.com/ClickHouse/ClickHouse/pull/33566) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح segfault في تنسيق Apache `Arrow` إذا كان schema يحتوي على النوع `Dictionary`. يُغلق [#33507](https://github.com/ClickHouse/ClickHouse/issues/33507). [#33529](https://github.com/ClickHouse/ClickHouse/pull/33529) ([Kruglov Pavel](https://github.com/Avogar)).
* قد تُطبَّق إعدادات `offset` و`limit` خارج النطاق بشكل غير صحيح على views. إغلاق [#33289](https://github.com/ClickHouse/ClickHouse/issues/33289) [#33518](https://github.com/ClickHouse/ClickHouse/pull/33518) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح الاستثناء `Block structure mismatch` الذي قد يحدث أثناء Insertion إلى table مع column `LowCardinality` nested افتراضي. إصلاح [#33028](https://github.com/ClickHouse/ClickHouse/issues/33028). [#33504](https://github.com/ClickHouse/ClickHouse/pull/33504) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح dictionary expressions لسمات الحد الأدنى والحد الأقصى للنطاق في `range_hashed` عند إنشائها باستخدام DDL. يُغلق [#30809](https://github.com/ClickHouse/ClickHouse/issues/30809). [#33478](https://github.com/ClickHouse/ClickHouse/pull/33478) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح احتمال use-after-free في INSERT إلى materialized view مع DROP متزامن ([Azat Khuzhin](https://github.com/azat)).
* لا تحاول القراءة بعد EOF (كحلّ بديل لخلل في نواة Linux)؛ إذ يمكن إعادة إنتاج هذا الخلل على النوى (3.14..5.9)، ويتطلب `index_granularity_bytes=0` (أي تعطيل index granularity التكيفية). [#33372](https://github.com/ClickHouse/ClickHouse/pull/33372) ([Azat Khuzhin](https://github.com/azat)).
* كانت الأوامر `SYSTEM SUSPEND` و`SYSTEM ... THREAD FUZZER` تفتقر إلى التحكم في الوصول. تم إصلاح ذلك. المؤلف: Kevin Michel. [#33333](https://github.com/ClickHouse/ClickHouse/pull/33333) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح مشكلة عدم ظهور `COMMENT` الخاصة بالقواميس في `system.tables` و`system.dictionaries`. كما أصبح تعديل التعليق لمحرك `Dictionary` مسموحًا. يغلق [#33251](https://github.com/ClickHouse/ClickHouse/issues/33251). [#33261](https://github.com/ClickHouse/ClickHouse/pull/33261) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة عمليات الإدراج غير المتزامنة، مع تمكين الإعداد `async_insert`، إلى سجل الاستعلامات. في السابق، لم تكن مثل هذه الاستعلامات تظهر في سجل الاستعلامات. [#33239](https://github.com/ClickHouse/ClickHouse/pull/33239) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح مشكلة إرسال تعبيرات `WHERE 1 = 0` في استعلامات قواعد البيانات الخارجية. يغلق [#33152](https://github.com/ClickHouse/ClickHouse/issues/33152). [#33214](https://github.com/ClickHouse/ClickHouse/pull/33214) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح التحقق من صحة DDL لـ MaterializedPostgreSQL. وإصلاح الإعداد `materialized_postgresql_allow_automatic_update`. يغلق [#29535](https://github.com/ClickHouse/ClickHouse/issues/29535). [#33200](https://github.com/ClickHouse/ClickHouse/pull/33200) ([Kseniia Sumarokova](https://github.com/kssenii)). التأكد من إزالة فتحات النسخ المتماثل غير المستخدمة دائمًا. وُجد في [#26952](https://github.com/ClickHouse/ClickHouse/issues/26952). [#33187](https://github.com/ClickHouse/ClickHouse/pull/33187) ([Kseniia Sumarokova](https://github.com/kssenii)). إصلاح عمليات detach/attach في MaterializedPostreSQL (إزالة الجداول من النسخ المتماثل / إضافتها إليه) للجداول ذات المخطط غير الافتراضي. وُجد في [#29535](https://github.com/ClickHouse/ClickHouse/issues/29535). [#33179](https://github.com/ClickHouse/ClickHouse/pull/33179) ([Kseniia Sumarokova](https://github.com/kssenii)). إصلاح DROP لقاعدة بيانات MaterializedPostgreSQL. [#33468](https://github.com/ClickHouse/ClickHouse/pull/33468) ([Kseniia Sumarokova](https://github.com/kssenii)).
* كان المقياس `StorageBufferBytes` يُحتسب بشكل غير صحيح أحيانًا. [#33159](https://github.com/ClickHouse/ClickHouse/pull/33159) ([xuyatian](https://github.com/xuyatian)).
* إصلاح الخطأ `Invalid version for SerializationLowCardinality key column` عند القراءة من عمود `LowCardinality` مع تمكين `local_filesystem_read_prefetch` أو `remote_filesystem_read_prefetch`. [#33046](https://github.com/ClickHouse/ClickHouse/pull/33046) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح مشكلة قراءة ملف فارغ عبر table function ‏`s3`. يغلق [#33008](https://github.com/ClickHouse/ClickHouse/issues/33008). [#33037](https://github.com/ClickHouse/ClickHouse/pull/33037) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح تسرّب Context في حالة cancel\_http\_readonly\_queries\_on\_client\_close (أي تسرّب الجداول الخارجية التي رُفعت إلى الخادم وموارد أخرى). [#32982](https://github.com/ClickHouse/ClickHouse/pull/32982) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح إخراج `Tuple` الخاطئ في تنسيق `CSV` عند استخدام فاصل CSV مخصص. [#32981](https://github.com/ClickHouse/ClickHouse/pull/32981) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح التحقق من عنوان URL لـ HDFS الذي لم يكن يسمح باستخدام عنوان `namenode` عالي التوافر (HA). أُدخل هذا الخلل في [https://github.com/ClickHouse/ClickHouse/pull/31042](https://github.com/ClickHouse/ClickHouse/pull/31042). [#32976](https://github.com/ClickHouse/ClickHouse/pull/32976) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح إطلاق استثناء من نوع `positional argument out of bounds` مع الوسيطات غير الموضعية. يُغلق [#31173](https://github.com/ClickHouse/ClickHouse/issues/31173)#event-5789668239. [#32961](https://github.com/ClickHouse/ClickHouse/pull/32961) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح سلوك غير معرّف (UB) عند حدوث `EOF` غير متوقع أثناء ملء مجموعة من استعلام HTTP (أي إذا قاطع العميل العملية في المنتصف، مثل `timeout 0.15s curl -Ss -F 's=@t.csv;' 'http://127.0.0.1:8123/?s_structure=key+Int&query=SELECT+dummy+IN+s'` ومع `t.csv` كبيرًا بما يكفي). [#32955](https://github.com/ClickHouse/ClickHouse/pull/32955) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تراجع في الدالة `replaceRegexpAll`. كانت الدالة تعمل بشكل غير صحيح عندما تكون السلسلة الفرعية المطابِقة فارغة. يُغلق هذا [#32777](https://github.com/ClickHouse/ClickHouse/issues/32777). ويُغلق أيضًا [#30245](https://github.com/ClickHouse/ClickHouse/issues/30245). [#32945](https://github.com/ClickHouse/ClickHouse/pull/32945) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح قراءة `stripe` في تنسيق `ORC`. [#32929](https://github.com/ClickHouse/ClickHouse/pull/32929) ([kreuzerkrieg](https://github.com/kreuzerkrieg)).
* فشلت `topKWeightedState` مع بعض أنواع الإدخال. [#32487](https://github.com/ClickHouse/ClickHouse/issues/32487). [#32914](https://github.com/ClickHouse/ClickHouse/pull/32914) ([vdimir](https://github.com/vdimir)).
* إصلاح الاستثناء `Single chunk is expected from view inner query (LOGICAL_ERROR)` في materialized view. يُصلح [#31419](https://github.com/ClickHouse/ClickHouse/issues/31419). [#32862](https://github.com/ClickHouse/ClickHouse/pull/32862) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح التحسين المرتبط بـ `lazy seek` في القراءات غير المتزامنة من أنظمة الملفات البعيدة. يُغلق [#32803](https://github.com/ClickHouse/ClickHouse/issues/32803). [#32835](https://github.com/ClickHouse/ClickHouse/pull/32835) ([Kseniia Sumarokova](https://github.com/kssenii)).
* قد يتخطى محرك الجدول `MergeTree` بعض عمليات `mutation` بصمت إذا كان هناك عدد كبير جدًا من عمليات `mutation` الجارية أو عند ارتفاع استهلاك الذاكرة، وقد أُصلح ذلك. يُصلح [#17882](https://github.com/ClickHouse/ClickHouse/issues/17882). [#32814](https://github.com/ClickHouse/ClickHouse/pull/32814) ([tavplubix](https://github.com/tavplubix)).
* تجنب إعادة استخدام `query cache` الخاصة بالاستعلامات الفرعية scalar عند معالجة كتل MV. يُصلح هذا خللًا يحدث عندما يشير الاستعلام scalar إلى الجدول المصدر، لكن هذا يعني أيضًا أن جميع الاستعلامات الفرعية scalar في تعريف MV ستُحسب لكل كتلة. [#32811](https://github.com/ClickHouse/ClickHouse/pull/32811) ([Raúl Marín](https://github.com/Algunenano)).
* قد يفشل server في البدء إذا تعذر على database تستخدم المحرك `MySQL` الاتصال بـ MySQL server، وقد أُصلح ذلك. يُصلح [#14441](https://github.com/ClickHouse/ClickHouse/issues/14441). [#32802](https://github.com/ClickHouse/ClickHouse/pull/32802) ([tavplubix](https://github.com/tavplubix)).
* إصلاح تعطل عند استخدام الدالة `fuzzBits`، وإغلاق [#32737](https://github.com/ClickHouse/ClickHouse/issues/32737). [#32755](https://github.com/ClickHouse/ClickHouse/pull/32755) ([SuperDJY](https://github.com/cmsxbc)).
* إصلاح الخطأ `Column is not under aggregate function` في حالة وجود MV مع `GROUP BY (list of columns)` (التي تُحلَّل على أنها `GROUP BY tuple(...)`) فوق `Kafka`/`RabbitMQ`. يُصلح [#32668](https://github.com/ClickHouse/ClickHouse/issues/32668) و[#32744](https://github.com/ClickHouse/ClickHouse/issues/32744). [#32751](https://github.com/ClickHouse/ClickHouse/pull/32751) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح الاستعلام `ALTER TABLE ... MATERIALIZE TTL` مع نمطي `TTL ... DELETE WHERE ...` و`TTL ... GROUP BY ...`. [#32695](https://github.com/ClickHouse/ClickHouse/pull/32695) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح تحسين `optimize_read_in_order` في الحالة التي يكون فيها محرك الجدول `Distributed` أو `Merge`، وكانت جداول `MergeTree` الأساسية التابعة له تحتوي على دالة رتيبة في بادئة مفتاح الفرز. [#32670](https://github.com/ClickHouse/ClickHouse/pull/32670) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح استثناء LOGICAL\_ERROR عندما يكون هدف materialized view عبارة عن جدول JOIN أو SET. [#32669](https://github.com/ClickHouse/ClickHouse/pull/32669) ([Raúl Marín](https://github.com/Algunenano)).
* قد يؤدي الإدراج في S3 باستخدام multipart upload إلى Google Cloud Storage إلى تشغيل عملية الإلغاء. [#32504](https://github.com/ClickHouse/ClickHouse/issues/32504). [#32649](https://github.com/ClickHouse/ClickHouse/pull/32649) ([vdimir](https://github.com/vdimir)).
* إصلاح استثناء محتمل عند بدء تشغيل تخزين `RabbitMQ` عبر تأخير إنشاء القناة. [#32584](https://github.com/ClickHouse/ClickHouse/pull/32584) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح دورة حياة الجدول (أي احتمال use-after-free) في حالة تنفيذ DROP TABLE وINSERT بالتوازي. [#32572](https://github.com/ClickHouse/ClickHouse/pull/32572) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح async inserts مع التنسيقات `CustomSeparated` و`Template` و`Regexp` و`MsgPack` و`JSONAsString`. سابقًا، لم تكن async inserts مع هذه التنسيقات تقرأ أي بيانات. [#32530](https://github.com/ClickHouse/ClickHouse/pull/32530) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الدالة `groupBitmapAnd` على distributed table. [#32529](https://github.com/ClickHouse/ClickHouse/pull/32529) ([minhthucdao](https://github.com/dmthuc)).
* إصلاح تعطل في JOIN اكتشفه fuzzer، وإغلاق [#32458](https://github.com/ClickHouse/ClickHouse/issues/32458). [#32508](https://github.com/ClickHouse/ClickHouse/pull/32508) ([vdimir](https://github.com/vdimir)).
* معالجة صحيحة لحالة تكرار column في Apache Arrow. [#32507](https://github.com/ClickHouse/ClickHouse/pull/32507) ([Dmitriy Mokhnatkin](https://github.com/DMokhnatkin)).
* إصلاح مشكلة تتعلق بـ formatting ملتبس للاستعلامات في distributed queries، وكانت تؤدي إلى أخطاء عندما تكون بعض columns الجدول مُسمّاة `ALL` أو `DISTINCT`. هذا يُغلق [#32391](https://github.com/ClickHouse/ClickHouse/issues/32391). [#32490](https://github.com/ClickHouse/ClickHouse/pull/32490) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح حالات فشل في queries تحاول استخدام skipping indices التي لم تتم materialize لها بعد. يُصلح [#32292](https://github.com/ClickHouse/ClickHouse/issues/32292) و[#30343](https://github.com/ClickHouse/ClickHouse/issues/30343). [#32359](https://github.com/ClickHouse/ClickHouse/pull/32359) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح خلل في استعلام `SELECT` عند وجود أكثر من سياستَي صفوف على العمود نفسه، ابتداءً من الاستعلام الثاني ضمن الجلسة نفسها. [#31606](https://github.com/ClickHouse/ClickHouse/issues/31606). [#32291](https://github.com/ClickHouse/ClickHouse/pull/32291) ([SuperDJY](https://github.com/cmsxbc)).
* إصلاح تحويل طابع Unix الزمني الكسري إلى `DateTime64`، إذ كان الجزء الكسري معكوسًا في طوابع Unix الزمنية السالبة (قبل 1970-01-01). [#32240](https://github.com/ClickHouse/ClickHouse/pull/32240) ([Ben](https://github.com/benbiti)).
* قد تبقى بعض عناصر قائمة انتظار النسخ المتماثل عالقة لمدة `temporary_directories_lifetime` (يوم واحد افتراضيًا) مع الخطأ `Directory tmp_merge_<part_name>` أو `Part ... (state Deleting) already exists, but it will be deleted soon` أو خطأ مشابه. تم إصلاح ذلك. يُصلح [#29616](https://github.com/ClickHouse/ClickHouse/issues/29616). [#32201](https://github.com/ClickHouse/ClickHouse/pull/32201) ([tavplubix](https://github.com/tavplubix)).
* إصلاح تحليل مُحوِّل العمود `APPLY lambda` الذي كان قد يؤدي إلى تعطل العميل أو الخادم. [#32138](https://github.com/ClickHouse/ClickHouse/pull/32138) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح `base64Encode` الذي كان يضيف بايتات زائدة في نهاية السلاسل الصغيرة. [#31797](https://github.com/ClickHouse/ClickHouse/pull/31797) ([Kevin Michel](https://github.com/kmichel-aiven)).
* إصلاح تعطل محتمل (أو نتيجة غير صحيحة) عند استخدام وسائط من `LowCardinality` مع دالة نافذة. يُصلح [#31114](https://github.com/ClickHouse/ClickHouse/issues/31114). [#31888](https://github.com/ClickHouse/ClickHouse/pull/31888) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح تعليق عند تنفيذ الأمر `DROP TABLE system.query_log sync`. [#33293](https://github.com/ClickHouse/ClickHouse/pull/33293) ([zhanghuajie](https://github.com/zhanghuajieHIT)).

<div id="changelog-for-2021">
  ## [سجل التغييرات لعام 2021](/ar/resources/changelogs/oss/2021)
</div>
