تغيير غير متوافق مع الإصدارات السابقة
- تقبل الدالة
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ضمن clauseWHERE. يُغلق هذا #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_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). #* استخدامpostgres16.9. #81437 (Konstantin Bogdanov). #* استخدامopenssl3.2.4. #81438 (Konstantin Bogdanov). #* استخدامabseil-cpp2025-01-27. #81440 (Konstantin Bogdanov). #* استخدامmongo-c-driver1.30.4. #81449 (Konstantin Bogdanov). #* استخدامkrb51.21.3-final. #81453 (Konstantin Bogdanov). #* استخدامorc2.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).
#* استخدام
grpc1.73.0. #81629 (Konstantin Bogdanov). #* استخدامdelta-kernel-rsv0.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أو منmongodbtable function: الاستعلامات التي تتضمن تحويلًا ضمنيًا لقيمة ثابتة في clauseWHERE(مثل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).