Project: ClickHouse (App Definition and Development / Database)
File: v23.1.1.3077-stable.md

sidebar_position: 1 sidebar_label: 2023 Remove query `SYSTEM RESTART DISK`. (). Disallow Gorilla compression on columns of non-Float32 or non-Float64 type. (). Remove PREALLOCATE for HASHED/SPARSE_HASHED dictionaries. (). Parallel quorum inserts might work incorrectly with `MergeTree` tables created with deprecated syntax. Therefore, parallel quorum inserts support is completely disabled for such tables. It does not affect tables created with a new syntax. (). Add `quantileInterpolatedWeighted`/`quantilesInterpolatedWeighted` functions. (). Add an experimental inverted index as a new secondary index type for efficient text search. (). Add column `ptr` to `system.tracelog` for `tracetype = 'MemorySample'`. This column contains an address of allocation. Added function `flameGraph` which can build flamegraph containing allocated and not released memory. Reworking of . (). Dictionary source for extracting keys by traversing regular expressions tree. (). Added parametrized view functionality, now it's possible to specify query parameters for View table engine. resolves . (). added extendable and configurable scheduling subsystem for IO requests (not yet integrated with IO code itself). (). Added `SYSTEM DROP DATABASE REPLICA` that removes metadata of dead replica of `Replicated` database. Resolves . (). Array join support map type, like function explode in spark. (). Support SQL standard binary and hex string literals. (). Add experimental query result cache. (). format datetime in joda datetime style. Refer to https://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html. (). to merge , supporting regexp dictionary. (). Implemented a fractional second formatter (`%f`) for formatDateTime. (). Added age function to calculate difference between two dates or dates with time values expressed as number of full units. Closes . (). Implemented a fractional second formatter (%f) for formatDateTime. This is slightly modified PR by @ltrk2. (). Add null source for dictionaries. Closes . (). We can use `s3storageclass` to set different tier. Such as ``` <disks> <s3> <type>s3</type> <endpoint>xxx</endpoint> <accesskeyid>xxx</accesskeyid> <secretaccesskey>xxx</secretaccesskey> <s3storageclass>STANDARD/INTELLIGENTTIERING</s3storage_class> </s3> </disks> ``` Closes . (). Try to detect header with column names (and maybe types) for CSV/TSV/CustomSeparated input formats. Add settings `inputformattsv/csv/customdetectheader` that enables this behaviour (enabled by default). Closes . (). Insert default values in case of missing elements in JSON object while parsing named tuple. Add setting `inputformatjsondefaultsformissingelementsinnamed_tuple` that controls this behaviour. Closes #issuecomment-1380153217. (). - Add total memory and used memory metrics with respect to cgroup in AsyncMetrics (https://github.com/ClickHouse/ClickHouse/issues/37983). (). Introduce non-throwing variants of hasToken and hasTokenCaseInsensitive. (). Added sharding support in HashedDictionary to allow parallel load (almost linear scaling based on number of shards). (). Do not load inactive parts at startup of `MergeTree` tables. (). - Speed up query parsing. (). Always replace OR chain `expr = x1 OR ... OR expr = xN` to `expr IN (x1, ..., xN)` in case if `expr` is a `LowCardinality` column. Setting `optimizeminequalitydisjunctionchain_length` is ignored in this case. (). > Original changelog In the original implementation, the memory of ThreadGroupStatus:: finishedthreadscounters_memory is released by moving it to a temporary std::vector, which soon expired and gets destructed. This method is viable, however not straightforward enough. To enhance the code readability, this commit releases the memory in the vector by firstly resizing it to 0 and then shrinking the capacity accordingly. (). As a follow-up of , this PR tries to optimize the column-wise ternary logic evaluation by achieving auto-vectorization. In the performance test of this , we've observed a peak performance gain of 21x* on the ICX device (Intel Xeon Platinum 8380 CPU).

Improved latency of reading from storage `S3` and table function `s3` with large number of small files. Now settings `remotefilesystemreadmethod` and `remotefilesystemreadprefetch` take effect while reading from storage `S3`. (). - Avoid acquiring read locks in system.tables if possible. (). The performance experiments of SSB (Star Schema Benchmark) on the ICX device (Intel Xeon Platinum 8380 CPU, 80 cores, 160 threads) shows that this change could effectively decrease the lock contention for ThreadPoolImpl::mutex by 75%, increasing the CPU utilization and improving the overall performance by 2.4%*. (). Now optimisation is applied only if the cached HT size is sufficiently large (thresholds were determined empirically and hardcoded). (). ... The whole struct field will be loaded at current, even though we just want to read one field of the struct. (). Small performance improvement for asynchronous reading from remote fs. (). Switched to faster shared (RW) mutex implementation. Performance may be improved in queries with a lot of thread synchronization or for data structures experiencing heavy contention. (). Add fast path for: - col like '%%' - col like '%' - col not like '%' - col not like '%' - match(col, '.'). (). todo. (). Refactor and Improve streaming engines Kafka/RabbitMQ/NATS and add support for all formats, also refactor formats a bit: - Fix producing messages in row-based formats with suffixes/prefixes. Now every message is formatted complitely with all delimiters and can be parsed back using input format. - Support block-based formats like Native, Parquet, ORC, etc. Every block is formatted as a separated message. The number of rows in one message depends on block size, so you can control it via setting `maxblocksize`. - Add new engine settings `kafkamaxrowspermessage/rabbitmqmaxrowspermessage/natsmaxrowspermessage`. They control the number of rows formatted in one message in row-based formats. Default value: 1. - Fix high memory consumption in NATS table engine. - Support arbitrary binary data in NATS producer (previously it worked only with strings contained \0 at the end) - Add missing Kafka/RabbitMQ/NATS engine settings in documentation. - Refactor producing and consuming in Kafka/RabbitMQ/NATS, separate it from WriteBuffers/ReadBuffers semantic. - Refactor output formats: remove callbacks on each row used in Kafka/RabbitMQ/NATS (now we don't use callbacks there), allow to use IRowOutputFormat directly, clarify row end and row between delimiters, make it possible to reset output format to start formatting again - Add proper implementation in formatRow function (bonus after formats refactoring). (). Support `optimizeorlike_chain` in the new infrastructure. Part of . (). Improve the Asterisk and ColumnMatcher parsers. Part of . (). Implement `optimizeredundantfunctionsinorder_by` on top of QueryTree. Part of . (). Support `optimizegroupbyfunctionkeys` in the new analyzer architecture. Also, add support for optimizing GROUPING SETS keys. Part of . (). Improve reading CSV field in CustomSeparated/Template format. Closes Closes . (). Support reading/writing `Nested` tables as `List` of `Struct` in CapnProto format. Read/write `Decimal32/64` as `Int32/64`. Closes . (). - Unify query elapsed time measurements. (). Support scalar subqueries cache Implementation: Added a map with hash of the node (without alias) and the evaluated value to Context. Testing: * Added a test-case with new analyser in 02174ctescalar_cache.sql. (). Improve automatic usage of structure from insertion table in table functions file/hdfs/s3 when virtual columns present in select query, it fixes possible error `Block structure mismatch` or `number of columns mismatch`. (). Add support for signed arguments in range(). Fixes .

Remove redundant sorting, for example, sorting related ORDER BY clauses in subqueries. Implemented on top of query plan. It does similar optimization as `optimizeduplicateorderbyand_distinct` regarding `ORDER BY` clauses, but more generic, since it's applied to any redundant sorting steps (not only caused by ORDER BY clause) and applied to subqueries of any depth. Related to . (). Added mmap support for StorageFile, which should improve the performance of clickhouse-local. (). Add ability to disable deduplication for BACKUP (for backups wiithout deduplication ATTACH can be used instead of full RESTORE), example `BACKUP foo TO S3(...) SETTINGS deduplicatefiles=0` (default `deduplicatefiles=1`). (). Make `system.replicas` table do parallel fetches of replicas statuses. Closes . (). Refactor and improve schema inference for text formats. Add new setting `schemainferencemakecolumnsnullable` that controls making result types `Nullable` (enabled by default);. (). Better support for PROXYv1. (). Add information about the latest part check by cleanup thread into `system.parts` table. (). Disable functions in readonly for inserts. (). Add a setting `simultaneouspartsremoval_limit` to allow to limit the number of parts being processed by one iteration of CleanupThread. (). If user only need virtual columns, we don't need to initialize ReadBufferFromS3. May be helpful to . (). Prevent duplicate column names hints. Closes . (). Allow macro substitution in endpoint of disks resolve . (). Added a `messageformatstring` column to `system.text_log`. The column contains a pattern that was used to format the message. (). Improve schema inference when `inputformatjsonreadobjectasstring` is enabled. (). Add user-level setting `databasereplicatedallowreplicatedengine_arguments` which allow to ban creation of `ReplicatedMergeTree` tables with arguments in `DatabaseReplicated`. (). Prevent users from mistakenly specifying zero (invalid) value for `index_granularity`. This closes . (). Added possibility to set path to service keytab file in `keytab` parameter in `kerberos` section of config.xml. (). Use already written part of the query for fuzzy search (pass to skim). (). Enable inputformatjsonreadobjectsasstrings by default to be able to read nested JSON objects while JSON Object type is experimental. (). When users do duplicate async inserts, we should dedup inside the memory before we query keeper. (). Input/ouptut Avro bool type as ClickHouse bool type. (). - Don't parse beyond the quotes when reading UUIDs. (). Infer UInt64 in case of Int64 overflow and fix some transforms in schema inference. (). Previously dependency resolving inside DatabaseReplicated was done in a hacky way and now it done right using an explicit graph. (). Support Bool type in Arrow/Parquet/ORC. Closes . (). Fix `outputformatprettyrownumbers` does not preserve the counter across the blocks. Closes . (). Extend function "toDayOfWeek" with a mode argument describing if a) the week starts on Monday or Sunday and b) if counting starts at 0 or 1. (). - Don't report errors in system.errors due to parts being merged concurrently with the background cleanup process. (). Optimize and fix metrics for Distributed async INSERT. (). Added settings to disallow concurrent backups and restores resolves Implementation: Added server level settings to disallow concurrent backups and restores, which are read and set when BackupWorker is created in Context. Settings are set to true by default. Before starting backup or restores, added a check to see if any other backups/restores are running. For internal request it checks if its from the self node using backup_uuid. (). add a cache for async block ids. This will reduce the requests of zookeeper when we enable async inserts deduplication.

CRC32 changes to address the WeakHash collision issue in PowerPC. (). Optimize memory consumption during backup to S3: files to S3 now will be copied directly without using `WriteBufferFromS3` (which could use a lot of memory). (). Use structure from insertion table in generateRandom without arguments. (). Use `GetObjectAttributes` request instead of `HeadObject` request to get the size of an object in AWS S3. This change fixes handling endpoints without explicit region, for example. (). Add `<storage_policy>` config parameter for system logs. (). Remove redundant sorting, for example, sorting related ORDER BY clauses in subqueries. Implemented on top of query plan. It does similar optimization as `optimizeduplicateorderbyand_distinct` regarding `ORDER BY` clauses, but more generic, since it's applied to any redundant sorting steps (not only caused by ORDER BY clause) and applied to subqueries of any depth. Related to . (). Allow to implicitly convert floats stored in string fields of JSON to integers in `JSONExtract` functions. E.g. `JSONExtract('{"a": "1000.111"}', 'a', 'UInt64')` -> `1000`, previously it returned 0. (). Added fields `supportsparallelparsing` and `supportsparallelformatting` to table `system.formats` for better introspection. (). Attempt to improve fsync latency (by syncing all files at once during fetches and small files after mutations) and one tiny fix for fsyncpartdirectory. (). Fix HTTP requests without path for AWS. After updating AWS SDK the sdk no longer adds a slash to requesting paths so we need to do it in our PocoHTTPClient to keep HTTP requests correct. (). Fix backup if mutations get killed during the backup process. (). Builtin skim for fuzzy search in clickhouse client/local history. (). Memory limit for server is set now in AST fuzz tests to avoid OOMs. (). In rare cases, we don't rebuild binaries, because another task with a similar prefix succeeded. E.g. `binarydarwin` didn't restart because `binarydarwin_aarch64`. (). The "universal.sh" now fetches a SSE2 build on systems which don't have SSE4.2. (). Retry the integration tests on compressing errors. (). ... 1. Added pytest-random by default in integration tests runner 2. Disable TSAN checks for tests with GPRC ( like https://s3.amazonaws.com/clickhouse-test-reports/42807/e9d7407a58f6e3f7d88c0c534685704f23560704/integrationteststsan_ (). We removed support for shared linking because of Rust. Actually, Rust is only an excuse for this removal, and we wanted to remove it nevertheless. (). Checks will try to download images before running integration tests. If image, proxy or whatever is broken in infrastructure it will not make tests flaky. Images will be cached locally and download time will not be added to random tests. Compose images are now changed to be used without correct environment from helpers/cluster.py. (). Fix zookeeper downloading, update the version, and optimize the image size. (). The performance tests were silently broken because `Errors` wasn't detected in the status message. (). Remove the dependency on the `adduser` tool from the packages, because we don't use it. This fixes . (). SQLite library is updated to the latest. It is used for the SQLite database and table integration engines. Also, fixed a false-positive TSan report. This closes . (). Fix report sending in the case when FastTest failed. (). #40651 . (). Fix possible use-of-unitialized value after executing expressions after sorting. Closes CC: @nickitat. (). Better handling of NULL in aggregate combinators, fix possible segfault/logical error while using optimization `optimizerewritesumiftocountif`. Closes . (). Fix CREATE USER/ROLE query settings constraints. (). Fix wrong behavior of `JOIN ON t1.x =

AND 1 = 1`, forbid such queries. (). Fixed bug with non-parsable default value for EPHEMERAL column in table metadata. (). Fix parsing of bad version from compatibility setting. (). Bring interval subtraction from datetime in line with addition. (). Fix double-free in HashTable::clearAndShrink() with zero elements in it. (). Remove limits on maximum size of the result for view. (). Fix possible logical error in cache if `donotevictindexandmrkfiles=1`. Closes . (). Fix possible too early cache write interruption in write-through cache (caching could be stopped due to false assumption when it shouldn't have). (). Fix possible crash in case function `IN` with constant arguments was used as a constant argument together with `LowCardinality`. Fixes . (). Fix support for complex parameters (like arrays) of parametric aggregate functions. This closes . The aggregate function `sumMapFiltered` was unusable in distributed queries before this change. (). Fix possible nullptr deference in JoinSwitcher with `allowexperimentalanalyzer`. (). Fix reading ObjectId in BSON schema inference. (). Fix race which can lead to premature temp parts removal before merge finished in ReplicatedMergeTree. This issue could lead to errors like `No such file or directory: xxx`. Fixes . (). Some invalid `SYSTEM ... ON CLUSTER` queries worked in an unexpected way if a cluster name was not specified. It's fixed, now invalid queries throw `SYNTAX_ERROR` as they should. Fixes . (). Fix reading Map type in ORC format. (). Fix reading columns that are not presented in input data in Parquet/ORC formats. Previously it could lead to error `INCORRECTNUMBEROF_COLUMNS`. Closes . (). Previously bar() function used the same '' (U+258B "Left five eighths block") character to display both 5/8 and 6/8 bars. This change corrects this behavior by using '' (U+258A "Left three quarters block") for displaying 6/8 bar. (). Placing profile settings after profile settings constraints in the configuration file made constraints ineffective. (). Fix `SYNTAX_ERROR` while running `EXPLAIN AST INSERT` queries with data. Closes . (). Fix reading bool value with CRLF in CSV format. Closes . (). Don't execute and/or/if/multiIf on LowCardinality dictionary, so the result type cannot be LowCardinality. It could lead to error `Illegal column ColumnLowCardinality` in some cases. Fixes . (). Fix mutations with setting `maxstreamsformergetree_reading`. (). Fix potential null pointer dereference with GROUPING SETS in ASTSelectQuery::formatImpl (). (). Validate types in table function arguments, CAST function arguments, JSONAsObject schema inference according to settings. (). - Fix IN function with LC and const column, close . (). Fixed a bug in normalization of a `DEFAULT` expression in `CREATE TABLE` statement. The second argument of function `in` (or the right argument of operator `IN`) might be replaced with the result of its evaluation during CREATE query execution. Fixes . (). Projections do not work in presence of WITH ROLLUP, WITH CUBE and WITH TOTALS. In previous versions, a query produced an exception instead of skipping the usage of projections. This closes . This closes . (). Fix bug in experimental analyzer and `aggregatefunctionsnullforempty = 1`. Close . (). async blocks are not cleaned because the function `get all blocks sorted by time` didn't get async blocks. (). Fix `LOGICAL_ERROR` `The top step of the right pipeline should be ExpressionStep` for JOIN with subquery, UNION, and TOTALS. Fixes . (). Avoid std::outofrange exception in StorageExecutable. (). Do not apply `optimizesyntaxfuse_functions` to quantiles on AST, close .

Fix bug with wrong type in Merge table and PREWHERE, close . (). Fix possible crash during shutdown (while destroying TraceCollector). Fixes . (). Fix a possible crash in distributed query processing. The crash could happen if a query with totals or extremes returned an empty result and there are mismatched types in the Distrubuted and the local tables. Fixes . (). Fix fsync for fetches (`mincompressedbytestofsyncafterfetch`)/small files (ttl.txt, columns.txt) in mutations (`minrowstofsyncaftermerge`/`mincompressedbytestofsyncafter_merge`). (). A rare race condition was possible when querying the `system.parts` or `system.parts_columns` tables in the presence of parts being moved between disks. Introduced in . (). Fix the error `Context has expired` which could appear with enabled projections optimization. Can be reproduced for queries with specific functions, like `dictHas/dictGet` which use context in runtime. Fixes . (). Another fix for `Cannot read all data` error which could happen while reading `LowCardinality` dictionary from remote fs. Fixes . (). - Ignore hwmon sensors on label read issues. (). Use `maxdelayto_insert` value in case calculated time to delay INSERT exceeds the setting value. Related to . (). Fix error `Different order of columns in UNION subquery` for queries with `UNION`. Fixes . (). Delay for INSERT can be calculated incorrectly, which can lead to always using `max_delay_to_insert` setting as delay instead of a correct value. Using simple formula `max_delay_to_insert (partsoverthreshold/maxallowedpartsoverthreshold)` i.e. delay grows proportionally to parts over threshold. Closes . (). fix alter table ttl error when wide part has light weight delete mask. (). Follow-up fix for Replace domain IP types (IPv4, IPv6) with native . (). Follow-up fix for Replace domain IP types (IPv4, IPv6) with native https://github.com/ClickHouse/ClickHouse/pull/43221. (). A buffer overflow was possible in the parser. Found by fuzzer. (). Fix possible cannot-read-all-data error in storage FileLog. Closes , . (). Memory efficient aggregation (setting `distributedaggregationmemory_efficient`) is disabled when grouping sets are present in the query. (). Fix `RANGEHASHED` dictionary to count range columns as part of primary key during updates when `updatefield` is specified. Closes . (). Fix error `Cannot capture column` for `LowCardinality` captured argument of nested labmda. Fixes . (). Fix the wrong query result of `additionaltablefilters` (additional filter was not applied) in case if minmax/count projection is used. (). - Fixed bug in `histogram` function accepting negative values. (). Follow-up fix for Replace domain IP types (IPv4, IPv6) with native https://github.com/ClickHouse/ClickHouse/pull/43221. (). Fix wrong column nullability in StoreageJoin, close . (). Fix `backgroundfetchespool_size` settings reload (increase at runtime). (). Correctly process `SELECT` queries on KV engines (e.g. KeeperMap, EmbeddedRocksDB) using `IN` on the key with subquery producing different type. (). Fix logical error in SEMI JOIN & joinusenulls in some cases, close , close . (). Fix heap-use-after-free in reading from s3. (). Fix bug when the Avro Union type is . Fix bug that incorrectly infer `bytes` type to `Float`. (). Throw a correct exception when explicit PREWHERE cannot be used with table using storage engine `Merge`. (). Under WSL1 Ubuntu self-extracting clickhouse fails to decompress due to inconsistency - /proc/self/maps reporting 32bit file's inode, while stat reporting 64bit inode. (). Fix race in Distributed table startup (that could lead to processing file of async INSERT multiple times). (). Fix possible crash while reading from storage `S3` and table function `s3` in case when `ListObject` request has failed.

Fixed some bugs in JOINS with WHERE by disabling "move to prewhere" optimization for it, close . (). Fix `SELECT ... FROM system.dictionaries` exception when there is a dictionary with a bad structure (e.g. incorrect type in xml config). (). Fix s3Cluster schema inference when structure from insertion table is used in `INSERT INTO ... SELECT FROM s3Cluster` queries. (). Fix bug in JSON/BSONEachRow parsing with HTTP that could lead to using default values for some columns instead of values from data. (). Fixed bug (Code: 632. DB::Exception: Unexpected data ... after parsed IPv6 value ...) with typed parsing of IP types from text source. (). close Add check for empty regular expressions. (). Fix possible (likely distributed) query hung. (). Fix disabled two-level aggregation from HTTP. (). Fix possible deadlock with `allowasynchronousreadfromiopoolformergetree` enabled in case of exception from `ThreadPool::schedule`. (). Fix possible in-use table after DETACH. (). Fix rare abort in case when query is canceled and parallel parsing was used during its execution. (). Fix a race between Distributed table creation and INSERT into it (could lead to CANNOT_LINK during INSERT into the table). (). Add proper default (SLRU) to cache policy getter. Closes . (). Remove AST-based optimization `optimizefusesumcountavg`, close . (). Disallow arrayjoin in mutations closes Implementation: Added a new parameter to ActionsVisitor::Data disallowarrayjoin, which is set by MutationsIterator when it appends expression. * ActionsVisitor uses disallowarrayjoin and throws error when its used with mutations. Testing: * Added test for the same 02504disallowarrayjoininmutations.sql. (). Fix for qualified asterisks with alias table name and column transformer resolves . (). Updated backup/restore status when concurrent backups & restores are not allowed resolves Implementation: Moved concurrent backup/restore check inside try-catch block which sets the status so that other nodes in cluster are aware of failures. * Renamed backupuuid to restoreuuid in RestoreSettings. (). crc32 fix for s390x. (). Fixed endian issues in transform function for s390x. (). Record server startup time in ProfileEvents resolves Implementation: Added ProfileEvents::ServerStartupMilliseconds. Recorded time from start of main till listening to sockets. Testing: Added a test 02532profileeventsserverstartuptime.sql. (). NO CL ENTRY: 'Revert "If user only need virtual columns, we don't need to initialize ReadBufferFromS3"'. (). NO CL ENTRY: 'Revert "Custom reading for mutation"'. (). NO CL ENTRY: 'Revert "Revert "Custom reading for mutation""'. (). NO CL ENTRY: 'Revert "update function DAYOFWEEK and add new function WEEKDAY for mysql/spark compatiability"'. (). NO CL ENTRY: 'Revert "Validate function arguments in query tree"'. (). NO CL ENTRY: 'Revert "Revert "Validate function arguments in query tree""'. (). NO CL ENTRY: 'Revert "Support optimizeorlike_chain in QueryTreePassManager"'. (). NO CL ENTRY: 'Resubmit Support optimizeorlike_chain in QueryTreePassManager'. (). NO CL ENTRY: 'Revert "Remove redundant sorting"'. (). Automatically merge green backport PRs and green approved PRs (). Fix assertion in async read buffer from remote (). add retries on ConnectionError (). Update aws-c submodules (). Replace domain IP types (IPv4, IPv6) with native (). Fix aggregate functions optimisation in AggregateFunctionsArithmericOperationsPass (). Improve pytest --pdb experience by preserving dockerd on SIGINT (). RFC: tests: add stacktraces for hunged queries (). Followup fixes for systemd notification () (). Refactor FunctionNode (). Some cleanup: grace hash join (). Temporary files evict fs cache - 2nd approach (). Randomize setting `enablememoryboundmergingofaggregationresults` in tests (). Analyzer aggregate functions passes small fixes (). Fix wrong char in command (). Analyzer support Set index (). Provide monotonicity info for `toUnixTimestamp64`

Avoid loading toolchain files multiple times (). tests: exclude flaky columns from SHOW CLUSTERS test (). Bump libdivide (to gain some new optimizations) (). Make atomic counter relaxed in blockNumber() (). Try fix flaky 01072windowviewmultiplecolumns_groupby (). Apply new code of named collections (from ) to external table engines part 1 (). Add some settings under `compatibility` (). Recommend Slack over Telegram in the "Question" issue template (). Forbid paths in timezone names (). Analyzer storage view crash fix (). Add ThreadsInOvercommitTracker metric (). Analyzer expired Context crash fix (). Fix grace join memory consumption, pt1 (). Fixed use-after-free of BLAKE3 error message (). Fix deadlock in StorageSystemDatabases (). Get rid of global Git object (). Update version after release (). Update version_date.tsv and changelogs after v22.12.1.1752-stable (). Do not hold data parts during insert (). Another fix `testserverreload` (). Update version_date.tsv and changelogs after v22.9.7.34-stable (). tests/perf: fix dependency check during DROP (). (unused openssl integration, not for production) a follow-up (). Replace old named collections code with new (from ) part 2 (). Disable "git-import" test in debug mode (). Check s3 part upload settings (). Fix typo (). Add a test for PowerBI (). Add a test for (). Add a test for (). Add a test for (). Add a test for (). Fix Docker (). fix flack test "02481asyncinsert_dedup.python" (). Add a test for (). Add a test for (). Add a test for (). Add a test for (). Add a test for (). Try restarting ZK cluster on failed connection in `testkeeperzookeeper_converted` (). Disable grasehash in test 00172parallel_join (). Add check for submodules sanity (). Lock table for share during startup for database ordinary (). Implement a custom central checkout action (). Try fix some tests (). Better ParserAllCollectionsOfLiterals (). Fix bug with merge/mutate pool size increase (). Update 01072windowviewmultiplecolumns_groupby.sh (). Disable buggy tsan assertion for integration test (). Respect setting settings.schemainferencemakecolumnsnullable in Parquet/ORC/Arrow formats (). Add tests as examples with errors of date(time) and string comparison that we should eliminate (). Parallel parts cleanup with zero copy replication (). Fix incorrect usages of `getPartName()` (). Fix flaky test `roaringmemorytracking` (). Clarify queryid in test 01092memory_profiler (). Default value for optional in SortNode::updateTreeHashImpl (). Do not try to remove WAL/move broken parts for static storage (). Removed parent pid check that breaks in containers (). Analyzer duplicate alias crash fix (). Minor code polishing (). Better error message if named collection does not exist (). Add the lambda to collect data for workflow_jobs (). Introduce groupArrayLast() (useful to store last X values) (). Infer numbers starting from zero as strings in TSV (). Fix wrong condition for enabling async reading from MergeTree. (). tests: capture dmesg in integration tests (). Analyzer support distributed queries processing (). Followup (). Drop unused columns after join on/using (). Improve inferring arrays with nulls in JSON formats (). Make BC check optional (if env var set) (). Fix extremely slow stack traces in debug build (). Better command line argument name in `clickhouse-benchmark` (). Fix HDFS test (). Fix testdistributedqueries_stress (). Switch "contrib/sysroot" back to master. (). Non-significant changes (). Fuzzer HTML: fix trash (). Better diagnostics on server stop for the stress test (). The position of the log message about the server environment was wrong (). Fix bad punctuation in log

Fix misleading log message (). Fix bad log message about MergeTree metadata cache. (). Slightly cleanup interactive line reader code (). Rename `runlog.log` to `run.log` in tests (). Fix hung query in stress test (). Improve variable name (). Faster server startup after stress test (). Fix log messages in Coordination (). Disable Analyzer in fuzz and stress tests (). Better log message (). Maybe fix a bogus MSan error (). Fix "too large allocation" message from MSan (). Do not fail the AST fuzzer if sanitizer is out of memory (). Fix test `01111createdropreplicateddb_stress` (). tests/integration: suppress exceptions during logging (due to pytest) (). Fix rust modules rebuild (previously ignores changes in cargo config.toml) (). Sometimes spot instances fail more than 20 times in a row (). Fix restart after quorum insert (). Revert "Merge pull request from ClickHouse/add-allocation-ptr-to-trace-log (). Fix lambdas parsing (). Function viewExplain accept SELECT and settings (). Fix test `02015asyncinserts_2` (). Fix flaky test `testkeepermultinode_simple` (). Add +x flag for run-fuzzer.sh (). Custom reading for mutation (). Fix flaky test testbackuprestoreoncluster (). tests/integration: add missing kazoo client termination (). Move dmesg dumping out from runner to ci-runner.py (). Remove questdb (it makes a little sense but the test was flaky) (). Fix minor typo: replace validatebugixcheck with validatebugfixcheck (). Fix parsing of ANY operator (). Fix test `01130inmemory_parts` (). Remove old code (). Fix flaky test git-import (). Improve odbc test (). Add retries to HTTP requests in ClickHouse test (). Fix flaky tests (). Fix flaky test "01502longlogtinylogdeadlock_race" (). Improve handling of old parts (). Update entrypoint.sh (). tests: more fixes for testkeeperauth (). Fix crash on delete from materialized view (). Fix flaky filelog tests with database ordinary (). Make lightweight deletes always synchronous (). Fix deadlock in attach thread (). A few improvements to AST Fuzzer (). Fix flaky test (). Rename log in stress test (). Debug deadlock in stress test (). Fix flaky test "02102rowbinarywithnamesandtypes.sh" (). Slightly better some tests (). Fix cases when clickhouse-server takes long time to start in functional tests with MSan (). Perf test: Log the time spent waiting for file sync (). Fix flaky test 02448clonereplicalostpart (). Build rust modules from the binary directory (). Remove database ordinary from stress test (). Fix flaky test 02479mysqlconnecttoself (). Print fatal messages in Fuzzer (). Fix incorrect docs (). Added table name to error message (). Retry packages download if GitHub returned HTTP 500. (). Slightly better docs (). Fix total trash in stress test (). Fix ASan builds for glibc 2.36+ (). Remove the remainings of TestFlows (). Fix `grep` (). Fix bad cast in monotonicity analysis (). Modern tools, part 1 (). Modern tools in CI, part 2. (). Fix data race in DDLWorker (). Fix tests for bridges (). Fix flaky testmultipledisks::testjbodoverflow (). Less OOM in stress test (). Fix misleading integration tests reports for parametrized tests (). Fix two typos (). Adjust CSS (). Fix fuzzer report (). check-style: check base for std::cerr/cout too (). Try fixing `testkeepersnapshotsmalldistance` with ZK restart (). Exclude cargo shared libraries from the artifacts (). Add a tiny but important logging (). Escape submodules in style-check (). Move `testdieswith_parent` to another module (). Remove unneeded softlink to official dev docs (). Fix data race in StorageS3 (). Fix rare race which can lead to queue hang

No more retries in integration tests (). Document usage of checkcxxsourcecompiles instead of checkcxxsourceruns (). More cases of OOM in Fuzzer (). Fix: sorted DISTINCT with empty string (). Try to fix MSan build (). Cleanup setup_minio.sh (). Wait for ZK process to stop in tests using snapshot (). Fix flaky test and several typos (). Upload status files to S3 report for bugfix check (). Fix flaky test `02503insertstorage_snapshot` (). Revert some changes from to fix performance tests (). Rewrite testpostgresprotocol test (). Fix ConcurrentBoundedQueue::emplace() return value in case of finished queue (). Validate function arguments in query tree (). Rework CI reports to have a class and clarify the logic (). fix-typo (). Store ZK generated data in `testkeepersnapshotsmalldistance` (). Fix "AttributeError: 'BuildResult' object has no attribute 'libraries'" in BuilderReport and BuilderSpecialReport (). Convert integration testdictionariesupdate_field to a stateless (). Upgrade googletest to latest HEAD (). Try fix rabbitmq potential leak (). Try to fix flaky `teststoragekafka::testkafkaproducekeytimestamp` (). Fix flaky `testconcurrentqueriesrestrictionbyquerykind` (). Avoid Keeper crash on shutdown (fix `testkeepersnapshotonexit`) (). Do not merge over a gap with outdated undeleted parts (). Fix logging message in MergeTreeDataMergerMutator (about merged parts) (). Fix flaky test `testlostpart` (). Add fast and cancellable shared_mutex alternatives (). Fix deadlock in Keeper's changelog (). Stop merges to avoid a race between merge and freeze. (). Fix memory leak in Aws::InitAPI (). Change error code on invalid backgroundpoolsize config (). Fix exception fix in TraceCollector dtor (). Parallel distributed insert select with s3Cluster (). Do not check read result consistency when unwinding (). Up the log level of tables dependencies graphs (). Hipster's HTML (). Docs: Mention non-standard DOTALL behavior of ClickHouse's match() (). tests: fix testreplicatedusers flakiness (). Check what if disable some checks in storage Merge. (). Fix check for not existing input in ActionsDAG (). Update version_date.tsv and changelogs after v22.12.2.25-stable (). Fix test testgrpcprotocol/test.py::test_progress (). Improve S3 EC2 metadata tests (). Fix minmaxcountprojection with partitionvalue (). Fix strange trash in Fuzzer (). Add `dmesg.log` to Fuzzer (). Fix `01961roaringmemory_tracking` test, again (). Recognize more ok cases for Fuzzer (). Supposedly fix the "Download script failed" error (). Add snapshot creation retry in Keeper tests using ZooKeeper (). test for (). test for (). Remove the remainings of Testflows (2). (). Enable the check that was commented (). Fix false positive in Fuzzer (). Fix false positive in Fuzzer, alternative variant (). Fix function `range` (the bug was unreleased) (). Fix OOM in Fuzzer (). Less OOM in Stress test (). Add a test for (). Add a test for (). Fix typos (). I didn't understand the logic of this test, @azat (). Small fixes for Coordination unit tests (). Fix flaky test (hilarious) (). Non significant changes (). Don't fix parallel formatting (). Fix (benign) data race in clickhouse-client (). Analyzer aggregation without column fix (). Analyzer ARRAY JOIN crash fix (). Fix data race in openSQLiteDB (). Analyzer function IN crash fix (). JIT compilation float to bool conversion fix (). Update version_date.tsv and changelogs after v22.11.3.47-stable (). Update version_date.tsv and changelogs after v22.10.5.54-stable (). Update version_date.tsv and changelogs after v22.3.16.1190-lts (). Improve release scripts (). Change the color of links in dark reports a little bit (). Fix Fuzzer script (). Try fixing KeeperMap tests (). Update version_date.tsv and changelogs after v22.8.12.45-lts

Try to fix flaky testcreateuserandlogin/test.py::testloginasdroppeduser_xml (). Update version_date.tsv and changelogs after v22.10.6.3-stable (). Docs: Make heading consistent with other headings in System Table docs (). Update version_date.tsv and changelogs after v22.11.4.3-stable (). Update version_date.tsv and changelogs after v22.12.3.5-stable (). Docs: Rewrite awkwardly phrased sentence about flush interval (). Fix data race in s3Cluster. (). Pull SQLancer image before check run (). Fix flaky azure test (). Minor cleanup in stress/run.sh (). Performance report: "Partial queries" --> "Backward-incompatible queries (). Fix flaky testtcphandlerinterserverlisten_host (). Clean trash from changelog for v22.3.16.1190-lts (). Disable `teststoragerabbitmq` (). Disable testttlmovememoryusage as too flaky. (). More logging to facilitate debugging of flaky testttlreplicated (). Try to fix flaky testttlmovememoryusage (). Fix flaky test testmultipledisks/test.py::test_rename (). Calculate only required columns in system.detached_parts (). Restart NightlyBuilds if the runner died (). Fix part ID generation for IP types for backward compatibility (). Fix integration test testreplicatedusers::testrenamereplicated (). Add CACHE_INVALIDATOR for sqlancer builds (). Fix possible stack-use-after-return in LimitReadBuffer (). Disable check to make testovercommittracker not flaky (). Fix flaky test `01961roaringmemory_tracking` (3) (). Remove trash from stress test (). remove unused function (). Fix flaky `testkeeperthreenodestwo_alive` (). Fuzz PREWHERE clause (). Added a test for merge join key condition with big int & decimal (). Fix rare logical error: `Too large alignment` (). Update version_date.tsv and changelogs after v22.3.17.13-lts (). More verbose logs about replication log entries (). One more attempt to fix race in TCPHandler (). Update clickhouse-test (). Planner small fixes (). Fix log level "Test" for sendlogslevel in client (). tests: fix clickhouse binaries detection (). tests/ci: encode HTML entities in the reports (). Disable `02151hashtablesizesstats_distributed` under TSAN (). Fix wrong approved_at, simplify conditions (). Disable 02028createselect_settings with Ordinary (). Save message format strings for DB::Exception (). Slightly better output for glibc check (). Add checks for compilation of regexps (). Analyzer compound identifier typo correction fix (). Bump to newer version of debug-action (). Improve failed kafka startup logging (). Fix flaky ttl test (). Add detailed profile events for throttling (). Update .gitignore (). Make test simpler to see errors (). Reduce an amount of trash in `testssystemmerges` (). Fix reading from encrypted disk with passed file size (). Add delete by ttl for zookeeper_log (). Get rid of artifactory in favor of r2 + ch-repos-manager (). Minor improvements around reading from remote (). Docs: Beautify section on secondary index types (). Fix Buffer's offsets mismatch logical error in stress test (). Better formatting for exception messages (). Add default GRANULARITY argument for secondary indexes (). Cleanup of inverted index (). CherryPick: Fix a wrong staring search date (). Fix typos (). Fix possible aborts in arrow lib (). Add more retries to AST Fuzzer (). Fix schema inference from insertion table in hdfsCluster (). Remove unnecessary getTotalRowCount function calls (). Use new copy s3 functions in S3ObjectStorage (). Forward declaration of ConcurrentBoundedQueue in ThreadStatus (). Revert "Merge pull request from azat/dist/async-INSERT-metrics" (). Docs: Fix weird formatting (). Docs: Fix link to writing guide (). Improve logging for TeePopen.timeout exceeded (). Fix MSan build once again (too heavy translation units) (). Additional check in MergeTreeReadPool (). Update testsystemmerges/test.py (). Revert "Merge pull request from azat/fix-detach" (). Update stress (). Ignore utf errors in clickhouse-test reportLogStats (). Resubmit "Fix possible in-use table after DETACH" (). Typo: "Granulesis" --> "Granules" (). Fix version in autogenerated_versions.txt ().