الانتقال إلى المحتوى الرئيسي

تغيير غير متوافق مع الإصدارات السابقة

  • تقبل الدالة geoToH3() الآن الإدخال بالترتيب (lat, lon,res) (وهو الترتيب القياسي للدوال الهندسية). ويمكن للمستخدمين الذين يرغبون في الاحتفاظ بالترتيب القديم (lon, lat,res) ضبط الإعداد geotoh3_lon_lat_input_order = true. #78852 (Pratima Patel).
  • أُعيدت تسمية الفهارس من النوع full_text إلى gin. وهذا يتبع المصطلحات الأكثر شيوعًا في PostgreSQL وقواعد البيانات الأخرى. ولا يزال بالإمكان تحميل الفهارس الحالية من النوع full_text، لكنها ستُطلق استثناءً (مع اقتراح استخدام فهارس gin بدلًا منها) عند محاولة استخدامها في عمليات البحث. #79024 (Robert Schulze).
  • أُضيف إعداد لذاكرة التخزين المؤقت لنظام الملفات allow_dynamic_cache_resize، وقيمته الافتراضية false، للسماح بتغيير حجم ذاكرة التخزين المؤقت لنظام الملفات ديناميكيًا. السبب: في بعض البيئات (ClickHouse Cloud) تحدث جميع أحداث scaling عبر إعادة تشغيل العملية، ونرغب في أن تكون هذه الميزة معطّلة صراحةً لمزيد من التحكم في السلوك + وكإجراء احترازي. وُسِم طلب السحب هذا بأنه غير متوافق مع الإصدارات السابقة، لأنه في الإصدارات الأقدم كان تغيير حجم ذاكرة التخزين المؤقت ديناميكيًا يعمل افتراضيًا من دون إعداد خاص. #79148 (Kseniia Sumarokova).
  • أُزيل دعم أنواع الفهارس القديمة annoy وusearch. وقد ظل كلاهما مجرد عناصر صورية منذ وقت طويل، أي إن كل محاولة لاستخدام هذه الفهارس القديمة كانت تُرجع خطأً على أي حال. إذا كانت لا تزال لديك فهارس annoy وusearch، فيُرجى حذفها. #79802 (Robert Schulze). #* إزالة إعداد الخادم format_alter_commands_with_parentheses. أُضيف هذا الإعداد وكان معطّلًا افتراضيًا في 24.2. ثم فُعِّل افتراضيًا في 25.2. ونظرًا لعدم وجود أي إصدارات LTS لا تدعم التنسيق الجديد، يمكننا إزالة هذا الإعداد. #79970 (János Benjamin Antal). #* ملاحظة طفيفة: فرض أن تكون إعدادات الخادم backup_threads وrestore_threads غير صفرية. #80224 (Raúl Marín).
  • إصلاح bitNot() بحيث يُرجع، عند استخدامه مع String، سلسلة نصية منتهية بمحرف صفري. #80791 (Azat Khuzhin).

ميزة جديدة

  • أُضيف خيار جديد إلى SETTINGS في MergeTree يحدّد compression codec افتراضيًا إذا لم يحدّد استعلام CREATE واحدًا صراحةً للأعمدة المعنية. يُغلق هذا #42005. #66394 (gvoelfin).
  • متابعة لـ https://github.com/ClickHouse/ClickHouse/pull/71943. يقدّم طلب السحب هذا أنواع البيانات Time/Time64. ويضيف أنواع بيانات جديدة: Time ‏(HHH:MM:SS) وTime64 ‏(HHH:MM:SS.<fractional>)، إلى جانب بعض دوال cast الأساسية ودوال للتعامل مع أنواع بيانات أخرى. كما جرى تغيير اسم الدالة الحالية toTime إلى toTimeWithFixedDate لأن الدالة toTime مطلوبة لدالة cast. #75735 (Yarik Briukhovetskyi).
  • دعم الاستعلامات الفرعية المترابطة كوسيط في تعبير EXISTS ضمن clause WHERE. يُغلق هذا #72459. #76078 (Dmitry Novik).
  • السماح بالكتابة إلى table engines من نوع Merge. #77484 (Anton Ivashkin).
  • يستخدم INSERT SELECT الموزّع لجداول MergeTree المُكرّرة الآن parallel replicas بكفاءة لموازاة عمليات INSERT، وذلك عبر تحديد بيانات مختلفة على عقد مختلفة وإدراجها بشكل مستقل. #78041 (Igor Nikonov).
  • إضافة الدوال mapContainsValuesLike/mapContainsValues/mapExtractValuesLike للتصفية حسب values في map، مع دعمها في indexes المعتمدة على bloomfilter. #78171 (UnamedRus).
  • إضافة الجدول system.iceberg_history. #78244 (Smita Kulkarni).
  • أُضيفت جدولة خانات query لأجل workloads، راجع https://clickhouse.com/docs/operations/workload-scheduling#query&#95;scheduling للتفاصيل. #78415 (Sergei Trifonov).
  • إضافة الدالتين getServerSetting وgetMergeTreeSetting. يُغلق هذا https://github.com/clickhouse/clickhouse/issues/78318. #78439 (NamNguyenHoai).
  • دعم values غير المسموح بها ضمن constraints الخاصة بالإعدادات. #78499 (Bharat Nallan).
  • إضافة setting جديد iceberg_enable_version_hint للاستفادة من ملف version-hint.text. #78594 (Arnaud Briche).
  • يوفّر إمكانية تنفيذ truncate لجداول محددة من database، مع التصفية باستخدام الكلمة المفتاحية LIKE. #78597 (Yarik Briukhovetskyi).
  • يستخدم clickhouse-local (واسمه alias المختصر ch) الآن FROM table ضمنيًا عند وجود بيانات إدخال قيد processing. يُغلق هذا #65023. كما جرى أيضًا تمكين infer للتنسيق في clickhouse-local إذا لم يُحدَّد --input-format وكان يعالج ملفًا عاديًا. #79085 (Alexey Milovidov).
  • إضافة الدالتين icebergHash وicebergBucketTransform. ودعم استبعاد ملفات البيانات في جداول Iceberg المُقسّمة باستخدام bucket transfom. #79262 (Daniil Ivanik).
  • إضافة دعم لـ Coalescing Merge Tree. هذا يُغلق #78869. #79344 (Konstantin Vedernikov).
  • إضافة الدالتين stringBytesUniq وstringBytesEntropy للبحث عن البيانات التي قد تكون عشوائية أو مشفّرة. #79350 (Sachin Kumar Singh).
  • دعم العمود الافتراضي _part_starting_offset في جداول MergeTree-family. يمثّل هذا العمود العدد التراكمي للصفوف في جميع الأجزاء السابقة، ويُحتسب وقت الاستعلام استنادًا إلى قائمة الأجزاء الحالية. وتُحتفَظ بالقيم التراكمية طوال تنفيذ الاستعلام، وتظل فعّالة حتى بعد استبعاد الأجزاء. وقد أُعيدت هيكلة المنطق الداخلي ذي الصلة لدعم هذا السلوك. #79417 (Amos Bird).
  • إضافة إعداد enable_shared_storage_snapshot_in_query لتمكين مشاركة لقطة التخزين نفسها عبر جميع الاستعلامات الفرعية ضمن استعلام واحد. وهذا يضمن قراءات متّسقة من الجدول نفسه، حتى عند الإشارة إلى الجدول عدة مرات داخل الاستعلام. #79471 (Amos Bird).
  • دعم كتابة أعمدة JSON في CH إلى Parquet، وقراءة أعمدة JSON في Parquet مباشرةً كأعمدة JSON في CH. #79649 (Nihal Z. Miaji).
  • تضمين chdig — واجهة TUI لـ ClickHouse (مشابهة لـ top) — كجزء من ClickHouse. #79666 (Azat Khuzhin).
  • إضافة دعم MultiPolygon إلى pointInPolygon. #79773 (Nihal Z. Miaji).
  • دعم GeoParquet. هذا يُغلق #75317. #79777 (Konstantin Vedernikov).
  • إضافة دعم الاستعلام عن جداول Delta المثبّتة على نظام الملفات المحلي عبر table function deltaLakeLocal. #79781 (roykim98).
  • إضافة وظيفة ترميز/فك ترميز base32. #79809 (Joanna Hulboj).
  • يدعم البحث المتجهي في ClickHouse الآن كلاً من pre-filtering وpost-filtering، ويوفّر إعدادات ذات صلة لمزيد من التحكم الدقيق. (المشكلة #78161). #79854 (Shankar Iyer).
  • دعم دوال لقراءة تنسيق WKB. هذا يُغلق جزئيًا #43941. #80139 (Konstantin Vedernikov).
  • إضافة إعداد جديد cast_string_to_date_time_mode يتيح اختيار وضع تحليل DateTime أثناء التحويل من String. #80210 (Pavel Kruglov).
  • تمت إضافة دوال ترميز وفك ترميز Bech32 وBech32m (issue #40381). #80239 (George Larionov).
  • دعم إعداد disk لمحركي قواعد البيانات Atomic وOrdinary، مع تحديد القرص الذي تُخزَّن عليه ملفات البيانات الوصفية للجدول. #80546 (Tuan Pham Anh).
  • دعم دوال فكّ حزم أجزاء MergeTree ومقارنتها. #80573 (Mikhail Artemenko).
  • دوال المساعدة timeSeries* لتسريع بعض السيناريوهات عند العمل مع بيانات السلاسل الزمنية: - إعادة أخذ عينات من البيانات على شبكة زمنية مع تحديد timestamp للبداية وtimestamp للنهاية وstep - حساب delta وrate وidelta وirate الشبيهة بـ PromQL. #80590 (Alexander Gololobov).
  • إتاحة تصفية الأجزاء المحددة للاستعلام عنها بحسب القرص الموجودة عليه. #80650 (tanner-bruce).
  • إضافة صفحة رئيسية تتضمن قائمة بأدوات الويب المضمنة. ستُفتح عند طلبها من متصفح أو user agent مشابه له. #81129 (Alexey Milovidov).
  • إتاحة تصفية قيم NULL في arrayFirst وarrayFirstIndex وarrayLast وarrayLastIndex. يُصلح #81113. #81197 (Lennard Eijsackers).

ميزة تجريبية

  • كتالوج Hive metastore لبحيرة بيانات Iceberg. #77677 (Konstantin Vedernikov).
  • تُدعَم المعلمات الصريحة من خلال أزواج المفتاح-القيمة. حاليًا، المعلمات المدعومة هي tokenizer الإلزامي، بالإضافة إلى max_rows_per_postings_list وngram_size الاختياريين. #80262 (Elmi Ahmadov).
  • أُعيدت تسمية الفهارس التجريبية من النوع gin إلى text. وتظل الفهارس الحالية من النوع gin قابلة للتحميل، لكنها ستُطلق استثناءً (مع اقتراح فهارس text بدلًا منها) عند محاولة استخدامها في البحث. #80855 (Robert Schulze).

تحسين الأداء

  • تسريع الفهارس الثانوية عبر تقييم تعبيراتها على عدة granules دفعةً واحدة. #64109 (Alexey Milovidov).
  • أُدخلت عتبة (تُضبط عبر الإعداد parallel_hash_join_threshold) للرجوع إلى خوارزمية hash عندما يكون حجم الجدول الأيمن أقل من هذه العتبة. #76185 (Nikita Taranov).
  • إن التنفيذ الحالي لـ Pipe::resize ينشئ عقدة واحدة من نوع Resize أو StrictResize عبر إدراجها في topology الخاصة بالـ pipeline، ثم تعمل هذه العقدة كمحور مركزي يصل جميع تدفقات الإدخال (عقد upstream) بمجموعة موحدة من تدفقات الإخراج (عقد downstream). ويؤدي هذا التصميم إلى تنازع على ExecutingGraph::Node::status_mutex أثناء تنفيذ graph الخاصة بالـ pipeline، خاصةً في البيئات ذات الأعداد الكبيرة من الأنوية. وعندما تتوسع pipelines إلى عشرات أو مئات streams، ينتج عن هذا التنازع ما يلي:. #77562 (Zhiguo Zhou).
  • تحسين أداء S3Queue/AzureQueue عبر السماح بتنفيذ بيانات INSERT بالتوازي (يمكن تفعيل ذلك عبر إعداد queue ‏parallel_inserts=true). سابقًا، كان S3Queue/AzureQueue لا يستطيع تنفيذ سوى الجزء الأول من الـ pipeline بالتوازي (التنزيل وparsing)، بينما كانت عمليات INSERT أحادية الخيط. كما أن عمليات INSERT تكون في الغالب عنق الزجاجة. والآن سيزداد الأداء بشكل شبه خطي مع processing_threads_num. #77671 (Azat Khuzhin).
  • تغيير تنسيق compact part لحفظ marks لكل substream بحيث يمكن قراءة sub-columns الفردية. ولا يزال تنسيق compact القديم مدعومًا لعمليات reads، كما يمكن تمكينه لعمليات الكتابة باستخدام MergeTree setting ‏write_marks_for_substreams_in_compact_parts. وهو معطّل افتراضيًا لجعل Upgrades أكثر أمانًا لأنه يغيّر طريقة تخزين compact parts. وسيُفعَّل افتراضيًا في أحد releases القادمة. #77940 (Pavel Kruglov).
  • أُدخل إعداد جديد use_skip_indexes_in_final_exact_mode. إذا كان query على جدول ReplacingMergeTree يتضمن العبارة FINAL، فقد تؤدي قراءة table ranges فقط استنادًا إلى skip indexes إلى نتائج غير صحيحة. ويمكن لهذا الإعداد ضمان إرجاع نتائج صحيحة من خلال فحص parts الأحدث التي تتداخل مع primary key ranges التي يعيدها skip index. اضبطه على 0 للتعطيل، وعلى 1 للتفعيل. #78350 (Shankar Iyer).
  • نستخدم الآن عدد replicas لتحديد task size لعمليات القراءة عند تفعيل parallel replicas. ويوفّر ذلك توزيعًا أفضل للعمل بين replicas عندما لا تكون كمية data المطلوب قراءتها كبيرة جدًا. #78695 (Nikita Taranov).
  • السماح بدمج states الخاصة بـ uniqExact بالتوازي خلال المرحلة النهائية من distributed aggregation. #78703 (Nikita Taranov).
  • إصلاح تراجع محتمل في الأداء عند الدمج المتوازي لـ states الخاصة بـ uniqExact في aggregation مع key. #78724 (Nikita Taranov). #* استبدال queries من النوع DELETE FROM ... WHERE 1 بـ TRUNCATE. (تم التراجع عنه). #78739 (Konstantin Vedernikov).
  • تقليل عدد استدعاءات List Blobs API إلى Azure storage. #78860 (Julia Kartseva).
  • دمج equality conditions من خطوة query plan الخاصة بالمرشح في شرط JOIN إن أمكن، بما يتيح استخدامها كمفاتيح في hash table. #78877 (Dmitry Novik).
  • تحسين أداء تحليل مسار hive باستخدام extractKeyValuePairs بدلًا من regex. #79067 (Arthur Passos).
  • إصلاح أداء INSERT SELECT الموزّع مع النسخ المتماثلة المتوازية. #79441 (Azat Khuzhin).
  • السماح بنقل الشروط التي تحتوي على أعمدة فرعية إلى PREWHERE. #79489 (Pavel Kruglov).
  • تحسينات في الأداء لجميع أنواع bloom filter. #79800 (Delyan Kratunov).
  • منع LogSeriesLimiter من تنفيذ التنظيف عند كل إنشاء، ما يجنّب التنافس على الأقفال وتراجعات الأداء في السيناريوهات عالية التزامن. #79864 (filimonov).
  • تفعيل compile_expressions (مصرّف JIT لأجزاء من expressions العادية) افتراضيًا. يُغلق هذا #51264 و#56386 و#66486. #79907 (Alexey Milovidov).
  • تسريع queries باستخدام تحسين العدّ البسيط. #79945 (Raúl Marín).
  • استُحدث مسار سريع في UniqExactSet::merge عندما تكون إحدى المجموعات فارغة. كذلك، إذا كانت مجموعة LHS ثنائية المستوى وكانت RHS أحادية المستوى، فلن نُجري بعد الآن تحويل RHS إلى ثنائية المستوى. #79971 (Nikita Taranov).
  • إضافة __attribute__((always_inline)) إلى convertDecimalsImpl. #79999 (Konstantin Bogdanov).
  • ضبط input_format_parquet_bloom_filter_push_down على true افتراضيًا. كذلك، إصلاح خطأ في سجل تغييرات Settings. #80058 (Alexey Milovidov). #* جعل logging غير متزامن افتراضيًا. يمكنك تعطيل ذلك عبر ضبط <async>false</async> ضمن <logger>. #80125 (Raúl Marín).
  • تحسين كفاءة إعادة استخدام الذاكرة وتقليل أخطاء الصفحات عند استخدام hash tables ثنائية المستوى. #80245 (Jiebin Sun).
  • تجنّب التحديث غير الضروري وتقليل التنافس على الأقفال في QueryConditionCache. #80247 (Jiebin Sun).
  • تحسين طفيف لـ concatenateBlocks، وقد يكون مفيدًا لـ parallel hash join. #80328 (李扬).
  • عند تحديد mark ranges من نطاق primary key، لا يمكن استخدام binary search إذا كان primary key مغلفًا بدوال. يحسّن هذا الـ PR هذا القيد: إذ لا يزال بالإمكان تطبيق binary search عندما يكون primary key مغلفًا بسلسلة دوال رتيبة دائمًا، أو عندما يحتوي RPN على عنصر تكون قيمته true دائمًا. يُغلق هذا الـ PR #45536. #80597 (zoomxi).
  • تحسين سرعة إيقاف محرك Kafka (مع إزالة تأخير إضافي قدره 3 ثوانٍ عند وجود عدة جداول Kafka). #80796 (Azat Khuzhin).
  • تقليل استخدام الذاكرة في async inserts وتحسين أداء استعلامات insert. #80972 (Raúl Marín).
  • عدم إجراء profiling للمعالِجات إذا كان جدول السجل معطّلًا. #81256 (Raúl Marín).
  • تسريع toFixedString عندما يكون المصدر مطابقًا تمامًا للقيمة المطلوبة. #81257 (Raúl Marín).
  • عدم معالجة قيم الحصص إذا لم تكن هناك قيود على المستخدم. #81549 (Raúl Marín).
  • جعل ProcfsMetricsProvider من النوع thread_local للإبقاء على الملفات مفتوحة بين المهام. #81576 (Raúl Marín).
  • إصلاح تراجع الأداء في تتبّع الذاكرة. #81694 (Michael Kolupaev).

تحسين

#* سيحتفظ clickhouse-local بقواعد بياناته بعد إعادة التشغيل إذا حددت وسيطة سطر الأوامر --path. ويُغلق ذلك #50647. ويُغلق ذلك #49947. #71722 (Alexey Milovidov).
  • يستخدم EXPLAIN SYNTAX الآن محلّلًا جديدًا. ويُرجع شجرة بنية مجردة (AST) مُنشأة من شجرة الاستعلام. أُضيف الخيار query_tree_passes للتحكم في عدد المراحل التي تُنفَّذ قبل تحويل شجرة الاستعلام إلى AST. #74536 (Vladimir Cherkasov). #* استخدام سياسة cache من نوع SLRU في filesystem cache افتراضيًا. #75072 (Kseniia Sumarokova).
  • أُعيدت هيكلة منطق الدفع إلى العروض. #77309 (Sema Checherinda).
  • ستُسنِد table functions الخاصة بالـ cluster لتخزين الكائنات (مثل s3Cluster) الآن الملفات إلى replicas لقراءتها استنادًا إلى consistent hash، لتحسين تمركز cache. #77326 (Andrej Hoos).
  • تحديث بيانات اعتماد S3 بعد الخطأ AuthenticationRequired. #77353 (Vitaly Baranov).
  • تضمين إعدادات الوكيل في بعض buffers الخاصة بـ HTTP بمساعدة builders. #77693 (Arthur Passos).
  • أُضيفت metrics الخاصة بالقواميس إلى system.asynchronous_metrics - DictionaryMaxUpdateDelay - الحد الأقصى للتأخير (بالثواني) في تحديث القاموس. - DictionaryTotalFailedUpdates - عدد الأخطاء منذ آخر loading ناجح في جميع القواميس. #78175 (Vlad).
  • أُضيفت الدوال divideOrNull,moduloOrNull, intDivOrNull,positiveModuloOrNull لإرجاع NULL عندما تكون الوسيطة اليمنى صفرًا. #78276 (kevinyhzou).
  • توسيع الدالة isIPAddressInRange لتدعم أنواع البيانات String و IPv4 و IPv6 و Nullable(String) و Nullable(IPv4) و Nullable(IPv6). #78364 (YjyJeff).
  • تغيير إعدادات pooler لاتصال محرك PostgreSQL بشكل ديناميكي. #78414 (Samay Sharma).
  • السماح بتحديد _part_offset في PROJECTION عادي. هذه هي الخطوة الأولى لبناء فهرس PROJECTION. يمكن استخدامه مع #58224، وقد يساعد في تحسين https://github.com/ClickHouse/ClickHouse/pull/63207. #78429 (Amos Bird).
  • تحسين تحسينات sharding key في distributed queries. #78452 (fhw12345).
  • إضافة columns جديدة (create_query و source) إلى system.named_collections. يُغلق #78179. #78582 (MikhailBurdukov).
  • أُضيف الحقل condition إلى system table ‏system.query_condition_cache. ويخزّن الشرط بصيغته plaintext، والذي يُستخدم hash الخاص به كمفتاح في query condition cache. #78671 (Robert Schulze).
  • تنفيذ منطق شبيه بإعادة التوازن في Kafka لـ StorageKafka2 باستخدام ClickHouse Keeper. ولكل replica ندعم نوعين من أقفال partition: أقفال دائمة وأقفال مؤقتة. تحاول الـ replica الاحتفاظ بالأقفال الدائمة لأطول فترة ممكنة، وفي أي لحظة لا يكون على الـ replica أكثر من all_topic_partitions / active_replicas_count (حيث إن all_topic_partitions هو العدد الإجمالي لـ partitions، وactive_replicas_count هو عدد الـ replicas النشطة) من الأقفال الدائمة. وإذا زاد العدد على ذلك، فإن الـ replica تحرر بعض الـ partitions. كما تحتفظ الـ replica ببعض الـ partitions مؤقتًا. ويتغير الحد الأقصى لعدد الأقفال المؤقتة على الـ replica ديناميكيًا لإتاحة الفرصة لـ replicas أخرى لأخذ بعض الـ partitions كأقفال دائمة. وعند تحديث الأقفال المؤقتة، تحرر الـ replica جميعها ثم تحاول أخذ أقفال أخرى من جديد. #78726 (Daria Fomina).
  • إضافة table settings لإعداد SASL وcredentials إلى table engine Kafka. يتيح ذلك تهيئة authentication المستند إلى SASL لـ Kafka والأنظمة المتوافقة مع Kafka مباشرةً داخل عبارة CREATE TABLE بدلًا من الاضطرار إلى استخدام configuration files أو named collections. #78810 (Christoph Wurm).
  • إضافة تحذير بشأن databases التي ربما أُنشئت لحفظ الجداول المعطوبة. #78841 (János Benjamin Antal).
  • يمكن الآن إنشاء vector similarity indexes على columns من النوع BFloat16. #78850 (Robert Schulze).
  • دعم Unix timestamp ذي الجزء الكسري في parsing من نوع DateTime64 بأسلوب best-effort. #78908 (Pavel Kruglov).
  • إصلاح في تنفيذ delta-kernel الخاص بتخزين DeltaLake لمعالجة columnMappingMode.name، مع إضافة اختبارات لـ schema evolution. #78921 (Kseniia Sumarokova).
  • تحسين insert إلى Variant column بصيغة Values format عبر تحسين تحويل values. #78923 (Pavel Kruglov).
  • إضافة column افتراضي _time في engine ‏S3Queue. #78926 (Anton Ivashkin).
  • تم توسيع الدالة tokens لتقبل argument إضافيًا باسم “tokenizer”، إلى جانب arguments أخرى خاصة بكل tokenizer. #79001 (Elmi Ahmadov).
  • أصبحت عبارة SHOW CLUSTER الآن توسّع وحدات الماكرو (إن وُجدت) في argument الخاص بها. #79006 (arf42).
  • أصبحت hash functions تدعم الآن قيم NULL داخل arrays وtuples وmaps. (المشكلتان #48365 و#48623). #79008 (Michael Kolupaev).
  • دعم refresh في جداول MergeTree ذات وضع read-only. #79033 (Alexey Milovidov). #* تحديث cctz إلى 2025a. #79043 (Raúl Marín).
  • جعل settings التي تتحكم في قطع connection عند زيادة حمل CPU قابلة لإعادة التحميل الفوري. #79052 (Alexey Katsman).
  • هذا أفضل من ناحية سهولة الاستخدام. #79066 (Alexey Milovidov).
  • تم تمكين query condition cache افتراضيًا. #79080 (Alexey Milovidov). #* أصبح بالإمكان التراجع عن علامات التبويب في واجهة الويب. هذا يُغلق #71284. #79084 (Alexey Milovidov).
  • إزالة الإعدادات أثناء recoverLostReplica بالطريقة نفسها التي جرى بها ذلك في https://github.com/ClickHouse/ClickHouse/pull/78637. #79113 (Nikita Mikhaylov).
  • إضافة ProfileEvents ‏ParquetReadRowGroups وParquetPrunedRowGroups إلى profile الخاص بتقليم فهرس Parquet. #79180 (flynn).
  • إضافة بادئة الحاوية إلى مسارات البيانات المُبلّغ عنها في system.tables للأقراص العادية في Azure blob storage، بما يجعل الإبلاغ متسقًا مع S3 وGCP. #79241 (Julia Kartseva).
  • دعم تعديل قاعدة بيانات على مستوى cluster. #79242 (Tuan Pham Anh).
  • تخطٍّ صريح للتشغيلات الفائتة لجمع الإحصاءات في QueryMetricLog، وإلا فسيستغرق السجل وقتًا طويلًا للحاق بالوقت الحالي. #79257 (Mikhail Artemenko).
  • أُضيفت إمكانية تطبيق lightweight deletes أثناء التنفيذ (باستخدام الإعدادات lightweight_deletes_sync = 0, apply_mutations_on_fly = 1. #79281 (Anton Popov).
  • جرى تحسين mutations الخاصة بـ ALTER ... DELETE للأجزاء التي يجب حذف جميع الصفوف فيها. الآن، في مثل هذه الحالات، يُنشأ جزء فارغ بدلًا من الجزء الأصلي من دون تنفيذ mutation. #79307 (Anton Popov).
  • بعض التحسينات الصغيرة على CHColumnToArrowColumn. #79308 (Bharat Nallan).
  • وُسِم الإعداد allow_archive_path_syntax بأنه Experimental عن طريق الخطأ. أُضيف اختبار لمنع تمكين الإعدادات التجريبية افتراضيًا. #79320 (Alexey Milovidov).
  • أصبحت إعدادات page cache قابلة للضبط على مستوى كل query. وهذا مطلوب لإجراء التجارب بسرعة أكبر، ولإتاحة الضبط الدقيق للاستعلامات ذات throughput العالي وlatency المنخفض. #79337 (Alexey Milovidov).
  • عدم طباعة تلميحات الأرقام في Pretty formats للأرقام التي تبدو مثل معظم قيم 64-bit hash. هذا يُغلق #79334. #79338 (Alexey Milovidov).
  • إذا كانت البيانات في Pretty format معروضة في الطرفية، وكان block لاحق له عروض الأعمدة نفسها، فيمكنه المتابعة من block السابق ودمجه معه عبر تحريك المؤشر إلى الأعلى. هذا يُغلق #79333. وتخضع هذه الميزة للإعداد الجديد output_format_pretty_glue_chunks. #79339 (Alexey Milovidov).
  • ستُحتسب ألوان الرسوم البيانية في لوحات المعلومات المتقدمة استنادًا إلى hash الاستعلام المقابل. وهذا يسهّل تذكّر الرسم البياني والعثور عليه أثناء التمرير في لوحة المعلومات. #79341 (Alexey Milovidov).
  • إضافة Metric غير متزامن، FilesystemCacheCapacity، وهو السعة الإجمالية في نظام الملفات الافتراضي cache. وهذا مفيد لمراقبة البنية التحتية على مستوى عام. #79348 (Alexey Milovidov).
  • تحسين الوصول إلى system.parts (قراءة أحجام الأعمدة/الفهارس فقط عند طلبها). #79352 (Azat Khuzhin).
  • اختيار الحقول المهمة فقط للاستعلام 'SHOW CLUSTER <name>' بدلًا من جميع الحقول. #79368 (Tuan Pham Anh).
  • السماح بتحديد إعدادات التخزين لـ DatabaseCatalog. #79407 (Kseniia Sumarokova).
  • دعم التخزين المحلي في delta kernel. #79416 (Kseniia Sumarokova).
  • إضافة إعداد على مستوى الاستعلام لتمكين delta-kernel-rs: allow_experimental_delta_kernel_rs. #79418 (Kseniia Sumarokova).
  • إصلاح احتمال حدوث حلقة لا نهائية عند سرد blobs من Azure/S3 blob storage. #79425 (Alexander Gololobov).
  • أصبح ClickHouse الآن يقبل أيضًا query parameters بصيغة param-<name> (شرطة) إلى جانب param_<name> (شرطة سفلية). وهذا يُغلق #63093. #79429 (Engel Danila). #* إضافة إعداد لذاكرة التخزين المؤقت لنظام الملفات max_size_ratio_to_total_space. #79460 (Kseniia Sumarokova).
  • رسالة تحذير مفصلة بشأن خصم عرض النطاق الترددي عند نسخ البيانات من S3 محلي إلى S3 بعيد مع تمكين checksum. #79464 (VicoWu).
  • بالنسبة إلى clickhouse-benchmark، أُعيدت تهيئة الخيار reconnect بحيث يقبل القيم 0 أو 1 أو N لإعادة الاتصال وفقًا لذلك. #79465 (Sachin Kumar Singh).
  • إضافة الإعداد input_format_max_block_size_bytes لتقييد blocks التي تُنشأ في input formats بالبايت. ويمكن أن يساعد ذلك على تجنب ارتفاع استخدام الذاكرة أثناء استيراد البيانات عندما تحتوي rows على values كبيرة. #79495 (Pavel Kruglov).
  • تحسين سرعة sparseGrams واستخدام الذاكرة. #79517 (Konstantin Vedernikov).
  • تجنب النسخ الإضافي للـ block أثناء الإدراج في Compact part عند الإمكان. #79536 (Pavel Kruglov).
  • تمكين تنفيذ delta-kernel لتخزين DeltaLake افتراضيًا. #79541 (Kseniia Sumarokova).
  • إذا كانت القراءة من عنوان URL تتضمن عدة عمليات إعادة توجيه، فسيُطبَّق الإعداد enable_url_encoding بشكل صحيح عبر جميع عمليات إعادة التوجيه في السلسلة. #79563 (Shankar Iyer).
  • السماح باستخدام ALTER TABLE ... MOVE|REPLACE PARTITION للجداول الموجودة على أقراص plain_rewritable مختلفة. #79566 (Julia Kartseva).
  • دعم الاستعلامات الفرعية القيَمية المترابطة في جملة WHERE. يُغلق هذا #6697. #79600 (Dmitry Novik).
  • سابقًا، عند ضبط input_format_parquet_max_block_size = 0 كان ClickHouse يتعطل. أُصلح هذا السلوك الآن. يُغلق هذا #79394. #79601 (abashkeev).
  • إضافة الإعداد throw_on_error إلى startup_scripts: عندما تكون قيمة throw_on_error هي true، لن يبدأ الخادم ما لم تكتمل جميع الاستعلامات بنجاح. افتراضيًا، تكون قيمة throw_on_error هي false، مما يحافظ على السلوك السابق. #79732 (Aleksandr Musorin).
  • أصبح فهرس تشابه المتجهات يُستخدم الآن أيضًا إذا كان المتجه المرجعي من النوع Array(BFloat16). #79745 (Shankar Iyer).
  • إضافة last_error_message وlast_error_trace وquery_id إلى الجدول system.error_log. التذكرة ذات الصلة #75816. #79836 (Andrei Tinikov). #* تفعيل إرسال تقارير التعطل افتراضيًا. يمكن إيقاف ذلك من خلال ملف إعدادات الخادم. #79838 (Alexey Milovidov).
  • يعرض جدول النظام system.functions الآن إصدار ClickHouse الذي قُدِّمت فيه الدوال لأول مرة. #79839 (Robert Schulze).
  • تمت إضافة الإعداد access_control_improvements.enable_user_name_access_type. يتيح هذا الإعداد تمكين/تعطيل الأذونات الدقيقة للمستخدمين/الأدوار، وقد قُدِّم في https://github.com/ClickHouse/ClickHouse/pull/72246. قد ترغب في تعطيل هذا الإعداد إذا كان لديك عنقود يحتوي على نُسخ متماثلة أقدم من 25.1. #79842 (pufit).
  • أصبح التنفيذ الصحيح للطريقة ASTSelectWithUnionQuery::clone() يراعي الآن أيضًا الحقل is_normalized. قد يساعد هذا في #77569. #79909 (Nikita Mikhaylov).
  • دعم الاستعلامات الفرعية المترابطة في قائمة الإسقاط في الحالات البسيطة. #79925 (Dmitry Novik).
  • إصلاح عدم اتساق تنسيق بعض الاستعلامات التي تستخدم العامل EXCEPT. إذا انتهى الطرف الأيسر للعامل EXCEPT بـ *، فإن الاستعلام المنسق يفقد الأقواس ثم يُحلَّل على أنه * مع المعدِّل EXCEPT. اكتشفت أداة الاختبار العشوائي هذه الاستعلامات، ومن غير المرجح العثور عليها عمليًا. يُغلق هذا #79950. #79952 (Alexey Milovidov).
  • السماح بإضافة http_response_headers إلى http_handlers من أي Kind. #79975 (Andrey Zvonov).
  • تحسين طفيف في parsing لـ JSON type باستخدام ذاكرة تخزين مؤقت لترتيب deserialization للمتغيرات. #79984 (Pavel Kruglov).
  • السماح بنقل predicate ‏GLOBAL [NOT] IN إلى clause ‏PREWHERE عند الاقتضاء. #79996 (Eduard Karacharov).
  • إضافة setting ‏s3_slow_all_threads_after_network_error. #80035 (Vitaly Baranov).
  • كان مستوى logging للأجزاء المحددة للدمج غير صحيح (Information). يُغلق #80061. #80062 (Alexey Milovidov).
  • أصبحت الدالة reverse تدعم Data type ‏Tuple. يُغلق #80053. #80083 (flynn).
  • تم الآن تعيين default value للإعداد enble_url_encoding إلى False. #80088 (Shankar Iyer).
  • تُصلح هذه الرقعة الصغيرة #75817: إذ تتيح جلب بيانات auxiliary_zookeepers من table ‏system.zookeeper. #80146 (Nikolay Govorov).
  • أصبح vector search باستخدام vector similarity index الآن في مرحلة Beta (وكان سابقًا Experimental). #80164 (Robert Schulze).
  • إضافة metrics غير متزامنة حول sockets ‏TCP الخاصة بالخادم. وهذا يحسّن الأوبزرفابيليتي. يُغلق #80187. #80188 (Alexey Milovidov).
  • أصبحت الدالة tokens تدعم الآن string بوصفه tokenizer. #80195 (Robert Schulze).
  • parallel replicas: تجنّب انتظار replicas البطيئة غير المستخدمة إذا كانت جميع مهام القراءة قد أُسنِدت إلى replicas أخرى. #80199 (Igor Nikonov).
  • دعم anylast_respect_nulls وany_respect_nulls في simpleAggregateFunction. #80219 (Diskein).
  • إزالة الاستدعاء غير الضروري adjustCreateQueryForBackup() لقواعد البيانات Replicated. #80282 (Vitaly Baranov). #* السماح بخيارات إضافية (تأتي بعد -- مثل -- --config.value='abc') في clickhouse-local من دون علامة يساوي. يُغلق #80292. #80293 (Alexey Milovidov).
  • تمييز المحارف الخاصة في استعلامات SHOW ... LIKE. يُغلق هذا #80275. #80297 (Alexey Milovidov). #* جعل SQL UDF دائمًا في clickhouse-local. سيُحمَّل الـ FUNCTION الذي أُنشئ سابقًا عند بدء التشغيل. يُغلق هذا #80085. #80300 (Alexey Milovidov).
  • دعم المقارنة بين Time وTime64. #80327 (Yarik Briukhovetskyi).
  • إصلاح الوصف في خطة explain لخطوة distinct أولية. #80330 (UnamedRus).
  • السماح باستخدام named collections في ODBC/JDBC. #80334 (Andrey Zvonov).
  • تفعيل دعم التصفية باستخدام عدة projections، بما يتيح استخدام أكثر من projection واحدة للتصفية على مستوى part. يعالج هذا #55525. وهذه هي الخطوة الثانية لتنفيذ projection index، بعد #78429. #80343 (Amos Bird).
  • metrics لعدد disks ذات وضع readonly والمعطّلة. كما تُسجَّل رسالة في logs عند بدء تشغيل DiskLocalCheckThread. #80391 (VicoWu).
  • تنفيذ دعم التخزين s3_plain_rewritable مع projections. في الإصدارات السابقة، لم تكن كائنات metadata في S3 التي تشير إلى projections تُحدَّث عند نقلها. يُغلق هذا #70258. #80393 (Sav).
  • تستخدم parallel replicas قيمة Connection timeout منفصلة؛ راجع الإعداد parallel_replicas_connect_timeout_ms. في السابق، كانت الإعدادات connect_timeout_with_failover_ms/connect_timeout_with_failover_secure_ms تُستخدم كقيم Connection timeout لاستعلامات parallel replicas (ثانية واحدة افتراضيًا). #80421 (Igor Nikonov).
  • لن يحاول الأمر SYSTEM UNFREEZE البحث عن parts في disks ذات وضع readonly وwrite-once. يُغلق هذا #80430. #80432 (Alexey Milovidov).
  • تغيير log level لرسالة merged parts من INFO إلى TRACE. #80476 (Hans Krutzer).
  • تنفيذ flattened serialization لـ Dynamic وJSON في Native format، بما يتيح serialize/deserialize بيانات Dynamic وJSON من دون بُنى خاصة مثل shared variant لـ Dynamic وshared data لـ JSON. يمكن تفعيل هذا serialization عبر ضبط output_format_native_use_flattened_dynamic_and_json_serialization. ويمكن استخدام هذا serialization لتسهيل دعم Dynamic وJSON في TCP protocol لدى clients بلغات مختلفة. #80499 (Pavel Kruglov).
  • تغيير السلوك الافتراضي لـ partition pruning في جدول Iceberg. #80583 (Melvyn Peignon).
  • إضافة حدثين جديدين من ProfileEvents لتحسين observability لخوارزمية البحث في index: IndexBinarySearchAlgorithm وIndexGenericExclusionSearchAlgorithm. #80679 (Pablo Marcos).
  • لا تُسجِّل رسائل شكوى بشأن عدم دعم MADV_POPULATE_WRITE في النوى الأقدم (لتجنّب تلويث السجلات). #80704 (Robert Schulze).
  • أُضيف دعم Date32 وDateTime64 في TTL. #80710 (Andrey Zvonov).
  • ضُبطت قيم التوافق لـ max_merge_delayed_streams_for_parallel_write. #80760 (Azat Khuzhin).
  • إصلاح تعطل: إذا طُرح استثناء أثناء محاولة إزالة ملف مؤقت (تُستخدم هذه الملفات لتمرير البيانات المؤقتة إلى القرص عند spilling) داخل المُخرِّب، فقد ينتهي البرنامج. #80776 (Alexey Milovidov).
  • أُضيف المعدِّل IF EXISTS إلى SYSTEM SYNC REPLICA. #80810 (Raúl Marín).
  • وُسِّعت رسالة الاستثناء المتعلقة بـ “Having zero bytes, but read range is not finished…”، وأُضيف العمود finished_download_time إلى system.filesystem_cache. #80849 (Kseniia Sumarokova).
  • سابقًا، لم يكن التخزين packed مدعومًا في full-text index، لأن معرّف المقطع كان يُحدَّث أثناء التشغيل عبر قراءة وكتابة الملف (.gin_sid) على القرص. وفي حالة التخزين packed، لا تكون قراءة قيمة من ملف غير مُعتمَد بعد مدعومة، ما أدى إلى هذه المشكلة. #80852 (Elmi Ahmadov).
  • أُضيف قسم لخوارزمية البحث إلى مخرجات EXPLAIN عند استخدامه مع indexes = 1. ويعرض إما “binary search” أو “generic exclusion search”. #80881 (Pablo Marcos).
  • في بداية عام 2024، كانت القيمة prefer_column_name_to_alias مُثبَّتة برمجيًا على True لمعالج MySQL لأن analyzer الجديد لم يكن مُمكّنًا افتراضيًا. أما الآن، فلم تعد كذلك. #80916 (Yarik Briukhovetskyi).
  • يعرض system.iceberg_history الآن السجلّ لقواعد بيانات catalogs مثل glue أو iceberg rest. كما أُعيدت تسمية العمودين table_name وdatabase_name إلى table وdatabase في system.iceberg_history لتحقيق الاتساق. #80975 (alesapin).
  • أُتيح وضع read-only لدالة الجدول merge، بحيث لم يعد امتياز CREATE TEMPORARY TABLE مطلوبًا لاستخدامها. #80981 (Miсhael Stetsyuk).
  • تحسين introspection للذواكر المؤقتة داخل الذاكرة (بعرض معلومات عنها في system.metrics بدلًا من system.asynchronouse_metrics غير المكتمل). كما أُضيف حجم الذواكر المؤقتة داخل الذاكرة (بالبايت) إلى dashboard.html. وأُعيدت تسمية VectorSimilarityIndexCacheSize/IcebergMetadataFilesCacheSize إلى VectorSimilarityIndexCacheBytes/IcebergMetadataFilesCacheBytes. #81023 (Azat Khuzhin).
  • تجاهُل قواعد البيانات ذات engines التي لا يمكن أن تحتوي على جداول RocksDB عند القراءة من system.rocksdb. #81083 (Pervakov Grigorii).
  • السماح باستخدام filesystem_caches وnamed_collections في ملف إعداد clickhouse-local. #81105 (Alexey Milovidov).
  • إصلاح إبراز PARTITION BY في استعلامات INSERT. في الإصدارات السابقة، لم يكن PARTITION BY يُبرَز ككلمة مفتاحية. #81106 (Alexey Milovidov). #* تحسينان صغيران في واجهة الويب: التعامل بشكل صحيح مع الاستعلامات التي لا تُنتج مخرجات، مثل CREATE وINSERT (حتى وقت قريب، كانت هذه الاستعلامات تؤدي إلى ظهور مؤشّر تحميل لا نهائي)؛ وعند النقر المزدوج على جدول، يتم التمرير إلى الأعلى. #81131 (Alexey Milovidov). #* تحديث c-ares إلى v1.34.5. #81159 (Konstantin Bogdanov). #* ترقية curl إلى 8.14 لمعالجة CVE-2025-5025 وCVE-2025-4947. #81171 (larryluogit). #* ترقية libarchive إلى 3.7.9 لمعالجة: CVE-2024-20696 CVE-2025-25724 CVE-2024-48958 CVE-2024-57970 CVE-2025-1632 CVE-2024-48957 CVE-2024-48615. #81174 (larryluogit). #* ترقية libxml2 إلى 2.14.3. #81187 (larryluogit).
  • يوفّر MemoryResidentWithoutPageCache مقدار الذاكرة الفعلية التي تستهلكها عملية الخادم، باستثناء userspace page cache، بالبايت. ويوفّر ذلك عرضًا أدق لاستخدام الذاكرة الفعلي عند استخدام userspace page cache. وعند تعطيل userspace page cache، تكون هذه القيمة مساوية لـ MemoryResident. #81233 (Jayme Bird).
  • وسم الاستثناءات المسجّلة يدويًا في العميل، والخادم المحلي، وعميل Keeper، وتطبيق disks على أنها مسجّلة، حتى لا تُسجَّل مرتين. #81271 (Miсhael Stetsyuk).
  • أصبحت الإعدادات use_skip_indexes_if_final وuse_skip_indexes_if_final_exact_mode مفعّلة افتراضيًا بالقيمة True. ستستخدم الاستعلامات التي تتضمن clause ‏FINAL الآن skip indexes (عند انطباق ذلك) لحصر granules المرشحة، وكذلك قراءة أي granules إضافية تقابل ranges المطابقة للمفتاح الأساسي. ويمكن للمستخدمين الذين يحتاجون إلى السلوك السابق ذي النتائج التقريبية أو غير الدقيقة ضبط use_skip_indexes_if_final_exact_mode على FALSE بعد تقييم دقيق. #81331 (Shankar Iyer). #* عند وجود عدة استعلامات في واجهة الويب، سيُنفَّذ الاستعلام الموجود تحت المؤشر. استكمال لـ #80977. #81354 (Alexey Milovidov).
  • يعالج طلب السحب هذا مشكلات في تنفيذ is_strict ضمن فحوصات الرتابة لدوال التحويل. حاليًا، تُرجع بعض دوال التحويل، مثل toFloat64(UInt32) و toDate(UInt8)، قيمة is_strict على نحو غير صحيح باعتبارها false، بينما ينبغي أن تُرجع true. #81359 (zoomxi). #* في نظام الملفات مع journal، يُكتَب mkdir في journal الخاص بنظام الملفات، والذي يُحفَظ على القرص. وإذا كان القرص بطيئًا، فقد يستغرق ذلك وقتًا طويلًا. ومن المنطقي بالتأكيد نقل هذا خارج نطاق قفل الحجز. #81371 (Kseniia Sumarokova).
  • عند التحقق مما إذا كان KeyCondition يطابق نطاقًا متصلًا، فإذا كان المفتاح مغلفًا بسلسلة دوال غير صارمة، فقد يلزم تحويل Constraint::POINT إلى Constraint::RANGE. على سبيل المثال: toDate(event_time) = '2025-06-03' يشير إلى نطاق لـ event_time: [‘2025-06-03 00:00:00’, ‘2025-06-04 00:00:00’). ويُصلح طلب السحب هذا هذا السلوك. #81400 (zoomxi). #* استخدام postgres 16.9. #81437 (Konstantin Bogdanov). #* استخدام openssl 3.2.4. #81438 (Konstantin Bogdanov). #* استخدام abseil-cpp 2025-01-27. #81440 (Konstantin Bogdanov). #* استخدام mongo-c-driver 1.30.4. #81449 (Konstantin Bogdanov). #* استخدام krb5 1.21.3-final. #81453 (Konstantin Bogdanov). #* استخدام orc 2.1.2. #81455 (Konstantin Bogdanov). #* إضافة دعم للوسيطة --database في clickhouse-local. يمكنك التبديل إلى قاعدة بيانات أُنشئت مسبقًا. هذا يغلق #44115. #81465 (Alexey Milovidov). #* ستؤدي الأسماء المستعارة clickhouse/ch إلى استدعاء clickhouse-client بدلًا من clickhouse-local إذا جرى تحديد --host أو --port. استكمالًا لـ #79422. يغلق #65252. #81509 (Alexey Milovidov).
  • الآن، بعد أن أصبحت لدينا بيانات توزيع زمن استجابة Keeper، يمكننا ضبط حدود المدرج التكراري. #81516 (Miсhael Stetsyuk).
  • تأجيل قراءة ملفات manifest الخاصة بـ Iceberg حتى أول قراءة للاستعلام. #81619 (Daniil Ivanik). #* استخدام grpc 1.73.0. #81629 (Konstantin Bogdanov). #* استخدام delta-kernel-rs v0.12.1. #81707 (Konstantin Bogdanov).
  • إضافة حدث profile ‏PageCacheReadBytes. #81742 (Kseniia Sumarokova).

إصلاح خلل (سلوك خاطئ يمكن للمستخدم ملاحظته في إصدار مستقر رسمي)

  • إصلاح العرض ذو المعلمات مع استعلام SELECT EXCEPT. يُغلق #49447. #57380 (Nikolay Degterinsky).
  • المحلّل: إصلاح اسم إسقاط العمود بعد ترقية نوع العمود في join. يُغلق #63345. #63519 (Dmitry Novik).
  • قد يبدأ العرض المادي متأخرًا جدًا، مثل أن يبدأ بعد جدول Kafka الذي يمرّر التدفق إليه. #72123 (Ilya Golshtein).
  • إصلاح خطأ منطقي في حالات تعارض أسماء الأعمدة عند تفعيل analyzer_compatibility_join_using_top_level_identifier. #75676 (Vladimir Cherkasov).
  • إصلاح حالات تعطل نادرة أثناء القراءة من جدول MergeTree بعد عدة استعلامات RENAME COLUMN وADD COLUMN غير متزامنة (مع alter_sync = 0). #76346 (Anton Popov).
  • إصلاح إعادة كتابة استعلام SELECT أثناء إنشاء VIEW عند تفعيل المحلّل. يُغلق #75956. #76356 (Dmitry Novik).
  • إصلاح استخدام CTE في الشروط المدفوعة إلى الأسفل عند تفعيل allow_push_predicate_ast_for_distributed_subqueries. يصلح #75647. يصلح #79672. #77316 (Dmitry Novik).
  • إصلاح تطبيق async_insert من الخادم (عبر apply_settings_from_server) (إذ كان يؤدي سابقًا إلى أخطاء Unknown packet 11 from server لدى العميل). #77578 (Azat Khuzhin).
  • إصلاح عدم عمل العرض المادي القابل للتحديث في قواعد البيانات Replicated على النسخ المتماثلة المضافة حديثًا. #77774 (Michael Kolupaev).
  • إصلاح تسبب العروض المادية القابلة للتحديث في إفساد النسخ الاحتياطية. #77893 (Michael Kolupaev).
  • إصلاح ظهور خطأ منطقي قديم في transform. #78247 (Yarik Briukhovetskyi).
  • إصلاح مشكلة كان فيها SYSTEM SYNC REPLICA LIGHTWEIGHT 'foo' يبلّغ عن النجاح حتى عندما لا تكون النسخة المتماثلة المحددة موجودة. يتحقق الأمر الآن بشكل صحيح من وجود النسخة المتماثلة في Keeper قبل محاولة المزامنة. #78405 (Jayme Bird).
  • إصلاح بعض الحالات التي لم يكن فيها الفهرس الثانوي يُطبَّق مع المحلّل. يصلح #65607، ويصلح #69373. #78485 (Nikolai Kochetov).
  • إصلاح تفريغ profile events (NetworkSendElapsedMicroseconds/NetworkSendBytes) في بروتوكول HTTP عند تمكين الضغط (يجب ألا يتجاوز الخطأ حجم المخزن المؤقت، وعادةً ما يكون نحو 1MiB). #78516 (Azat Khuzhin). #* ```sql CREATE TABLE t0 ( key Int32, value Int32 ) ENGINE=MergeTree() PRIMARY KEY key PARTITION BY key % 2;. #78593 (Vlad).
  • إصلاح قيام analyzer بإنتاج LOGICAL_ERROR عندما يتضمن JOIN ... USING عمود ALIAS، إذ ينبغي أن يُنتج خطأً مناسبًا. #78618 (Yakov Olkhovskiy).
  • إصلاح analyzer: يفشل CREATE VIEW ... ON CLUSTER إذا كان SELECT يحتوي على positional arguments. #78663 (Yakov Olkhovskiy).
  • إصلاح الخطأ Block structure mismatch في حالة INSERT SELECT إلى table function مع schema inference إذا كان SELECT يحتوي على scalar subqueries. #78677 (Pervakov Grigorii).
  • إصلاح analyzer: عند استخدام prefer_global_in_and_join=1 مع جدول Distributed في استعلام SELECT، يجب استبدال الدالة in بـ globalIn. #78749 (Yakov Olkhovskiy).
  • إصلاح عدة أنواع من استعلامات SELECT التي تقرأ من جداول بمحرك MongoDB أو من mongodb table function: الاستعلامات التي تتضمن تحويلًا ضمنيًا لقيمة ثابتة في clause WHERE (مثل WHERE datetime = '2025-03-10 00:00:00')؛ والاستعلامات التي تحتوي على LIMIT وGROUP BY. سابقًا، كان من الممكن أن تُرجع نتائج غير صحيحة. #78777 (Anton Popov).
  • إصلاح التحويل بين أنواع JSON المختلفة. يُنفَّذ هذا الآن عبر cast بسيط من خلال التحويل إلى/من String. وهو أقل كفاءة، لكنه دقيق بنسبة 100%. #78807 (Pavel Kruglov).
  • إصلاح logical error أثناء تحويل النوع Dynamic إلى Interval. #78813 (Pavel Kruglov).
  • إصلاح التراجع عن العمود عند حدوث JSON parsing error. #78836 (Pavel Kruglov).
  • إصلاح الخطأ ‘bad cast’ عند إجراء join باستخدام عمود alias ثابت. #78848 (Vladimir Cherkasov).
  • عدم السماح بـ PREWHERE في materialized views على الأعمدة ذات الأنواع المختلفة بين العرض والجدول الهدف. #78889 (Pavel Kruglov).
  • إصلاح logical error أثناء parsing لبيانات binary تالفة في عمود Variant. #78982 (Pavel Kruglov).
  • طرح Exception عندما يُضبط حجم parquet batch على 0. سابقًا، عندما كانت output_format_parquet_batch_size = 0 كان ClickHouse يتوقف عن الاستجابة. وقد أُصلح هذا السلوك الآن. #78991 (daryawessely).
  • إصلاح deserialization لمميّزات variant باستخدام التنسيق الأساسي في compact parts. تم تقديم ذلك في https://github.com/ClickHouse/ClickHouse/pull/55518. #79000 (Pavel Kruglov).
  • أصبحت القواميس من النوع complex_key_ssd_cache ترفض الآن المعاملين block_size وwrite_buffer_size إذا كانت قيمتهما صفرًا أو سالبة (المشكلة #78314). #79028 (Elmi Ahmadov).
  • تجنب استخدام Field مع الأعمدة غير المجمّعة في SummingMergeTree، إذ قد يؤدي ذلك إلى أخطاء غير متوقعة مع الأنواع Dynamic/Variant المستخدمة في SummingMergeTree. #79051 (Pavel Kruglov).
  • إصلاح القراءة من materialized view مع destination table من نوع Distributed وheader مختلف في analyzer. #79059 (Pavel Kruglov).
  • إصلاح crash في حالة محددة جدًا عند استخدام الدالة currentDatabase في أقسام CONSTRAINT ضمن queries التي تستخدم ON CLUSTER. يغلق #78100. #79070 (pufit).
  • إصلاح خطأ كانت فيه arrayUnion() تُرجع values إضافية (غير صحيحة) في tables التي كانت تحتوي على Batch inserts. يعالج #75057. #79079 (Peter Nguyen). #* إصلاح segfault في OpenSSLInitializer. يغلق #79092. #79097 (Konstantin Bogdanov).
  • إصلاح تمرير roles الخارجية في queries بين الخوادم. #79099 (Andrey Zvonov).
  • تعيين prefix دائمًا لعملية S3 ListObject. #79114 (Azat Khuzhin).
  • إصلاح خطأ كانت فيه arrayUnion() تُرجع values إضافية (غير صحيحة) في tables التي كانت تحتوي على Batch inserts. يعالج #79157. #79158 (Peter Nguyen).
  • إصلاح logical error بعد filter pushdown. #79164 (Pervakov Grigorii).
  • محاولة استخدام IColumn بدلًا من Field في SingleValueDataGeneric. ويؤدي ذلك إلى إصلاح values المُعادة غير الصحيحة لبعض aggregate functions مثل argMax للأنواع Dynamic/Variant/JSON. #79166 (Pavel Kruglov).
  • إصلاح DeltaLake table engine عند استخدام تنفيذ delta-kernel مع endpoints المعتمدة على http، مع إصلاح NOSIGN أيضًا. يغلق #78124. #79203 (Kseniia Sumarokova).
  • إصلاح في Keeper: تجنب تشغيل watches عند فشل الطلبات المتعددة. #79247 (Antonio Andelic).
  • منع النوعين Dynamic وJSON في IN. مع التنفيذ الحالي لـ IN، قد يؤدي ذلك إلى نتائج غير صحيحة. كما أن دعم هذه الأنواع في IN بشكل صحيح معقد، ويمكن تنفيذه لاحقًا. #79282 (Pavel Kruglov).
  • إصلاح التحقق من paths المكررة أثناء parsing الخاص بـ JSON type. #79317 (Pavel Kruglov).
  • إصلاح مشكلات اتصال SecureStreamSocket. #79383 (Konstantin Bogdanov).
  • إصلاح تحميل أقراص plain_rewritable التي تحتوي على بيانات. #79439 (Julia Kartseva).
  • إصلاح تعطل في اكتشاف الأعمدة الفرعية الديناميكية في Wide parts ضمن MergeTree. #79466 (Pavel Kruglov).
  • التحقق من طول اسم الجدول فقط في استعلامات الإنشاء الأولية. ولا يُتحقق من ذلك في عمليات الإنشاء الثانوية لتجنب مشكلات التوافق مع الإصدارات السابقة. #79488 (Miсhael Stetsyuk).
  • إصلاح الخطأ Block structure mismatch في عدة حالات في الجداول ذات الأعمدة المتفرقة. #79491 (Anton Popov).
  • إصلاح حالتين من Logical Error: Can't set alias of * of Asterisk on alias. #79505 (Raúl Marín).
  • إصلاح تطبيق الإعدادين use_native_copy و allow_azure_native_copy على Azure blob storage، وتحديث السلوك لاستخدام النسخ الأصلي فقط عند تطابق بيانات الاعتماد، مما يحل #78964. #79561 (Smita Kulkarni).
  • إصلاح استخدام مسارات غير صحيحة عند إعادة تسمية قاعدة بيانات Atomic. #79569 (Tuan Pham Anh).
  • إصلاح ORDER BY على عمود JSON مع أعمدة أخرى. #79591 (Pavel Kruglov).
  • إصلاح تكرار النتائج عند القراءة من مصدر بعيد مع تعطيل كل من use_hedged_requests و allow_experimental_parallel_reading_from_replicas. #79599 (Eduard Karacharov).
  • إصلاح تعطل في تنفيذ delta-kernel عند استخدام Unity Catalog. #79677 (Kseniia Sumarokova).
  • توسيع وحدات الماكرو لعناقيد الاكتشاف التلقائي. #79696 (Anton Ivashkin).
  • إصلاح الأخطاء المنطقية المتعلقة بنطاق المصدر غير المعروف لعمود، والتي تظهر أثناء التحقق مما إذا كان هذا العمود مترابطًا. إصلاح #78183. إصلاح #79451. #79727 (Dmitry Novik).
  • إصلاح النتائج الخاطئة لـ grouping sets مع ColumnConst والمحلّل. #79743 (Andrey Zvonov).
  • إصلاح تكرار نتائج الشظية المحلية عند القراءة من distributed table عندما تكون replica المحلية متقادمة. #79761 (Eduard Karacharov).
  • التعامل بالشكل المناسب مع الإعداد page_cache_limits إذا كان مُعدًّا بشكل غير صحيح. #79805 (Bharat Nallan).
  • يُصلح ناتج دالة SQL ‏formatDateTime إذا كان مُنسِّق بطول متغير (مثل %W، أي اسم يوم الأسبوع Monday أو Tuesday، إلخ) يتبعه مُنسِّق مركب (أي مُنسِّق يطبع عدة مكونات دفعة واحدة، مثل %D، أي التاريخ الأمريكي 05/04/25). #79835 (Robert Schulze).
  • يدعم IcebergS3 تحسين count، لكن IcebergS3Cluster لا يدعمه. ونتيجة لذلك، قد تكون نتيجة count() المُعادة في وضع cluster مضاعفًا لعدد replicas. #79844 (wxybear).
  • يُصلح ترتيب فرز قيم NaN ذات بت الإشارة السالب. #79847 (Pervakov Grigorii).
  • الآن لم يعد GROUP BY ALL يأخذ جزء GROUPING في الحسبان. #79915 (Yarik Briukhovetskyi).
  • يُصلح الخطأ AMBIGUOUS_COLUMN_NAME مع lazy materialization عندما لا تُستخدم أي columns في تنفيذ query إلى حين الوصول إلى projection. مثال: SELECT * FROM t ORDER BY rand() LIMIT 5. #79926 (Igor Nikonov).
  • يُصلح الدمج غير الصحيح للحالة في دالتي TopK وTopKWeighted، الذي كان يتسبب في قيم error مفرطة حتى عندما لا تكون السعة قد استُنفدت. #79939 (Joel Höner).
  • يُخفي password في الاستعلام CREATE DATABASE datalake ENGINE = DataLakeCatalog(\'http://catalog:8181\', \'admin\', \'password\'). #79941 (Han Fei).
  • السماح بتحديد alias في JOIN USING. حدِّد هذا alias إذا أُعيدت تسمية column (على سبيل المثال، بسبب `ARRAY JOIN). يُصلح #73707. #79942 (Nikolai Kochetov).
  • يراعي إعداد readonly في object storage ‏azure_blob_storage. #79954 (Julia Kartseva).
  • يُصلح نتائج query غير الصحيحة وحالات التعطل بسبب نفاد الذاكرة عند استخدام match(column, '^…') مع محارف مُهربة باستخدام backslash. #79969 (filimonov).
  • تعطيل partitioning الخاص بـ hive لبحيرات البيانات. يعالج هذا جزئيًا https://github.com/issues/assigned?issue=ClickHouse%7CClickHouse%7C79937. #80005 (Daniil Ivanik).
  • تعذّر تطبيق skip indexes مع lambda expressions. يُصلح الحالة التي تتطابق فيها الدوال عالية المستوى في تعريف index تمامًا مع الدوال الموجودة في query. #80025 (Nikolai Kochetov).
  • السماح لـ materialized views التي تحتوي على UNIONs بالعمل بشكل صحيح على replicas الجديدة. #80037 (Samay Sharma).
  • يُصلح إصدار metadata أثناء attach part على replica التي تنفّذ الأمر ATTACH_PART من replication log. #80038 (Aleksei Filatov).
  • محدِّد التنسيق %e في دالة SQL ‏parseDateTime يتعرّف الآن على الأيام ذات الرقم الواحد (مثل 3)، بينما كان يتطلب سابقًا حشوًا بمسافة (مثل 3). وهذا يجعل سلوكه متوافقًا مع MySQL. للاحتفاظ بالسلوك السابق، اضبط الإعداد parsedatetime_e_requires_space_padding = 1. (المشكلة #78243). #80057 (Robert Schulze).
  • لا تُضاف أسماء Executable User Defined Functions ‏(eUDF) إلى العمود used_functions في جدول system.query_log، بخلاف الدوال الأخرى. يضيف هذا الطلب اسم eUDF إذا استُخدمت eUDF في الطلب. #80073 (Kyamran). #* إصلاح التحذيرات Cannot find 'kernel' in '[...]/memory.stat' في سجل ClickHouse (المشكلة #77410). #80129 (Robert Schulze).
  • إصلاح خطأ منطقي في Arrow format مع LowCardinality(FixedString). #80156 (Pavel Kruglov).
  • إصلاح قراءة الأعمدة الفرعية من محرك Merge. #80158 (Pavel Kruglov).
  • إصلاح خطأ في المقارنة بين الأنواع الرقمية في KeyCondition. #80207 (Yarik Briukhovetskyi).
  • إصلاح الخطأ AMBIGUOUS_COLUMN_NAME عند تطبيق lazy materialization على جدول يحتوي على projections. #80251 (Igor Nikonov).
  • إصلاح تحسين العدّ غير الصحيح لمرشحات بادئة السلاسل النصية مثل LIKE ‘ab_c%’ عند استخدام implicit projections. ويعالج هذا #80250. #80261 (Amos Bird).
  • إصلاح التسلسل غير الصحيح للحقول الرقمية المتداخلة كسلاسل نصية في مستندات MongoDB. وإزالة الحد الأقصى لعمق المستندات من MongoDB. #80289 (Kirill Nikiforov).
  • إجراء فحوصات metadata أقل تشددًا لـ RMT في قاعدة البيانات Replicated. يغلق #80296. #80298 (Nikolay Degterinsky).
  • إصلاح التمثيل النصي لـ DateTime وDateTime64 في تخزين PostgreSQL. #80301 (Yakov Olkhovskiy).
  • السماح باستخدام DateTime مع timezone في جداول StripeLog. هذا يغلق #44120. #80304 (Alexey Milovidov).
  • تعطيل filter-push-down للمسند الذي يحتوي على دالة غير deterministic إذا كانت خطوة في خطة الاستعلام تغيّر عدد الصفوف. يعالج #40273. #80329 (Nikolai Kochetov).
  • إصلاح أخطاء منطقية محتملة وحالات تعطل في projections مع الأعمدة الفرعية. #80333 (Pavel Kruglov).
  • إصلاح الخطأ NOT_FOUND_COLUMN_IN_BLOCK الناتج عن تحسين filter-push-down في خطوة JOIN المنطقية عندما لا يكون تعبير ON مساواة بسيطة. يُصلح #79647 ويُصلح #77848. #80360 (Nikolai Kochetov).
  • إصلاح النتائج غير الصحيحة عند قراءة المفاتيح المرتبة ترتيبًا عكسيًا في الجداول المُقسَّمة إلى partitions. يُصلح هذا #79987. #80448 (Amos Bird).
  • إصلاح الفرز غير الصحيح في الجداول ذات المفتاح Nullable مع تفعيل optimize_read_in_order. #80515 (Pervakov Grigorii).
  • إصلاح تعلّق عملية DROP للعرض المادي القابل للتحديث إذا كان العرض قد أُوقِف مؤقتًا باستخدام SYSTEM STOP REPLICATED VIEW. #80543 (Michael Kolupaev).
  • إصلاح الخطأ ‘Cannot find column’ مع Tuple ثابت في استعلام موزّع. #80596 (Yakov Olkhovskiy).
  • إصلاح الدالة shardNum في جداول Distributed مع join_use_nulls. #80612 (János Benjamin Antal).
  • إصلاح النتائج غير الصحيحة عند قراءة عمود موجود في مجموعة فرعية من الجداول في محرك Merge. #80643 (Pavel Kruglov).
  • أصبح الطابع الزمني في جدول iceberg_history صحيحًا الآن. #80711 (Melvyn Peignon).
  • إصلاح التعامل مع أنماط glob من نوع enum ذات العنصر الواحد في دوال الجداول الخاصة بالتخزين الكائني. #80716 (Konstantin Bogdanov).
  • إصلاح أنواع النتائج غير الصحيحة لدوال المقارنة مع Tuple(Dynamic) وString، التي كانت تؤدي إلى خطأ منطقي. #80728 (Pavel Kruglov).
  • إضافة دعم مفقود لنوع البيانات timestamp_ntz في Unity Catalog. يُصلح #79535، ويُصلح #79875. #80740 (alesapin).
  • إصلاح الخطأ THERE_IS_NO_COLUMN في الاستعلامات الموزعة مع IN cte. يُصلح #75032. #80757 (Nikolai Kochetov).
  • إصلاح الزيادة المفرطة في عدد الملفات (ما يؤدي إلى استخدام مفرط للذاكرة) في ORDER BY الخارجي. #80777 (Azat Khuzhin). #* قد يُغلق طلب السحب هذا #80742. #80783 (zoomxi). #* إصلاح تعطل في Kafka بسبب أن get_member_id() كان يُنشئ std::string من NULL (ويُرجَّح أن هذه المشكلة كانت تحدث فقط عند فشل الاتصال بـ broker). #80793 (Azat Khuzhin).
  • انتظار المستهلكين بشكل صحيح قبل إيقاف محرك Kafka (إذ قد يؤدي بقاء مستهلكين نشطين بعد الإيقاف إلى تشغيل تأكيدات تصحيح متنوعة، وقد يقرؤون أيضًا بيانات من الوسطاء في الخلفية بعد إسقاط الجدول أو فصله). #80795 (Azat Khuzhin).
  • إصلاح NOT_FOUND_COLUMN_IN_BLOCK الناتج عن تحسين predicate-push-down. يُصلح #80443. #80834 (Nikolai Kochetov).
  • إصلاح الخطأ المنطقي عند حلّ المطابق النجمي (*) في table function ضمن JOIN مع USING. #80894 (Vladimir Cherkasov).
  • إصلاح احتساب الذاكرة لذاكرة التخزين المؤقت لملفات Iceberg الوصفية. #80904 (Azat Khuzhin).
  • إصلاح التقسيم غير الصحيح مع partition key قابلة لـ NULL. #80913 (Pervakov Grigorii).
  • إصلاح الخطأ Table does not exist في distributed queries مع predicate مدفوع إلى الأسفل (allow_push_predicate_ast_for_distributed_subqueries=1) عندما لا يكون source table موجودًا على العقدة المُبادِرة. يُصلح #77281. #80915 (Nikolai Kochetov).
  • إصلاح الخطأ المنطقي في الدوال المتداخلة مع النوافذ المُسمّاة. #80926 (Pervakov Grigorii).
  • إصلاح القيم القصوى للأعمدة القابلة لـ NULL وأعمدة الفاصلة العائمة. #80970 (Pervakov Grigorii).
  • إصلاح تعطل محتمل أثناء الاستعلام من system.tables (ويُرجّح حدوث ذلك عند ضغط الذاكرة). #80976 (Azat Khuzhin).
  • إصلاح rename ذري مع truncate للملفات التي يُستدل على الضغط فيها من امتداد الملف. #80979 (Pablo Marcos). #* إصلاح ErrorCodes::getName. #81032 (RinChanNOW).
  • إصلاح خلل كان يمنع المستخدم من سرد الجداول في Unity Catalog من دون امتلاك أذونات لجميعها. الآن تُسرد جميع الجداول بشكل صحيح، وستؤدي محاولة القراءة من جدول مقيّد إلى طرح استثناء. #81044 (alesapin).
  • سيتجاهل ClickHouse الآن الأخطاء والاستجابات غير المتوقعة من catalogs بحيرات البيانات في استعلام SHOW TABLES. يُصلح #79725. #81046 (alesapin).
  • إصلاح parsing لـ DateTime64 من الأعداد الصحيحة في JSONExtract وتحليل النوع JSON. #81050 (Pavel Kruglov).
  • عكس إعداد date_time_input_format في ذاكرة التخزين المؤقت لـ schema inference. #81052 (Pavel Kruglov).
  • إصلاح تعطل عند INSERT إذا جرى DROP للجدول بعد بدء query ولكن قبل إرسال columns. #81053 (Azat Khuzhin).
  • إصلاح استخدام قيمة غير مهيّأة في quantileDeterministic. #81062 (Azat Khuzhin).
  • إصلاح إدارة عدد الروابط الصلبة لمعاملات القرص metadatastoragefromdisk. وإضافة اختبارات. #81066 (Sema Checherinda).
  • لا تُضاف أسماء User Defined Functions‏ (UDF) إلى الجدول system.query_log، بخلاف الدوال الأخرى. يضيف هذا الـ PR اسم UDF إلى أحد العمودين used_executable_user_defined_functions أو used_sql_user_defined_functions إذا استُخدمت UDF في الطلب. #81101 (Kyamran).
  • إصلاح أخطاء Too large size ... passed to allocator أو الأعطال المحتملة عند تنفيذ عمليات insert عبر HTTP protocol مع text formats (JSON, Values, …) وحقول Enum المحذوفة. #81145 (Anton Popov).
  • إصلاح LOGICAL_ERROR عند وجود عمود Sparse في block الخاص بـ INSERT والمُرسل إلى MV غير MT. #81161 (Azat Khuzhin).
  • إصلاح Unknown table expression identifier عند استخدام distributed_product_mode_local=local مع النسخ المتماثل المتقاطع. #81162 (Nikolai Kochetov).
  • إصلاح التخزين المؤقت غير الصحيح لعدد الصفوف في ملفات Parquet بعد التصفية. #81184 (Michael Kolupaev).
  • إصلاح الإعداد max_size_to_total_space لذاكرة التخزين المؤقت fs عند استخدامه مع مسار cache نسبي. #81237 (Kseniia Sumarokova).
  • إصلاح تعطل clickhouse-local عند إخراج tuples أو maps ثابتة بتنسيق Parquet. #81249 (Michael Kolupaev).
  • التحقق من offsets الخاصة بالمصفوفات المستلَمة عبر الشبكة. #81269 (Azat Khuzhin).
  • إصلاح حالة طرفية في query تتضمن joins على جداول فارغة وتستخدم window functions. يتسبب هذا الخطأ في تضخم عدد streams المتوازية، مما يؤدي إلى حالات OOM. #81299 (Alexander Gololobov).
  • إصلاحات لدوال Cluster الخاصة بـ data lake (deltaLakeCluster, icebergCluster، إلخ): (1) إصلاح segfault محتمل في DataLakeConfiguration عند استخدام دالة Cluster مع analyzer القديم؛ (2) إزالة التحديثات المكررة لبيانات data lake الوصفية (طلبات object storage إضافية)؛ (3) إصلاح الاستعراض الزائد في object storage عندما لا يكون format محددًا صراحةً (وكان هذا قد أُنجز بالفعل لمحركات data lake غير العنقودية). #81300 (Kseniia Sumarokova).
  • جعل العلامة force_restore_data تستعيد metadata المفقودة الخاصة بـ Keeper. #81324 (Raúl Marín).
  • إصلاح خطأ Region في delta-kernel. يُصلح #79914. #81353 (Kseniia Sumarokova).
  • تعطيل JIT غير الصحيح لـ divideOrNull. #81370 (Raúl Marín).
  • إصلاح خطأ insert عندما يكون لجدول MergeTree اسم عمود partition طويل. #81390 (hy123q).
  • لا تخزّن محتوى عدة ملفات بيان في الذاكرة. #81470 (Daniil Ivanik).
  • إصلاح احتمال حدوث تعطل أثناء إيقاف مجمّعات الخلفية (background_.*pool_size). #81473 (Azat Khuzhin).
  • إصلاح قراءة خارج النطاق في التنسيق Npy عند الكتابة إلى جدول يستخدم المحرك URL. يُغلق هذا #81356. #81502 (Alexey Milovidov).
  • هناك احتمال أن تعرض واجهة الويب NaN% (من مشكلات JavaScript المعتادة). #81507 (Alexey Milovidov).
  • إصلاح DatabaseReplicated عند ضبط database_replicated_enforce_synchronous_settings=1. #81564 (Azat Khuzhin).
  • إصلاح ترتيب الفرز للأنواع LowCardinality(Nullable(...)). #81583 (Pervakov Grigorii).
  • يجب ألا يحتفظ الخادم باتصال HTTP إذا لم يُقرأ الطلب بالكامل من المقبس. #81595 (Sema Checherinda).
  • جعل الاستعلامات الفرعية المترابطة العددية تُرجع نتيجة Nullable لتعبير الإسقاط. إصلاح الحالة التي يُنتج فيها استعلام فرعي مترابط مجموعة نتائج فارغة. #81632 (Dmitry Novik).
  • إصلاح Unexpected relative path for a deduplicated part أثناء ATTACH إلى ReplicatedMergeTree. #81647 (Azat Khuzhin).
  • لن تُطبَّق إعدادات الاستعلام use_iceberg_partition_pruning على تخزين Iceberg، لأنه يستخدم السياق العام بدلًا من سياق الاستعلام. وهذا ليس حرجًا لأن قيمته الافتراضية هي true. يمكن لهذا التغيير إصلاح ذلك. #81673 (Han Fei).
  • إضافة تحقّق من صحة إعداد MergeTree merge_max_block_size للتأكد من أنه لا يساوي صفرًا. #81693 (Bharat Nallan).
  • إصلاح مشكلات في clickhouse-local تتعلق باستعلامات DROP VIEW العالقة. #81705 (Bharat Nallan).
  • إصلاح عملية الربط في StorageRedis في بعض الحالات. #81736 (Pervakov Grigorii).
  • إصلاح تعطل في ConcurrentHashJoin مع USING () فارغة ومع تمكين المحلّل القديم. #81754 (Nikita Taranov).
  • إصلاح في Keeper: منع اعتماد سجلات جديدة إذا وُجد إدخال غير صالح في السجلات. سابقًا، إذا طبّق القائد بعض السجلات بشكل غير صحيح، فسيواصل اعتماد سجلات جديدة، رغم أن التابع سيكتشف عدم تطابق قيمة التجزئة ويُجهض العملية. #81780 (Antonio Andelic).
آخر تعديل في ٢٩ يونيو ٢٠٢٦