Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
a1610dd
Backport #115670 to 26.8: Fix substreams cache key collision between …
robot-clickhouse Sep 15, 2026
a6da207
Merge pull request #120302 from ClickHouse/backport/26.8/115670
clickhouse-gh[bot] Sep 16, 2026
2b6bc6a
Backport #119977 to 26.8: Do not enable Iceberg compaction settings i…
robot-clickhouse Sep 16, 2026
21b00f2
Backport #120025 to 26.8: Fix unparseable metadata for a NATS table d…
robot-clickhouse Sep 16, 2026
c694da5
Backport #120239 to 26.8: Mask the base-url password of a URL databas…
robot-clickhouse Sep 16, 2026
1fcfa78
Merge pull request #120331 from ClickHouse/backport/26.8/119977
antaljanosbenjamin Sep 16, 2026
de7e840
Backport #119001 to 26.8: Restore selected right join key from left u…
robot-clickhouse Sep 16, 2026
846c8f2
Backport #119868 to 26.8: Add `validate_group_by_all_key_types` to ga…
robot-clickhouse Sep 16, 2026
93451b5
Backport #119873 to 26.8: Combine small blocks into one Arrow IPC rec…
robot-clickhouse Sep 16, 2026
2300225
Backport #119032 to 26.8: Text index: make `mergeTreeTextIndex` stric…
robot-clickhouse Sep 16, 2026
a0f67cd
Update autogenerated version to 26.8.6.5 and contributors
robot-clickhouse Sep 16, 2026
5c5005a
Merge pull request #120394 from ClickHouse/backport/26.8/119001
fm4v Sep 16, 2026
fd5856a
Record `validate_group_by_all_key_types` in the 26.8 settings-history…
fm4v Sep 16, 2026
102678e
Backport #117329 to 26.8: Add a setting to forbid listing namespaces …
robot-clickhouse Sep 17, 2026
bfa2b4c
Merge pull request #120408 from ClickHouse/backport/26.8/119868
fm4v Sep 17, 2026
8e5f862
Merge pull request #120428 from ClickHouse/backport/26.8/119873
PedroTadim Sep 17, 2026
7721ebd
Merge pull request #120431 from ClickHouse/backport/26.8/119032
PedroTadim Sep 17, 2026
b27aed8
Merge pull request #120379 from ClickHouse/backport/26.8/120239
PedroTadim Sep 17, 2026
3366ec3
Merge remote-tracking branch 'origin/26.8' into backport/26.8/117329
PedroTadim Sep 17, 2026
31aa779
Merge pull request #120358 from ClickHouse/backport/26.8/120025
PedroTadim Sep 17, 2026
f5f2977
Backport #119999 to 26.8: Mirror the MinIO integration-test images in…
robot-clickhouse Sep 17, 2026
d530d25
Backport #120433 to 26.8: Preserve static S3 auth settings on client …
robot-clickhouse Sep 17, 2026
78b528c
Backport #116647 to 26.8: Check access to the source table when resol…
robot-clickhouse Sep 17, 2026
5f9d2b7
Backport #120356 to 26.8: Reject path traversal in file names from pa…
robot-clickhouse Sep 17, 2026
b49507a
Merge pull request #120542 from ClickHouse/backport/26.8/119999
clickhouse-gh[bot] Sep 17, 2026
5c19509
Backport #120252 to 26.8: Fix out-of-bounds read on truncated compact…
robot-clickhouse Sep 17, 2026
84c02e1
Merge remote-tracking branch 'origin/26.8' into HEAD
PedroTadim Sep 17, 2026
0200c7b
Merge remote-tracking branch 'origin/26.8' into HEAD
PedroTadim Sep 17, 2026
15f796f
Merge remote-tracking branch 'origin/26.8' into HEAD
PedroTadim Sep 17, 2026
9457be6
Merge remote-tracking branch 'origin/26.8' into HEAD
PedroTadim Sep 17, 2026
674b994
Backport #119848 to 26.8: Do not skip access checks of a user query e…
robot-clickhouse Sep 17, 2026
a60b43c
Backport #118791 to 26.8: Allow to change fs cache boundary alignment…
robot-clickhouse Sep 17, 2026
b628397
Merge pull request #120561 from ClickHouse/backport/26.8/120433
clickhouse-gh[bot] Sep 17, 2026
57d79fc
Merge pull request #120569 from ClickHouse/backport/26.8/120356
clickhouse-gh[bot] Sep 17, 2026
8049b49
Backport #116446 to 26.8: Do not use the distributed-plan Shuffle agg…
robot-clickhouse Sep 17, 2026
0d781e8
Merge pull request #120610 from ClickHouse/backport/26.8/120252
clickhouse-gh[bot] Sep 17, 2026
1ce835e
Merge pull request #120563 from ClickHouse/backport/26.8/116647
clickhouse-gh[bot] Sep 17, 2026
0454bfe
Merge pull request #120493 from ClickHouse/backport/26.8/117329
clickhouse-gh[bot] Sep 17, 2026
6f2cf69
Merge pull request #120621 from ClickHouse/backport/26.8/119848
clickhouse-gh[bot] Sep 17, 2026
aee16e2
Backport #119847 to 26.8: Handle a ZooKeeper `Multi` request without …
robot-clickhouse Sep 17, 2026
a316c31
Merge pull request #120628 from ClickHouse/backport/26.8/118791
clickhouse-gh[bot] Sep 17, 2026
e1ac590
Merge pull request #120639 from ClickHouse/backport/26.8/116446
clickhouse-gh[bot] Sep 17, 2026
dab3b91
Backport #119495 to 26.8: Fix parameterized view insert select legacy…
robot-clickhouse Sep 17, 2026
f29d27d
Merge pull request #120699 from ClickHouse/backport/26.8/119495
clickhouse-gh[bot] Sep 18, 2026
cf1db86
Merge pull request #120669 from ClickHouse/backport/26.8/119847
antonio2368 Sep 18, 2026
4cafeec
Backport #119523 to 26.8: Check the read source grant and the host fi…
robot-clickhouse Sep 18, 2026
703dd38
Backport #117981 to 26.8: Do not terminate the server on retryable er…
robot-clickhouse Sep 18, 2026
360e534
Backport #118496 to 26.8: Fix a text index direct read silently retur…
robot-clickhouse Sep 18, 2026
0d6edd4
Merge pull request #120797 from ClickHouse/backport/26.8/119523
clickhouse-gh[bot] Sep 18, 2026
acb067c
Backport #120214 to 26.8: Keep the LIMIT block size shrink for querie…
robot-clickhouse Sep 18, 2026
0886fab
Round `L2Distance` in `02354_vector_search_rescoring_distance_in_sele…
strtgbb Sep 18, 2026
f26359b
Backport #119846 to 26.8: Reject paths with an embedded NUL byte in f…
robot-clickhouse Sep 18, 2026
69d3b91
Update autogenerated version to 26.8.7.19 and contributors
robot-clickhouse Sep 18, 2026
c154daf
Merge pull request #120815 from ClickHouse/backport/26.8/117981
clickhouse-gh[bot] Sep 18, 2026
57bd5f3
Merge pull request #120820 from ClickHouse/backport/26.8/118496
clickhouse-gh[bot] Sep 18, 2026
a88b365
Merge tag 'v26.8.7.19-lts' into rebase-cicd-v26.8.7.19-lts
strtgbb Sep 18, 2026
9aab690
fix PRs table being broken by a PR 404
strtgbb Aug 31, 2026
9d57688
Merge pull request #120828 from ClickHouse/backport/26.8/120214
clickhouse-gh[bot] Sep 18, 2026
4497393
Merge pull request #120848 from ClickHouse/backport/26.8/119846
clickhouse-gh[bot] Sep 18, 2026
a704aed
Backport #116539 to 26.8: Bump `cctz` to tzdata 2026c
robot-clickhouse Sep 18, 2026
0de36d4
Merge pull request #120896 from ClickHouse/backport/26.8/116539
clickhouse-gh[bot] Sep 18, 2026
d740654
Backport #120935 to 26.8: Do not dereference the optional copy proper…
robot-clickhouse Sep 19, 2026
327a6a8
Backport #118712 to 26.8: Make 01076_parallel_alter_replicated_zookee…
robot-clickhouse Sep 19, 2026
fcdd227
Merge pull request #121003 from ClickHouse/backport/26.8/118712
clickhouse-gh[bot] Sep 19, 2026
1068d9b
Merge pull request #120999 from ClickHouse/backport/26.8/120935
clickhouse-gh[bot] Sep 19, 2026
03b17f7
Backport #116998 to 26.8: Bound PostgreSQL protocol messages by their…
robot-clickhouse Sep 19, 2026
348d7f5
Update autogenerated version to 26.8.8.8 and contributors
robot-clickhouse Sep 19, 2026
d7c93e2
Merge pull request #121017 from ClickHouse/backport/26.8/116998
clickhouse-gh[bot] Sep 19, 2026
f34055e
Backport #116723 to 26.8: Parallelize Iceberg data manifest decoding
robot-clickhouse Sep 19, 2026
7147d96
Backport #121031 to 26.8: Shrink 05182_limit_shrinks_block_size_with_…
robot-clickhouse Sep 19, 2026
b829bcd
Backport #120950 to 26.8: Fix parsing of a column named `from` inside…
robot-clickhouse Sep 19, 2026
026164a
Backport #120992 to 26.8: Measure read_rows on a single reader in 051…
robot-clickhouse Sep 19, 2026
bd6c8ec
Merge pull request #121060 from ClickHouse/backport/26.8/116723
clickhouse-gh[bot] Sep 19, 2026
36c31d5
Backport #120765 to 26.8: Revert "Merge pull request #114313"
robot-clickhouse Sep 19, 2026
4c4bce7
Merge pull request #121067 from ClickHouse/backport/26.8/121031
clickhouse-gh[bot] Sep 19, 2026
c51e7ee
Merge pull request #121071 from ClickHouse/backport/26.8/120950
clickhouse-gh[bot] Sep 19, 2026
a1c8456
Merge pull request #121073 from ClickHouse/backport/26.8/120992
clickhouse-gh[bot] Sep 19, 2026
24b0062
Merge pull request #121084 from ClickHouse/backport/26.8/120765
clickhouse-gh[bot] Sep 19, 2026
30bd092
Backport #114059 to 26.8: Fix quadratic gzip/zlib streaming decompres…
robot-clickhouse Sep 19, 2026
8acc8b3
Backport #113385 to 26.8: Fix TTLDrop merge of a table with a text in…
robot-clickhouse Sep 20, 2026
661c91e
Merge pull request #121109 from ClickHouse/backport/26.8/114059
clickhouse-gh[bot] Sep 20, 2026
05c6b05
Merge pull request #121127 from ClickHouse/backport/26.8/113385
clickhouse-gh[bot] Sep 20, 2026
da3e19a
Backport #120948 to 26.8: Fix CAST of an Array(Map) to an array whose…
robot-clickhouse Sep 20, 2026
01b6baf
Backport #120698 to 26.8: Fix referring to a parameterized view by it…
robot-clickhouse Sep 20, 2026
1d57bdc
Backport #117573 to 26.8: Fix wrong aggregates from limit pushdown wh…
robot-clickhouse Sep 20, 2026
74e617d
Merge pull request #121155 from ClickHouse/backport/26.8/120948
clickhouse-gh[bot] Sep 20, 2026
4a2804c
Merge pull request #121157 from ClickHouse/backport/26.8/120698
clickhouse-gh[bot] Sep 20, 2026
a6d129a
Backport #116724 to 26.8: Verify the server certificate hostname on o…
robot-clickhouse Sep 20, 2026
6943194
Update autogenerated version to 26.8.9.10 and contributors
robot-clickhouse Sep 20, 2026
5efdd4f
Merge pull request #121159 from ClickHouse/backport/26.8/117573
fm4v Sep 20, 2026
bedf2ab
Merge pull request #121187 from ClickHouse/backport/26.8/116724
PedroTadim Sep 20, 2026
6f491a7
Backport #120844 to 26.8: Use plain LRU for the query-local text inde…
robot-clickhouse Sep 20, 2026
86b9f87
Recognize Altinity CI report comments in `fetch_ci_report.js`.
strtgbb Sep 21, 2026
1890db5
Merge tag 'v26.8.9.10-lts' into rebase-cicd-v26.8.7.19-lts
strtgbb Sep 21, 2026
6f7329b
Merge pull request #121239 from ClickHouse/backport/26.8/120844
CurtizJ Sep 21, 2026
b4832d0
Backport #115991 to 26.8: Validate the Keeper path when converting a …
robot-clickhouse Sep 21, 2026
0389ea6
Merge pull request #121288 from ClickHouse/backport/26.8/115991
clickhouse-gh[bot] Sep 21, 2026
5f81d96
Backport #120245 to 26.8: Fix wrong count() after a metadata-only MOD…
robot-clickhouse Sep 21, 2026
ad4bbf1
Backport #119346 to 26.8: Bump `mongo-c-driver` to 2.5.4 and `mongo-c…
robot-clickhouse Sep 21, 2026
e908555
Merge pull request #121329 from ClickHouse/backport/26.8/120245
clickhouse-gh[bot] Sep 21, 2026
17a9ab3
Backport #107860 to 26.8: validate array sizes in analysisOfVariance …
robot-clickhouse Sep 21, 2026
7d531df
Merge tag 'v26.8.10.6-lts' into rebase-cicd-v26.8.7.19-lts
strtgbb Sep 21, 2026
a12115f
Update autogenerated version to 26.8.10.6 and contributors
robot-clickhouse Sep 21, 2026
169b398
Backport #117699 to 26.8: Reject the Detached serialization kind in d…
robot-clickhouse Sep 21, 2026
1853039
Merge pull request #121345 from ClickHouse/backport/26.8/119346
thevar1able Sep 21, 2026
753f17d
Merge pull request #121357 from ClickHouse/backport/26.8/107860
clickhouse-gh[bot] Sep 21, 2026
97da26e
Merge pull request #121380 from ClickHouse/backport/26.8/117699
clickhouse-gh[bot] Sep 21, 2026
5248358
increase retries for stress tests server startup
strtgbb Sep 22, 2026
f0541c2
Merge tag 'v26.8.11.7-lts' into rebase-cicd-v26.8.7.19-lts
strtgbb Sep 22, 2026
1fdda1c
try to resolve build failures due to submodule cache failing
strtgbb Sep 22, 2026
80f86a3
increase timeouts for integration and stress
strtgbb Sep 23, 2026
e1a141b
increase timeout in install_thread_pool_fault_injection
strtgbb Sep 23, 2026
c956904
Merge remote-tracking branch 'origin/antalya-26.8' into rebase-cicd-v…
strtgbb Sep 24, 2026
42c0acd
Use `validateUseToCreateTable` in `mergeTreeCodecBlockCounts` and `me…
strtgbb Sep 24, 2026
81d7ab9
Preserve `mergeTreeTextIndex` access checks for forwarded queries
strtgbb Sep 24, 2026
88a429a
Distinguish remote and local `mergeTreeTextIndex` execution
strtgbb Sep 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions .claude/tools/fetch_ci_report.js
Original file line number Diff line number Diff line change
Expand Up @@ -574,30 +574,29 @@ async function getCIReportsFromPR(prUrl) {

console.log(`Fetching CI reports for PR #${prNumber}...\n`);

// Fetch PR comments to find CI bot comment.
// Report URLs are the signal — do not filter by bot login.
// Altinity posts via github-actions[bot] with the virtual-hosted S3 URL;
// older comments used clickhouse-gh[bot] and path-style S3.
// Drop GH_CONFIG_DIR before spawning gh: some agent/runner checkouts set it to a poisoned
// config dir (no/expired auth) that makes `gh api` fail, while the default config is fine.
// Other repo tooling (patch-release-check) does the same via `env -u GH_CONFIG_DIR gh`.
const ghEnv = { ...process.env };
delete ghEnv.GH_CONFIG_DIR;
try {
const commentsJson = execSync(`gh api repos/Altinity/ClickHouse/issues/${prNumber}/comments --paginate --jq '.[] | select(.user.login == "clickhouse-gh[bot]") | {body, created_at}'`, {
const commentsJson = execSync(`gh api repos/Altinity/ClickHouse/issues/${prNumber}/comments --paginate --jq '.[] | {body, created_at}'`, {
encoding: 'utf8',
stdio: ['pipe', 'pipe', 'pipe'],
env: ghEnv
});

const comments = commentsJson.trim().split('\n').filter(l => l.trim()).map(l => JSON.parse(l));
comments.sort((a, b) => (b.created_at || '').localeCompare(a.created_at || ''));
if (!comments || comments.length === 0) {
throw new Error('No CI bot comment found');
}

// Search through all bot comments for CI report URLs (not just the latest). Exclude backtick and
// Search through all comments for CI report URLs (not just the latest). Exclude backtick and
// quote chars so a URL quoted in markdown (e.g. inside the AI-review text) is not captured with
// trailing junk, strip trailing punctuation, and dedupe -- otherwise the same report is fetched
// twice and the summary is doubled.
const reportUrlPattern = /https:\/\/s3\.amazonaws\.com\/altinity-build-artifacts\/json\.html\?[^\s)`'"]+/g;
// twice and the summary is doubled. Match both path-style and virtual-hosted S3 URLs.
const reportUrlPattern = /https:\/\/(?:s3\.amazonaws\.com\/altinity-build-artifacts|altinity-build-artifacts\.s3\.amazonaws\.com)\/json\.html\?[^\s)`'"]+/g;
for (const comment of comments) {
if (!comment.body) continue;
let urls = comment.body.match(reportUrlPattern);
Expand All @@ -607,9 +606,9 @@ async function getCIReportsFromPR(prUrl) {
}
}

throw new Error('No CI report URLs found in bot comments');
throw new Error('No CI report URLs found in PR comments');
} catch (error) {
if (error.message.includes('No CI bot comment found') || error.message.includes('No CI report URLs found')) {
if (error.message.includes('No CI report URLs found')) {
throw error;
}
throw new Error(`Failed to fetch PR comments: ${error.message}`);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,9 @@ def _enrich_prs_in_release_merge_prs(df: pd.DataFrame, repo: str) -> pd.DataFram
f"https://api.github.com/repos/{repo}/pulls/{pr_number}",
headers=headers,
)
if response.status_code == 404:
# NOTE (strtgbb): not in this repo — upstream PR merged from a fork
continue
if response.status_code != 200:
raise Exception(
f"Failed to fetch pull request info: {response.status_code} {response.text}"
Expand All @@ -207,6 +210,8 @@ def _enrich_prs_in_release_merge_prs(df: pd.DataFrame, repo: str) -> pd.DataFram
"pr_labels": html.escape(", ".join(sorted(label_names)), quote=True),
}
)
if not rows:
return pd.DataFrame(columns=["pr_number", "pr_name", "pr_labels"])
return pd.DataFrame(rows)


Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@
url = https://github.com/ClickHouse/double-conversion.git
[submodule "contrib/mongo-cxx-driver"]
path = contrib/mongo-cxx-driver
url = https://github.com/mongodb/mongo-cxx-driver.git
url = https://github.com/ClickHouse/mongo-cxx-driver.git
[submodule "contrib/mongo-c-driver"]
path = contrib/mongo-c-driver
url = https://github.com/ClickHouse/mongo-c-driver.git
Expand Down
4 changes: 3 additions & 1 deletion base/poco/NetSSL_OpenSSL/src/SSLManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,9 @@ void SSLManager::initDefaultContext(bool server)
{
_ptrDefaultClientContext->enableSessionCache(cacheSessions);
}
bool extendedVerification = config.getBool(prefix + CFG_EXTENDED_VERIFICATION, false);
/// Only an outbound connection has a requested host name to check: on an accepted socket this
/// would run against the client's address, which a client certificate does not name.
bool extendedVerification = config.getBool(prefix + CFG_EXTENDED_VERIFICATION, !server);
if (server)
_ptrDefaultServerContext->enableExtendedCertificateVerification(extendedVerification);
else
Expand Down
2 changes: 1 addition & 1 deletion ci/jobs/integration_test_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -1329,7 +1329,7 @@ def main():
# hard subprocess backstop). Used below to keep an empty flaky/targeted result a
# best-effort SKIPPED only when a timeout actually exhausted the budget.
timed_out = False
session_timeout_parallel = 3600 * 2
session_timeout_parallel = 3600 * 2.5
session_timeout_sequential = 3600

if is_llvm_coverage:
Expand Down
2 changes: 2 additions & 0 deletions ci/jobs/scripts/check_style/experimental_settings_ignore.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,5 @@ enable_vector_similarity_index
allow_nullable_tuple_in_extracted_subcolumns
allow_lossy_numeric_supertype
allow_metadata_only_named_tuple_alter
allow_experimental_cleanup_old_data_files_compaction
allow_experimental_iceberg_compaction
5 changes: 5 additions & 0 deletions ci/jobs/scripts/check_style/various_checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,11 @@ tests_with_system_drop=( $(
sort -u
) )
for test_case in "${tests_with_system_drop[@]}"; do
# `SYSTEM DROP FILESYSTEM CACHE '<name>'` affects only the named cache, not the
# server-wide state, so a test which drops the cache it created itself can run in
# parallel. Skip a test if every `SYSTEM DROP` in it drops a cache by name.
grep -oiP "system\s+drop(\s+filesystem\s+cache\s+'[^']+')?" "$test_case" |
grep -qivP "filesystem\s+cache\s+'" || continue
grep -qP '(--|#)\s*[Tt]ags:.*no-parallel' "$test_case" || echo "Test with SYSTEM DROP should have no-parallel tag: $test_case"
done

Expand Down
12 changes: 9 additions & 3 deletions ci/jobs/scripts/stress/stress.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,13 @@ def install_thread_pool_fault_injection() -> None:

logging.info("Installing thread-pool fault-injection config: %s -> %s", src, dst)
subprocess.run(["ln", "-sf", src, dst], check=True)
if not call_with_retry(make_query_command("SYSTEM RELOAD CONFIG"), timeout=30, retry_count=5):
# NOTE (strtgbb): ARM debug + ThreadFuzzer config reload is ~18-23s; the
# default 15s receive_timeout loses the race and fails the job.
if not call_with_retry(
make_query_command("SYSTEM RELOAD CONFIG", receive_timeout=60),
timeout=90,
retry_count=5,
):
# Fail-close before the verify query: a stale non-zero probability left
# over from an earlier reload would otherwise mask the reload failure.
raise RuntimeError(
Expand Down Expand Up @@ -655,9 +661,9 @@ def execute_bash(full_command, timeout=120):
raise


def make_query_command(query: str) -> str:
def make_query_command(query: str, receive_timeout: int = 15) -> str:
return (
f'clickhouse client -q "{query}" --receive_timeout=15 --max_untracked_memory=1Gi '
f'clickhouse client -q "{query}" --receive_timeout={receive_timeout} --max_untracked_memory=1Gi '
"--memory_profiler_step=1Gi --max_memory_usage_for_user=0 --max_memory_usage_in_client=1000000000 "
"--enable-progress-table-toggle=0 "
"--ast_fuzzer_runs=0",
Expand Down
8 changes: 6 additions & 2 deletions ci/praktika/native_jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,8 @@ def _prepare_submodule_cache(workflow, workflow_config: RunConfig) -> Result:
no_strict=True,
)
Shell.check(f"rm -f {archive_path}")
if not created and not S3.head_object(s3_path):
raise RuntimeError(f"failed to upload submodule cache {s3_path}")
info = (
f"cache miss, created: {cache_hash}"
if created
Expand All @@ -302,10 +304,12 @@ def _prepare_submodule_cache(workflow, workflow_config: RunConfig) -> Result:
workflow_config.dump()
status = Result.Status.OK
except Exception as e:
print(f"WARNING: Submodule cache failed: {e}")
print(f"ERROR: Submodule cache failed: {e}")
traceback.print_exc()
info = f"{e}\n{traceback.format_exc()}"
status = Result.Status.OK # non-fatal, jobs fall back to GitHub clone
# Do not continue with an empty submodule_cache_hash. Builds would
# skip the restore and clone the same pins themselves.
status = Result.Status.FAIL

return Result.create_from(
name="Submodule Cache",
Expand Down
4 changes: 4 additions & 0 deletions ci/settings/altinity_overrides.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ class RunnerLabels:

INSTALL_PYTHON_REQS_FOR_NATIVE_JOBS = ""

# NOTE (strtgbb): anonymous submodule fetches of non-tip pins get refused
# after the burst of ~150 clones; send the ambient gh token instead.
ENABLE_SUBMODULE_CLONE_AUTH = True

DISABLED_WORKFLOWS = [
"backport_branches.py",
"custom_build_praktika.py",
Expand Down
10 changes: 5 additions & 5 deletions cmake/autogenerated_versions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

# NOTE: VERSION_REVISION has nothing common with DBMS_TCP_PROTOCOL_VERSION,
# only DBMS_TCP_PROTOCOL_VERSION should be incremented on protocol changes.
SET(VERSION_REVISION 54518)
SET(VERSION_REVISION 54523)
SET(VERSION_MAJOR 26)
SET(VERSION_MINOR 8)
SET(VERSION_PATCH 6)
SET(VERSION_GITHASH ec5605431dacfc812affc406cc81ca398ca68174)
SET(VERSION_DESCRIBE v26.8.6.10001.altinitytest)
SET(VERSION_STRING 26.8.6.10001.altinitytest)
SET(VERSION_PATCH 11)
SET(VERSION_GITHASH bedf2ab54b8a0c34afbf2d907eaf933324f43cd6)
SET(VERSION_DESCRIBE v26.8.11.10001.altinitytest)
SET(VERSION_STRING 26.8.11.10001.altinitytest)
# end of autochange

SET(VERSION_TWEAK 10001)
Expand Down
2 changes: 1 addition & 1 deletion contrib/cctz
Submodule cctz updated 46 files
+38 −6 .github/workflows/ci.yaml
+1 −1 .github/workflows/cifuzz.yml
+60 −11 BUILD
+30 −4 CMakeLists.txt
+10 −6 MODULE.bazel
+1 −1 README.md
+0 −26 WORKSPACE
+12 −0 include/cctz/civil_time_detail.h
+1 −1 include/cctz/time_zone.h
+4 −492 src/cctz_benchmark.cc
+509 −0 src/test_time_zone_names.cc
+25 −0 src/test_time_zone_names.h
+133 −92 src/time_zone_format.cc
+98 −25 src/time_zone_format_test.cc
+76 −0 src/time_zone_fuzz_test.cc
+10 −128 src/time_zone_lookup.cc
+1 −490 src/time_zone_lookup_test.cc
+176 −0 src/time_zone_name_win.cc
+29 −0 src/time_zone_name_win.h
+42 −0 src/time_zone_name_win_test.cc
+10 −16 src/tzfile.h
+1 −1 testdata/version
+ − testdata/zoneinfo/Africa/Casablanca
+ − testdata/zoneinfo/Africa/El_Aaiun
+ − testdata/zoneinfo/America/Coyhaique
+ − testdata/zoneinfo/America/Edmonton
+ − testdata/zoneinfo/America/Ensenada
+ − testdata/zoneinfo/America/Santa_Isabel
+ − testdata/zoneinfo/America/Tijuana
+ − testdata/zoneinfo/America/Vancouver
+ − testdata/zoneinfo/America/Yellowknife
+ − testdata/zoneinfo/Asia/Ho_Chi_Minh
+ − testdata/zoneinfo/Asia/Phnom_Penh
+ − testdata/zoneinfo/Asia/Saigon
+ − testdata/zoneinfo/Asia/Tbilisi
+ − testdata/zoneinfo/Asia/Tehran
+ − testdata/zoneinfo/Asia/Vientiane
+ − testdata/zoneinfo/Canada/Mountain
+ − testdata/zoneinfo/Canada/Pacific
+ − testdata/zoneinfo/Europe/Chisinau
+ − testdata/zoneinfo/Europe/Tiraspol
+ − testdata/zoneinfo/Iran
+ − testdata/zoneinfo/Mexico/BajaNorte
+9 −9 testdata/zoneinfo/iso3166.tab
+16 −15 testdata/zoneinfo/zone1970.tab
+54 −51 testdata/zoneinfo/zonenow.tab
2 changes: 1 addition & 1 deletion contrib/libdeflate
2 changes: 1 addition & 1 deletion contrib/mongo-c-driver
Submodule mongo-c-driver updated 420 files
14 changes: 7 additions & 7 deletions contrib/mongo-c-driver-cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ if(NOT USE_MONGODB)
endif()

set(libbson_VERSION_MAJOR 2)
set(libbson_VERSION_MINOR 3)
set(libbson_VERSION_PATCH 0)
set(libbson_VERSION 2.3.0)
set(libbson_VERSION_MINOR 5)
set(libbson_VERSION_PATCH 4)
set(libbson_VERSION 2.5.4)
set(libmongoc_VERSION_MAJOR 2)
set(libmongoc_VERSION_MINOR 3)
set(libmongoc_VERSION_PATCH 0)
set(libmongoc_VERSION 2.3.0)
set(libmongoc_VERSION_MINOR 5)
set(libmongoc_VERSION_PATCH 4)
set(libmongoc_VERSION 2.5.4)

set(LIBBSON_SOURCES_ROOT "${ClickHouse_SOURCE_DIR}/contrib/mongo-c-driver/src")
set(LIBBSON_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/libbson/src")
Expand Down Expand Up @@ -135,7 +135,7 @@ endif()
set(LIBMONGOC_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/libmongoc/src")
set(LIBMONGOC_BINARY_DIR "${LIBBSON_BINARY_ROOT}/libmongoc/src")
file(GLOB_RECURSE LIBMONGOC_SOURCES "${LIBMONGOC_SOURCE_DIR}/*.c")
set(UTF8PROC_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/utf8proc-2.8.0")
set(UTF8PROC_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/utf8proc-2.11.3")
set(UTF8PROC_SOURCES "${UTF8PROC_SOURCE_DIR}/utf8proc.c")
set(UTHASH_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/uthash")

Expand Down
2 changes: 1 addition & 1 deletion contrib/mongo-cxx-driver
Submodule mongo-cxx-driver updated 521 files
19 changes: 19 additions & 0 deletions contrib/mongo-cxx-driver-cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,17 @@ set(BSONCXX_SOURCES

set(BSONCXX_POLY_USE_IMPLS ON)

# ClickHouse uses the `v_noabi` API, whose symbols are gated behind the "unstable ABI" switch since r4.4.0.
set(BSONCXX_ENABLE_UNSTABLE_ABI ON)

configure_file(
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v1/config/config.hpp.in
${BSONCXX_BINARY_DIR}/lib/bsoncxx/v1/config/config.hpp
)
configure_file(
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/config.hpp.in
${BSONCXX_BINARY_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/config.hpp
)
configure_file(
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v1/config/version.hpp.in
${BSONCXX_BINARY_DIR}/lib/bsoncxx/v1/config/version.hpp
Expand Down Expand Up @@ -152,6 +159,7 @@ set(MONGOCXX_SOURCES
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/bulk_write.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/change_stream.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/client.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/client_bulk_write.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/client_encryption.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/client_session.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/collection.cpp
Expand Down Expand Up @@ -203,6 +211,9 @@ set(MONGOCXX_SOURCES
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/insert_one_result.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/instance.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/logger.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/oidc_callback.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/oidc_callback_params.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/oidc_credential.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/pipeline.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/pool.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/range_options.cpp
Expand All @@ -216,6 +227,7 @@ set(MONGOCXX_SOURCES
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/search_indexes.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/server_api.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/server_error.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/string_options.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/text_options.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/tls.cpp
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/transaction_options.cpp
Expand Down Expand Up @@ -336,10 +348,17 @@ endif()
set(BSONCXX_STATIC 1)
set(MONGOCXX_STATIC 1)

# ClickHouse uses the `v_noabi` API, whose symbols are gated behind the "unstable ABI" switch since r4.4.0.
set(MONGOCXX_ENABLE_UNSTABLE_ABI ON)

configure_file(
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/config/config.hpp.in
${MONGOCXX_BINARY_DIR}/lib/mongocxx/v1/config/config.hpp
)
configure_file(
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/config/config.hpp.in
${MONGOCXX_BINARY_DIR}/lib/mongocxx/v_noabi/mongocxx/config/config.hpp
)
configure_file(
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v1/config/version.hpp.in
${MONGOCXX_BINARY_DIR}/lib/mongocxx/v1/config/version.hpp
Expand Down
11 changes: 10 additions & 1 deletion docs/reference/interfaces/specs/NativeFormat.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,14 @@ The byte values differ from the compact codes: `REPLICATED` is `0x03` in this ne

The `count` is the full stack length **including the leading `DEFAULT` entry** that begins every stack. The compact codes already cover every one- and two-entry stack, so a `COMBINATION` always has a `count` of at least three.

**Recursive `kind_stack` for `Tuple` columns.** The `kind_stack` payload above is the byte (or `COMBINATION` sequence) for one column's own serialization info. A `Tuple` carries a `SerializationInfoTuple`, which first writes the tuple's *own* kind-stack payload and then writes one full kind-stack payload for *each* element, in order; a decoder reads back the same recursive structure. So for `Tuple(A, B, C)` the field-4 bytes are `[tuple_kind][A_kind][B_kind][C_kind]`, and each element payload is itself recursive if that element is again a composite. The `has_custom_serialization` byte (field 3) is set whenever the tuple's own info *or any element's* info is non-default, so a `Tuple` whose only special element is sparse, replicated, or detached still triggers the kind-stack payload. A decoder that reads only the single leading enum byte for a `Tuple` will stop too early and misread the remaining element-kind bytes as column data.
**Kind stack validity.** A decoder rejects a malformed stack with `INCORRECT_DATA` rather than building the serialization it describes:

- the stack starts with `DEFAULT`;
- the stack is a subsequence of `DEFAULT`, `SPARSE`, `REPLICATED`, `DETACHED` — the order in which the kinds wrap each other. `SPARSE` can sit inside `REPLICATED` but not the other way round, and `DETACHED` is always last because a `ColumnBLOB` holds the serialized form of everything below it. This also means no kind occurs twice, which bounds `count` by the number of kinds.

Note that this order is not the order of the kind byte values above. Any other stack describes a column layout no writer builds and that no materialization step unwraps back to a full column of the declared type — a `ColumnSparse` whose values column is itself sparse or replicated, for instance, stays wrapped.

**Recursive `kind_stack` for `Tuple` columns.** The `kind_stack` payload above is the byte (or `COMBINATION` sequence) for one column's own serialization info. A `Tuple` carries a `SerializationInfoTuple`, which first writes the tuple's *own* kind-stack payload and then writes one full kind-stack payload for *each* element, in order; a decoder reads back the same recursive structure. So for `Tuple(A, B, C)` the field-4 bytes are `[tuple_kind][A_kind][B_kind][C_kind]`, and each element payload is itself recursive if that element is again a composite. The `has_custom_serialization` byte (field 3) is set whenever the tuple's own info *or any element's* info is non-default, so a `Tuple` whose only special element is sparse or replicated still triggers the kind-stack payload. A decoder that reads only the single leading enum byte for a `Tuple` will stop too early and misread the remaining element-kind bytes as column data.

**Sparse wire format.** When `kind_stack = 0x01`, the column `data` is two streams written back-to-back in the single shared TCP stream:

Expand Down Expand Up @@ -230,6 +237,8 @@ A decoder reconstructs a dense column by selecting `elements[indexes[i]]` for ea

If the wrapped column was sparse, its stack is `{DEFAULT, SPARSE, DETACHED}`, which serializes as `DETACHED_OVER_SPARSE`. A client decoding such a column reads the blob length and bytes, then decompresses the blob to recover the inner column payload (see the [`ColumnBLOB` note](#compression-negotiation) under compression).

`DETACHED` is directional: it may appear only in result blocks sent by a server, and only for a whole top-level column — never as one of the element kinds of a `Tuple`. Unlike the other kinds, it makes the runtime column a `ColumnBLOB` instead of the column of the declared type, so a receiver accepts it only when its own pipeline converts the blob back. A server therefore rejects `DETACHED` in any block a client sends — external table data, scalars and insert data alike — with `INCORRECT_DATA`.

### Block variants {#block-variants}

All Data-family packets share the same Block wire format. The variants differ only in their column and row counts:
Expand Down
Loading
Loading