From b0999bd3033c4a910f9ee8c61848e13da0e7090c Mon Sep 17 00:00:00 2001 From: Andrey Zvonov <32552679+zvonand@users.noreply.github.com> Date: Thu, 16 Jul 2026 21:47:20 +0200 Subject: [PATCH 1/2] Merge pull request #2038 from Altinity/fix/antalya-26.6/fix-settingschangeshistory [Before forward-ports] Antalya 26.6: patch for SettingsChangesHistory --- src/Common/ClickHouseVersion.cpp | 32 +- src/Common/ClickHouseVersion.h | 5 +- src/Common/tests/gtest_ch_version.cpp | 26 + src/Core/SettingsChangesHistory.cpp | 43 + .../03999_settings_26_6_2_20001_antalya.tsv | 1708 +++++++++++++++++ .../03999_stateless_settings_history.sh | 71 +- 6 files changed, 1872 insertions(+), 13 deletions(-) create mode 100644 src/Common/tests/gtest_ch_version.cpp create mode 100644 tests/queries/0_stateless/03999_settings_26_6_2_20001_antalya.tsv diff --git a/src/Common/ClickHouseVersion.cpp b/src/Common/ClickHouseVersion.cpp index e0ea0aa5f102..d971cf394d17 100644 --- a/src/Common/ClickHouseVersion.cpp +++ b/src/Common/ClickHouseVersion.cpp @@ -19,15 +19,27 @@ ClickHouseVersion::ClickHouseVersion(std::string_view version) { Strings split; boost::split(split, version, [](char c){ return c == '.'; }); - components.reserve(split.size()); if (split.empty()) throw Exception{ErrorCodes::BAD_ARGUMENTS, "Cannot parse ClickHouse version here: {}", version}; - for (const auto & split_element : split) + /// A version is 2 to 4 numeric components, optionally followed by a build flavour suffix + /// (e.g. "26.1.3.20001.altinityantalya"), which is only valid after a full 4-component version. + if (split.back() == "altinityantalya" || split.back() == "altinitystable" || split.back() == "altinitytest") + { + suffix = split.back(); + split.pop_back(); + if (split.size() != 4) + throw Exception{ErrorCodes::BAD_ARGUMENTS, "Cannot parse ClickHouse version here: {}", version}; + } + else if (split.size() < 2 || split.size() > 4) + throw Exception{ErrorCodes::BAD_ARGUMENTS, "Cannot parse ClickHouse version here: {}", version}; + + components.reserve(split.size()); + for (const auto & token : split) { size_t component = 0; - ReadBufferFromString buf(split_element); - if (!tryReadIntText(component, buf) || !buf.eof()) + ReadBufferFromString buf(token); + if (token.empty() || !tryReadIntText(component, buf) || !buf.eof()) throw Exception{ErrorCodes::BAD_ARGUMENTS, "Cannot parse ClickHouse version here: {}", version}; components.push_back(component); } @@ -35,7 +47,17 @@ ClickHouseVersion::ClickHouseVersion(std::string_view version) String ClickHouseVersion::toString() const { - return fmt::format("{}", fmt::join(components, ".")); + String result = fmt::format("{}", fmt::join(components, ".")); + if (!suffix.empty()) + result += "." + suffix; + return result; +} + +std::strong_ordering ClickHouseVersion::operator<=>(const ClickHouseVersion & other) const +{ + if (auto cmp = components <=> other.components; cmp != 0) + return cmp; + return suffix <=> other.suffix; } } diff --git a/src/Common/ClickHouseVersion.h b/src/Common/ClickHouseVersion.h index 46c350213ee0..343816da4dd3 100644 --- a/src/Common/ClickHouseVersion.h +++ b/src/Common/ClickHouseVersion.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include @@ -14,10 +15,12 @@ class ClickHouseVersion std::string toString() const; - std::strong_ordering operator<=>(const ClickHouseVersion & other) const = default; + std::strong_ordering operator<=>(const ClickHouseVersion & other) const; private: std::vector components; + /// Non-numeric suffix (e.g. "altinityantalya" for "26.1.3.20001.altinityantalya"); empty for standard versions + std::string suffix; }; } diff --git a/src/Common/tests/gtest_ch_version.cpp b/src/Common/tests/gtest_ch_version.cpp new file mode 100644 index 000000000000..3b5216f0ec4d --- /dev/null +++ b/src/Common/tests/gtest_ch_version.cpp @@ -0,0 +1,26 @@ +#include +#include +#include + +using namespace DB; + +TEST(ClickHouseVersion, Accepts) +{ + EXPECT_EQ(ClickHouseVersion("26.6").toString(), "26.6"); + EXPECT_EQ(ClickHouseVersion("18.12.17").toString(), "18.12.17"); + EXPECT_EQ(ClickHouseVersion("26.3.1.20001").toString(), "26.3.1.20001"); + EXPECT_EQ(ClickHouseVersion("26.1.3.20001.altinityantalya").toString(), "26.1.3.20001.altinityantalya"); + EXPECT_EQ(ClickHouseVersion("26.1.3.20001.altinitystable").toString(), "26.1.3.20001.altinitystable"); + EXPECT_EQ(ClickHouseVersion("26.1.3.20001.altinitytest").toString(), "26.1.3.20001.altinitytest"); +} + +TEST(ClickHouseVersion, Rejects) +{ + EXPECT_THROW(ClickHouseVersion(""), Exception); /// empty + EXPECT_THROW(ClickHouseVersion("26"), Exception); /// too few components + EXPECT_THROW(ClickHouseVersion("26.3.1.20001.1"), Exception); /// too many components + EXPECT_THROW(ClickHouseVersion("26..1"), Exception); /// empty component + EXPECT_THROW(ClickHouseVersion("26.x"), Exception); /// non-numeric component + EXPECT_THROW(ClickHouseVersion("26.altinityantalya"), Exception); /// suffix without a full version + EXPECT_THROW(ClickHouseVersion("26.3.1.20001.altinitycloud"), Exception); /// unknown suffix +} diff --git a/src/Core/SettingsChangesHistory.cpp b/src/Core/SettingsChangesHistory.cpp index de0b30e86174..c9561e14508d 100644 --- a/src/Core/SettingsChangesHistory.cpp +++ b/src/Core/SettingsChangesHistory.cpp @@ -439,6 +439,16 @@ const VersionToSettingsChangesMap & getSettingsChangesHistory() {"opentelemetry_start_keeper_trace_probability", "auto", "auto", "New setting"}, {"functions_h3_default_if_invalid", true, false, "A new setting for legacy behaviour to allow invalid inputs to h3 functions"}, }); + addSettingsChanges(settings_changes_history, "26.1.3.20001.altinityantalya", + { + // {"iceberg_partition_timezone", "", "", "New setting."}, + // {"s3_propagate_credentials_to_other_storages", false, false, "New setting"}, + // {"export_merge_tree_part_filename_pattern", "", "{part_name}_{checksum}", "New setting"}, + // {"use_parquet_metadata_cache", false, true, "Enables cache of parquet file metadata."}, + // {"input_format_parquet_use_metadata_cache", true, false, "Obsolete. No-op"}, // https://github.com/Altinity/ClickHouse/pull/586 + // {"object_storage_remote_initiator_cluster", "", "", "New setting."}, + // {"iceberg_metadata_staleness_ms", 0, 0, "New setting allowing using cached metadata version at READ operations to prevent fetching from remote catalog"}, + }); addSettingsChanges(settings_changes_history, "26.1", { {"use_statistics", true, true, "Enable this optimization by default."}, @@ -617,6 +627,39 @@ const VersionToSettingsChangesMap & getSettingsChangesHistory() {"os_threads_nice_value_materialized_view", 0, 0, "New setting."}, {"os_thread_priority", 0, 0, "Alias for os_threads_nice_value_query."}, }); + addSettingsChanges(settings_changes_history, "25.8.16.20001.altinityantalya", + { + // {"allow_experimental_database_iceberg", false, true, "Turned ON by default for Antalya."}, + // {"allow_experimental_database_unity_catalog", false, true, "Turned ON by default for Antalya."}, + // {"allow_experimental_database_glue_catalog", false, true, "Turned ON by default for Antalya."}, + // {"allow_database_iceberg", false, true, "Turned ON by default for Antalya (alias)."}, + // {"allow_database_unity_catalog", false, true, "Turned ON by default for Antalya (alias)."}, + // {"allow_database_glue_catalog", false, true, "Turned ON by default for Antalya (alias)."}, + // {"input_format_parquet_use_metadata_cache", true, true, "New setting, turned ON by default"}, // https://github.com/Altinity/ClickHouse/pull/586 + // {"iceberg_timezone_for_timestamptz", "UTC", "UTC", "New setting."}, + // {"object_storage_remote_initiator", false, false, "New setting."}, + // {"allow_experimental_iceberg_read_optimization", true, true, "New setting."}, + // {"object_storage_cluster_join_mode", "allow", "allow", "New setting"}, + // {"lock_object_storage_task_distribution_ms", 500, 500, "New setting."}, + // {"allow_retries_in_cluster_requests", false, false, "New setting"}, + // {"allow_experimental_export_merge_tree_part", false, true, "Turned ON by default for Antalya."}, + // {"export_merge_tree_part_overwrite_file_if_exists", false, false, "New setting."}, + // {"export_merge_tree_partition_force_export", false, false, "New setting."}, + // {"export_merge_tree_partition_max_retries", 3, 3, "New setting."}, + // {"export_merge_tree_partition_manifest_ttl", 180, 180, "New setting."}, + // {"export_merge_tree_part_file_already_exists_policy", "skip", "skip", "New setting."}, + // {"hybrid_table_auto_cast_columns", true, true, "New setting to automatically cast Hybrid table columns when segments disagree on types. Default enabled."}, + // {"allow_experimental_hybrid_table", false, false, "Added new setting to allow the Hybrid table engine."}, + // {"enable_alias_marker", true, true, "New setting."}, + // {"export_merge_tree_part_max_bytes_per_file", 0, 0, "New setting."}, + // {"export_merge_tree_part_max_rows_per_file", 0, 0, "New setting."}, + // {"export_merge_tree_partition_lock_inside_the_task", false, false, "New setting."}, + // {"export_merge_tree_partition_system_table_prefer_remote_information", true, true, "New setting."}, + // {"export_merge_tree_part_throw_on_pending_mutations", true, true, "New setting."}, + // {"export_merge_tree_part_throw_on_pending_patch_parts", true, true, "New setting."}, + // {"object_storage_cluster", "", "", "Antalya: New setting"}, + // {"object_storage_max_nodes", 0, 0, "Antalya: New setting"}, + }); addSettingsChanges(settings_changes_history, "25.8", { {"output_format_json_quote_64bit_integers", true, false, "Disable quoting of the 64 bit integers in JSON by default"}, diff --git a/tests/queries/0_stateless/03999_settings_26_6_2_20001_antalya.tsv b/tests/queries/0_stateless/03999_settings_26_6_2_20001_antalya.tsv new file mode 100644 index 000000000000..fdcca3b90d03 --- /dev/null +++ b/tests/queries/0_stateless/03999_settings_26_6_2_20001_antalya.tsv @@ -0,0 +1,1708 @@ +add_http_cors_header 0 +additional_result_filter +additional_table_filters {} +aggregate_function_input_format state +aggregate_functions_null_for_empty 0 +aggregation_in_order_max_block_bytes 50000000 +aggregation_memory_efficient_merge_threads 0 +ai_function_embedding_default_credentials +ai_function_embedding_max_batch_size 100 +ai_function_max_api_calls_per_query 0 +ai_function_max_input_tokens_per_query 1000000 +ai_function_max_output_tokens_per_query 500000 +ai_function_max_retries 0 +ai_function_request_timeout_sec 60 +ai_function_retry_initial_delay_ms 1000 +ai_function_text_default_credentials +ai_function_throw_on_error 1 +ai_function_throw_on_quota_exceeded 1 +allow_aggregate_partitions_independently 0 +allow_archive_path_syntax 1 +allow_asynchronous_read_from_io_pool_for_merge_tree 0 +allow_calculating_subcolumns_sizes_for_merge_tree_reading 1 +allow_changing_replica_until_first_data_packet 0 +allow_create_index_without_type 0 +allow_custom_error_code_in_throwif 0 +allow_database_glue_catalog 1 +allow_database_iceberg 1 +allow_database_unity_catalog 1 +allow_ddl 1 +allow_deprecated_database_ordinary 0 +allow_deprecated_error_prone_window_functions 0 +allow_deprecated_snowflake_conversion_functions 0 +allow_deprecated_syntax_for_merge_tree 0 +allow_distributed_ddl 1 +allow_drop_detached 0 +allow_dynamic_type_in_join_keys 0 +allow_execute_multiif_columnar 1 +allow_experimental_ai_functions 0 +allow_experimental_alias_table_engine 0 +allow_experimental_alter_materialized_view_structure 1 +allow_experimental_analyzer 1 +allow_experimental_annoy_index 0 +allow_experimental_bfloat16_type 1 +allow_experimental_bigint_types 1 +allow_experimental_cleanup_old_data_files_compaction 0 +allow_experimental_codecs 0 +allow_experimental_correlated_subqueries 1 +allow_experimental_database_atomic 1 +allow_experimental_database_glue_catalog 1 +allow_experimental_database_hms_catalog 0 +allow_experimental_database_iceberg 1 +allow_experimental_database_materialized_mysql 0 +allow_experimental_database_materialized_postgresql 0 +allow_experimental_database_paimon_rest_catalog 0 +allow_experimental_database_replicated 1 +allow_experimental_database_s3_tables 0 +allow_experimental_database_unity_catalog 1 +allow_experimental_delta_kernel_rs 1 +allow_experimental_delta_lake_writes 0 +allow_experimental_dynamic_type 1 +allow_experimental_expire_snapshots 0 +allow_experimental_export_merge_tree_part 1 +allow_experimental_full_text_index 1 +allow_experimental_funnel_functions 0 +allow_experimental_geo_types 1 +allow_experimental_geo_types_in_iceberg 0 +allow_experimental_hash_functions 0 +allow_experimental_hybrid_table 0 +allow_experimental_iceberg_compaction 0 +allow_experimental_iceberg_read_optimization 1 +allow_experimental_insert_into_iceberg 0 +allow_experimental_inverted_index 0 +allow_experimental_join_condition 0 +allow_experimental_join_right_table_sorting 0 +allow_experimental_json_lazy_type_hints 0 +allow_experimental_json_type 1 +allow_experimental_kafka_offsets_storage_in_keeper 0 +allow_experimental_kusto_dialect 0 +allow_experimental_lightweight_delete 1 +allow_experimental_lightweight_update 1 +allow_experimental_live_view 0 +allow_experimental_map_type 1 +allow_experimental_materialized_postgresql_table 0 +allow_experimental_nlp_functions 0 +allow_experimental_nullable_tuple_type 0 +allow_experimental_object_storage_queue_hive_partitioning 0 +allow_experimental_object_type 0 +allow_experimental_paimon_storage_engine 0 +allow_experimental_parallel_reading_from_replicas 0 +allow_experimental_polyglot_dialect 0 +allow_experimental_projection_optimization 1 +allow_experimental_prql_dialect 0 +allow_experimental_qbit_type 1 +allow_experimental_query_cache 1 +allow_experimental_query_deduplication 0 +allow_experimental_refreshable_materialized_view 1 +allow_experimental_s3queue 1 +allow_experimental_shared_merge_tree 1 +allow_experimental_shared_set_join 1 +allow_experimental_statistic 0 +allow_experimental_statistics 1 +allow_experimental_text_index_lazy_apply 0 +allow_experimental_time_series_aggregate_functions 0 +allow_experimental_time_series_table 0 +allow_experimental_time_time64_type 1 +allow_experimental_ts_to_grid_aggregate_function 0 +allow_experimental_undrop_table_query 1 +allow_experimental_unique_key 0 +allow_experimental_usearch_index 0 +allow_experimental_variant_type 1 +allow_experimental_vector_similarity_index 1 +allow_experimental_window_functions 1 +allow_experimental_window_view 0 +allow_experimental_ytsaurus_dictionary_source 0 +allow_experimental_ytsaurus_table_engine 0 +allow_experimental_ytsaurus_table_function 0 +allow_fuzz_query_functions 0 +allow_general_join_planning 1 +allow_get_client_http_header 0 +allow_hyperscan 1 +allow_iceberg_remove_orphan_files 0 +allow_insert_into_iceberg 0 +allow_introspection_functions 0 +allow_key_condition_coalesce_rewrite 1 +allow_limit_by_partitions_independently 1 +allow_materialized_view_with_bad_select 0 +allow_named_collection_override_by_default 1 +allow_non_metadata_alters 1 +allow_nonconst_timezone_arguments 0 +allow_nondeterministic_mutations 0 +allow_nondeterministic_optimize_skip_unused_shards 0 +allow_not_comparable_types_in_comparison_functions 0 +allow_not_comparable_types_in_order_by 0 +allow_nullable_tuple_in_extracted_subcolumns 0 +allow_prefetched_read_pool_for_local_filesystem 0 +allow_prefetched_read_pool_for_remote_filesystem 1 +allow_push_predicate_ast_for_distributed_subqueries 1 +allow_push_predicate_when_subquery_contains_with 1 +allow_rank_dense_rank_arguments 0 +allow_reorder_prewhere_conditions 1 +allow_replace_partition_from_empty_source 0 +allow_retries_in_cluster_requests 0 +allow_settings_after_format_in_insert 0 +allow_simdjson 1 +allow_special_bool_values_inside_variant 0 +allow_special_serialization_kinds_in_output_formats 1 +allow_statistic_optimize 1 +allow_statistics 1 +allow_statistics_optimize 1 +allow_suspicious_codecs 0 +allow_suspicious_fixed_string_types 0 +allow_suspicious_indices 0 +allow_suspicious_low_cardinality_types 0 +allow_suspicious_primary_key 0 +allow_suspicious_ttl_expressions 0 +allow_suspicious_types_in_group_by 0 +allow_suspicious_types_in_order_by 0 +allow_suspicious_variant_types 0 +allow_unrestricted_reads_from_keeper 0 +alter_move_to_space_execute_async 0 +alter_partition_verbose_result 0 +alter_sync 1 +alter_update_mode heavy +analyze_index_with_space_filling_curves 1 +analyzer_compatibility_allow_compound_identifiers_in_unflatten_nested 1 +analyzer_compatibility_allow_non_aggregate_in_having 0 +analyzer_compatibility_apply_final_to_all_joined_tables 0 +analyzer_compatibility_join_using_top_level_identifier 0 +analyzer_compatibility_prefer_alias_over_subcolumn 0 +analyzer_inline_views 0 +annoy_index_search_k_nodes -1 +any_join_distinct_right_table_keys 0 +apply_deleted_mask 1 +apply_mutations_on_fly 0 +apply_patch_parts 1 +apply_patch_parts_join_cache_buckets 8 +apply_prewhere_after_final 0 +apply_row_policy_after_final 1 +apply_settings_from_server 1 +archive_adaptive_buffer_max_size_bytes 8388608 +arrow_flight_request_descriptor_type path +ast_fuzzer_any_query 0 +ast_fuzzer_runs 0 +asterisk_include_alias_columns 0 +asterisk_include_materialized_columns 0 +asterisk_include_virtual_columns 0 +async_insert 1 +async_insert_busy_timeout_decrease_rate 0.2 +async_insert_busy_timeout_increase_rate 0.2 +async_insert_busy_timeout_max_ms 200 +async_insert_busy_timeout_min_ms 50 +async_insert_busy_timeout_ms 200 +async_insert_cleanup_timeout_ms 1000 +async_insert_deduplicate 0 +async_insert_max_data_size 10485760 +async_insert_max_query_number 450 +async_insert_poll_timeout_ms 10 +async_insert_stale_timeout_ms 0 +async_insert_threads 16 +async_insert_use_adaptive_busy_timeout 1 +async_query_sending_for_remote 1 +async_socket_for_remote 1 +automatic_parallel_replicas_min_bytes_per_replica 1048576 +automatic_parallel_replicas_mode 0 +azure_allow_parallel_part_upload 1 +azure_check_objects_after_upload 0 +azure_connect_timeout_ms 1000 +azure_create_new_file_on_insert 0 +azure_ignore_file_doesnt_exist 0 +azure_list_object_keys_size 1000 +azure_max_blocks_in_multipart_upload 50000 +azure_max_get_burst 0 +azure_max_get_rps 0 +azure_max_inflight_parts_for_one_file 20 +azure_max_put_burst 0 +azure_max_put_rps 0 +azure_max_redirects 10 +azure_max_single_part_copy_size 268435456 +azure_max_single_part_upload_size 33554432 +azure_max_single_read_retries 4 +azure_max_unexpected_write_error_retries 4 +azure_max_upload_part_size 5368709120 +azure_min_upload_part_size 16777216 +azure_request_timeout_ms 30000 +azure_sdk_max_retries 10 +azure_sdk_retry_initial_backoff_ms 10 +azure_sdk_retry_max_backoff_ms 1000 +azure_sdk_use_native_client 1 +azure_skip_empty_files 0 +azure_strict_upload_part_size 0 +azure_throw_on_zero_files_match 0 +azure_truncate_on_insert 0 +azure_upload_part_size_multiply_factor 2 +azure_upload_part_size_multiply_parts_count_threshold 500 +azure_use_adaptive_timeouts 1 +background_buffer_flush_schedule_pool_size 16 +background_common_pool_size 8 +background_distributed_schedule_pool_size 16 +background_fetches_pool_size 8 +background_merges_mutations_concurrency_ratio 2 +background_message_broker_schedule_pool_size 16 +background_move_pool_size 8 +background_pool_size 16 +background_schedule_pool_size 128 +backup_restore_batch_size_for_keeper_multi 1000 +backup_restore_batch_size_for_keeper_multiread 10000 +backup_restore_failure_after_host_disconnected_for_seconds 3600 +backup_restore_finish_timeout_after_error_sec 180 +backup_restore_keeper_fault_injection_probability 0 +backup_restore_keeper_fault_injection_seed 0 +backup_restore_keeper_max_retries 1000 +backup_restore_keeper_max_retries_while_handling_error 20 +backup_restore_keeper_max_retries_while_initializing 20 +backup_restore_keeper_retry_initial_backoff_ms 100 +backup_restore_keeper_retry_max_backoff_ms 5000 +backup_restore_keeper_value_max_size 1048576 +backup_restore_s3_retry_attempts 1000 +backup_restore_s3_retry_initial_backoff_ms 25 +backup_restore_s3_retry_jitter_factor 0.1 +backup_restore_s3_retry_max_backoff_ms 5000 +backup_slow_all_threads_after_retryable_s3_error 0 +backup_threads 16 +bool_false_representation false +bool_true_representation true +cache_warmer_threads 4 +calculate_text_stack_trace 1 +cancel_http_readonly_queries_on_client_close 0 +cast_ipv4_ipv6_default_on_conversion_error 0 +cast_keep_nullable 0 +cast_string_to_date_time_mode best_effort +cast_string_to_dynamic_use_inference 0 +cast_string_to_variant_use_inference 1 +check_conversion_from_numbers_to_enum 1 +check_named_collection_dependencies 1 +check_query_single_value_result 0 +check_referential_table_dependencies 0 +check_table_dependencies 1 +checksum_on_read 1 +cloud_mode 0 +cloud_mode_database_engine 1 +cloud_mode_engine 1 +cluster_for_parallel_replicas +cluster_function_process_archive_on_multiple_nodes 1 +cluster_table_function_buckets_batch_size 0 +cluster_table_function_split_granularity file +collect_hash_table_stats_during_aggregation 1 +collect_hash_table_stats_during_joins 1 +column_names_for_schema_inference +compatibility +compatibility_ignore_auto_increment_in_create_table 0 +compatibility_ignore_collation_in_create_table 1 +compatibility_s3_presigned_url_query_in_path 0 +compile_aggregate_expressions 1 +compile_expressions 1 +compile_sort_description 1 +connect_timeout 10 +connect_timeout_with_failover_ms 1000 +connect_timeout_with_failover_secure_ms 1000 +connection_pool_max_wait_ms 0 +connections_with_failover_max_tries 3 +convert_query_to_cnf 0 +correlated_subqueries_default_join_kind right +correlated_subqueries_substitute_equivalent_expressions 1 +correlated_subqueries_use_in_memory_buffer 1 +count_distinct_implementation uniqExact +count_distinct_optimization 0 +count_matches_stop_at_empty_match 0 +create_if_not_exists 0 +create_index_ignore_unique 0 +create_replicated_merge_tree_fault_injection_probability 0 +create_table_empty_primary_key_by_default 1 +cross_join_min_bytes_to_compress 1073741824 +cross_join_min_rows_to_compress 10000000 +cross_to_inner_join_rewrite 1 +data_type_default_nullable 0 +database_atomic_wait_for_drop_and_detach_synchronously 0 +database_datalake_require_metadata_access 1 +database_replicated_allow_explicit_uuid 0 +database_replicated_allow_heavy_create 0 +database_replicated_allow_only_replicated_engine 0 +database_replicated_allow_replicated_engine_arguments 0 +database_replicated_always_detach_permanently 0 +database_replicated_ddl_output 1 +database_replicated_enforce_synchronous_settings 0 +database_replicated_initial_query_timeout_sec 300 +database_shared_drop_table_delay_seconds 28800 +date_time_64_output_format_cut_trailing_zeros_align_to_groups_of_thousands 0 +date_time_input_format best_effort +date_time_output_format simple +date_time_overflow_behavior ignore +decimal_check_overflow 1 +deduplicate_blocks_in_dependent_materialized_views 1 +deduplicate_insert enable +deduplicate_insert_select enable_when_possible +default_database_engine Atomic +default_materialized_view_sql_security DEFINER +default_max_bytes_in_join 1000000000 +default_normal_view_sql_security INVOKER +default_table_engine MergeTree +default_temporary_table_engine Memory +default_view_definer CURRENT_USER +defer_partition_pruning_after_final 1 +delta_lake_enable_engine_predicate 1 +delta_lake_enable_expression_visitor_logging 0 +delta_lake_insert_max_bytes_in_data_file 1073741824 +delta_lake_insert_max_rows_in_data_file 1000000 +delta_lake_log_metadata 0 +delta_lake_reload_schema_for_consistency 0 +delta_lake_snapshot_end_version -1 +delta_lake_snapshot_start_version -1 +delta_lake_snapshot_version -1 +delta_lake_throw_on_engine_predicate_error 0 +describe_compact_output 0 +describe_extend_object_types 0 +describe_include_subcolumns 0 +describe_include_virtual_columns 0 +dialect clickhouse +dictionary_use_async_executor 0 +dictionary_validate_primary_key_type 0 +distinct_overflow_mode throw +distributed_aggregation_memory_efficient 1 +distributed_background_insert_batch 0 +distributed_background_insert_max_sleep_time_ms 30000 +distributed_background_insert_sleep_time_ms 100 +distributed_background_insert_split_batch_on_failure 0 +distributed_background_insert_timeout 0 +distributed_cache_alignment 0 +distributed_cache_bypass_connection_pool 0 +distributed_cache_connect_backoff_max_ms 50 +distributed_cache_connect_backoff_min_ms 0 +distributed_cache_connect_max_tries 5 +distributed_cache_connect_timeout_ms 50 +distributed_cache_credentials_refresh_period_seconds 5 +distributed_cache_data_packet_ack_window 5 +distributed_cache_discard_connection_if_unread_data 1 +distributed_cache_fetch_metrics_only_from_current_az 1 +distributed_cache_file_cache_name +distributed_cache_log_mode on_error +distributed_cache_max_unacked_inflight_packets 10 +distributed_cache_min_bytes_for_seek 0 +distributed_cache_pool_behaviour_on_limit wait +distributed_cache_prefer_bigger_buffer_size 0 +distributed_cache_read_alignment 0 +distributed_cache_read_only_from_current_az 1 +distributed_cache_read_request_max_tries 10 +distributed_cache_receive_response_wait_milliseconds 60000 +distributed_cache_receive_timeout_milliseconds 10000 +distributed_cache_receive_timeout_ms 3000 +distributed_cache_registry_show_certificate_and_signature 0 +distributed_cache_send_timeout_ms 3000 +distributed_cache_tcp_keep_alive_timeout_ms 2900 +distributed_cache_throw_on_error 0 +distributed_cache_use_clients_cache_for_read 1 +distributed_cache_use_clients_cache_for_write 0 +distributed_cache_wait_connection_from_pool_milliseconds 100 +distributed_cache_write_request_max_tries 10 +distributed_connections_pool_size 1024 +distributed_ddl_entry_format_version 5 +distributed_ddl_output_mode throw +distributed_ddl_task_timeout 180 +distributed_directory_monitor_batch_inserts 0 +distributed_directory_monitor_max_sleep_time_ms 30000 +distributed_directory_monitor_sleep_time_ms 100 +distributed_directory_monitor_split_batch_on_failure 0 +distributed_foreground_insert 0 +distributed_group_by_no_merge 0 +distributed_index_analysis 0 +distributed_index_analysis_for_non_shared_merge_tree 0 +distributed_index_analysis_only_on_coordinator 0 +distributed_insert_skip_read_only_replicas 0 +distributed_plan_default_reader_bucket_count 8 +distributed_plan_default_shuffle_join_bucket_count 8 +distributed_plan_execute_locally 0 +distributed_plan_force_exchange_kind +distributed_plan_force_shuffle_aggregation 0 +distributed_plan_max_rows_to_broadcast 20000 +distributed_plan_optimize_exchanges 1 +distributed_plan_prefer_replicas_over_workers 0 +distributed_plan_workers_num 0 +distributed_product_mode deny +distributed_push_down_limit 1 +distributed_replica_error_cap 1000 +distributed_replica_error_half_life 60 +distributed_replica_max_ignored_errors 0 +do_not_merge_across_partitions_select_final 0 +drain_timeout 3 +dynamic_disk_allow_from_env 0 +dynamic_disk_allow_from_zk 0 +dynamic_disk_allow_include 0 +dynamic_throw_on_type_mismatch 1 +empty_result_for_aggregation_by_constant_keys_on_empty_set 1 +empty_result_for_aggregation_by_empty_set 0 +enable_adaptive_memory_spill_scheduler 0 +enable_add_distinct_to_in_subqueries 0 +enable_alias_marker 1 +enable_analyzer 1 +enable_automatic_decision_for_merging_across_partitions_for_final 1 +enable_blob_storage_log 1 +enable_blob_storage_log_for_read_operations 0 +enable_debug_queries 0 +enable_deflate_qpl_codec 0 +enable_dynamic_type 1 +enable_early_constant_folding 1 +enable_extended_results_for_datetime_functions 0 +enable_filesystem_cache 1 +enable_filesystem_cache_log 0 +enable_filesystem_cache_on_write_operations 0 +enable_filesystem_read_prefetches_log 0 +enable_full_text_index 1 +enable_global_with_statement 1 +enable_hdfs_pread 1 +enable_http_compression 1 +enable_identifier_resolve_cache 1 +enable_job_stack_trace 0 +enable_join_fixed_hash_table_conversion 1 +enable_join_runtime_filters 1 +enable_join_transitive_predicates 1 +enable_json_type 1 +enable_lazy_columns_replication 1 +enable_lightweight_delete 1 +enable_lightweight_update 1 +enable_materialized_cte 0 +enable_memory_bound_merging_of_aggregation_results 1 +enable_multiple_prewhere_read_steps 1 +enable_named_columns_in_function_tuple 0 +enable_nullable_tuple_type 0 +enable_optimize_predicate_expression 1 +enable_optimize_predicate_expression_to_final_subquery 1 +enable_order_by_all 1 +enable_parallel_blocks_marshalling 1 +enable_parallel_replicas 0 +enable_parsing_to_custom_serialization 1 +enable_positional_arguments 1 +enable_positional_arguments_for_projections 0 +enable_producing_buckets_out_of_order_in_aggregation 1 +enable_qbit_type 1 +enable_reads_from_query_cache 1 +enable_s3_requests_logging 0 +enable_scalar_subquery_optimization 1 +enable_scopes_for_with_statement 1 +enable_sharding_aggregator 0 +enable_shared_storage_snapshot_in_query 1 +enable_sharing_sets_for_mutations 1 +enable_software_prefetch_in_aggregation 1 +enable_software_prefetch_in_join 1 +enable_streaming_queries 0 +enable_time_time64_type 1 +enable_unaligned_array_join 0 +enable_url_encoding 0 +enable_variant_type 1 +enable_vector_similarity_index 1 +enable_vertical_final 1 +enable_writes_to_query_cache 1 +enable_zstd_qat_codec 0 +enforce_strict_identifier_format 0 +engine_file_allow_create_multiple_files 0 +engine_file_empty_if_not_exists 0 +engine_file_skip_empty_files 0 +engine_file_truncate_on_insert 0 +engine_url_skip_empty_files 0 +errors_output_format CSV +evaluation_time auto +exact_rows_before_limit 0 +except_default_mode ALL +exclude_materialize_skip_indexes_on_insert +execute_exists_as_scalar_subquery 1 +export_merge_tree_part_allow_lossy_cast 0 +export_merge_tree_part_file_already_exists_policy skip +export_merge_tree_part_filename_pattern {part_name}_{checksum} +export_merge_tree_part_max_bytes_per_file 0 +export_merge_tree_part_max_rows_per_file 0 +export_merge_tree_part_overwrite_file_if_exists 0 +export_merge_tree_part_schema_mismatch_mode strict +export_merge_tree_part_throw_on_pending_mutations 1 +export_merge_tree_part_throw_on_pending_patch_parts 1 +export_merge_tree_partition_all_on_error throw_first +export_merge_tree_partition_force_export 0 +export_merge_tree_partition_manifest_ttl 86400 +export_merge_tree_partition_max_retries 3 +export_merge_tree_partition_retry_initial_backoff_seconds 5 +export_merge_tree_partition_retry_max_backoff_seconds 300 +export_merge_tree_partition_task_timeout_seconds 86400 +external_storage_connect_timeout_sec 10 +external_storage_max_read_bytes 0 +external_storage_max_read_rows 0 +external_storage_rw_timeout_sec 300 +external_table_functions_use_nulls 1 +external_table_strict_query 0 +extract_key_value_pairs_max_pairs_per_row 1000 +extract_kvp_max_pairs_per_row 1000 +extremes 0 +fallback_to_stale_replicas_for_distributed_queries 1 +file_like_engine_default_partition_strategy hive +filesystem_cache_allow_background_download 1 +filesystem_cache_boundary_alignment 0 +filesystem_cache_enable_background_download_during_fetch 1 +filesystem_cache_enable_background_download_for_metadata_files_in_packed_storage 1 +filesystem_cache_max_download_size 137438953472 +filesystem_cache_name +filesystem_cache_prefer_bigger_buffer_size 1 +filesystem_cache_reserve_space_wait_lock_timeout_milliseconds 1000 +filesystem_cache_segments_batch_size 20 +filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit 1 +filesystem_prefetch_max_memory_usage 1073741824 +filesystem_prefetch_min_bytes_for_single_read_task 2097152 +filesystem_prefetch_step_bytes 0 +filesystem_prefetch_step_marks 0 +filesystem_prefetches_limit 200 +final 0 +finalize_projection_parts_synchronously 0 +flatten_nested 1 +force_aggregate_partitions_independently 0 +force_aggregation_in_order 0 +force_data_skipping_indices +force_grouping_standard_compatibility 1 +force_index_by_date 0 +force_optimize_projection 0 +force_optimize_projection_name +force_optimize_skip_unused_shards 0 +force_optimize_skip_unused_shards_nesting 0 +force_primary_key 0 +force_remove_data_recursively_on_drop 0 +format_avro_schema_registry_connection_timeout 1 +format_avro_schema_registry_max_retries 5 +format_avro_schema_registry_receive_timeout 1 +format_avro_schema_registry_retry_initial_backoff_ms 100 +format_avro_schema_registry_send_timeout 1 +format_avro_schema_registry_url +format_binary_max_array_size 1073741824 +format_binary_max_object_size 100000 +format_binary_max_string_size 1073741824 +format_capn_proto_enum_comparising_mode by_values +format_capn_proto_max_message_size 1073741824 +format_capn_proto_use_autogenerated_schema 1 +format_csv_allow_double_quotes 1 +format_csv_allow_single_quotes 0 +format_csv_delimiter , +format_csv_null_representation \\N +format_custom_escaping_rule Escaped +format_custom_field_delimiter \t +format_custom_result_after_delimiter +format_custom_result_before_delimiter +format_custom_row_after_delimiter \n +format_custom_row_before_delimiter +format_custom_row_between_delimiter +format_display_secrets_in_show_and_select 0 +format_json_object_each_row_column_for_object_name +format_protobuf_use_autogenerated_schema 1 +format_regexp +format_regexp_escaping_rule Raw +format_regexp_skip_unmatched 0 +format_schema +format_schema_message_name +format_schema_source file +format_template_resultset +format_template_resultset_format +format_template_row +format_template_row_format +format_template_rows_between_delimiter \n +format_tsv_null_representation \\N +formatdatetime_e_with_space_padding 0 +formatdatetime_f_prints_scale_number_of_digits 0 +formatdatetime_f_prints_single_zero 0 +formatdatetime_format_without_leading_zeros 0 +formatdatetime_parsedatetime_m_is_month_name 1 +fsync_metadata 1 +function_base58_max_input_size 10000 +function_date_trunc_return_type_behavior 0 +function_implementation +function_json_value_return_type_allow_complex 0 +function_json_value_return_type_allow_nullable 0 +function_locate_has_mysql_compatible_argument_order 1 +function_range_max_elements_in_block 500000000 +function_sleep_max_microseconds_per_block 3000000 +function_visible_width_behavior 1 +functions_h3_default_if_invalid 0 +geo_distance_returns_float64_on_float64_arguments 1 +geotoh3_argument_order lat_lon +glob_expansion_max_elements 1000 +grace_hash_join_initial_buckets 1 +grace_hash_join_max_buckets 1024 +group_by_overflow_mode throw +group_by_two_level_threshold 100000 +group_by_two_level_threshold_bytes 50000000 +group_by_use_nulls 0 +h3togeo_lon_lat_result_order 0 +handle_kafka_error_mode default +handshake_timeout_ms 10000 +hdfs_create_new_file_on_insert 0 +hdfs_ignore_file_doesnt_exist 0 +hdfs_replication 0 +hdfs_skip_empty_files 0 +hdfs_throw_on_zero_files_match 0 +hdfs_truncate_on_insert 0 +hedged_connection_timeout_ms 50 +highlight_max_matches_per_row 10000 +hnsw_candidate_list_size_for_search 256 +hsts_max_age 0 +http_connection_timeout 1 +http_headers_progress_interval_ms 100 +http_headers_read_timeout 30 +http_make_head_request 1 +http_max_chunk_size 107374182400 +http_max_field_name_size 4096 +http_max_field_value_size 131072 +http_max_fields 1000 +http_max_multipart_form_data_size 1073741824 +http_max_request_header_size 10485760 +http_max_request_param_data_size 10485760 +http_max_tries 10 +http_max_uri_size 1048576 +http_native_compression_disable_checksumming_on_decompress 0 +http_receive_timeout 30 +http_response_buffer_size 0 +http_response_headers {} +http_retry_initial_backoff_ms 100 +http_retry_max_backoff_ms 10000 +http_send_timeout 30 +http_skip_not_found_url_for_globs 1 +http_wait_end_of_query 0 +http_write_exception_in_output_format 0 +http_zlib_compression_level 3 +hybrid_table_auto_cast_columns 1 +iceberg_compaction_data_cleanup 10800 +iceberg_compaction_delay_bias 10800 +iceberg_data_file_size_lower_threshold_compaction 10485760 +iceberg_data_file_size_upper_threshold_compaction 10737418240 +iceberg_delete_data_on_drop 0 +iceberg_engine_ignore_schema_evolution 0 +iceberg_expire_default_max_ref_age_ms 9223372036854775807 +iceberg_expire_default_max_snapshot_age_ms 432000000 +iceberg_expire_default_min_snapshots_to_keep 1 +iceberg_insert_max_bytes_in_data_file 1073741824 +iceberg_insert_max_partitions 100 +iceberg_insert_max_rows_in_data_file 1000000 +iceberg_max_number_datafiles_to_compact 1000 +iceberg_metadata_compression_method +iceberg_metadata_log_level none +iceberg_metadata_staleness_ms 0 +iceberg_orphan_files_older_than_seconds 259200 +iceberg_partition_timezone +iceberg_snapshot_id 0 +iceberg_timestamp_ms 0 +iceberg_timezone_for_timestamptz UTC +idle_connection_timeout 3600 +ignore_cold_parts_seconds 0 +ignore_data_skipping_indices +ignore_drop_queries_probability 0 +ignore_format_null_for_explain 1 +ignore_materialized_views_with_dropped_target_table 0 +ignore_on_cluster_for_replicated_access_entities_queries 0 +ignore_on_cluster_for_replicated_database 0 +ignore_on_cluster_for_replicated_named_collections_queries 0 +ignore_on_cluster_for_replicated_udf_queries 0 +implicit_select 0 +implicit_table_at_top_level +implicit_transaction 0 +inject_random_order_for_select_without_order_by 0 +input_format_allow_errors_num 0 +input_format_allow_errors_ratio 0 +input_format_allow_seeks 1 +input_format_arrow_allow_missing_columns 1 +input_format_arrow_case_insensitive_column_matching 0 +input_format_arrow_import_nested 0 +input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference 0 +input_format_avro_allow_missing_fields 0 +input_format_avro_null_as_default 0 +input_format_binary_decode_types_in_binary_format 0 +input_format_binary_max_type_complexity 1000 +input_format_binary_read_json_as_string 0 +input_format_bson_skip_fields_with_unsupported_types_in_schema_inference 0 +input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference 0 +input_format_column_name_matching_mode auto +input_format_connection_handling 0 +input_format_csv_allow_cr_end_of_line 0 +input_format_csv_allow_variable_number_of_columns 0 +input_format_csv_allow_whitespace_or_tab_as_delimiter 0 +input_format_csv_arrays_as_nested_csv 0 +input_format_csv_deserialize_separate_columns_into_tuple 1 +input_format_csv_detect_header 1 +input_format_csv_empty_as_default 1 +input_format_csv_enum_as_number 0 +input_format_csv_skip_first_lines 0 +input_format_csv_skip_trailing_empty_lines 0 +input_format_csv_trim_whitespaces 1 +input_format_csv_try_infer_numbers_from_strings 0 +input_format_csv_try_infer_strings_from_quoted_tuples 1 +input_format_csv_use_best_effort_in_schema_inference 1 +input_format_csv_use_default_on_bad_values 0 +input_format_custom_allow_variable_number_of_columns 0 +input_format_custom_detect_header 1 +input_format_custom_skip_trailing_empty_lines 0 +input_format_defaults_for_omitted_fields 1 +input_format_force_null_for_omitted_fields 0 +input_format_geojson_unsupported_geometry_handling throw +input_format_hive_text_allow_variable_number_of_columns 1 +input_format_hive_text_collection_items_delimiter  +input_format_hive_text_fields_delimiter  +input_format_hive_text_map_keys_delimiter  +input_format_import_nested_json 0 +input_format_ipv4_default_on_conversion_error 0 +input_format_ipv6_default_on_conversion_error 0 +input_format_json_compact_allow_variable_number_of_columns 0 +input_format_json_defaults_for_missing_elements_in_named_tuple 1 +input_format_json_empty_as_default 0 +input_format_json_ignore_unknown_keys_in_named_tuple 1 +input_format_json_ignore_unnecessary_fields 1 +input_format_json_infer_array_of_dynamic_from_array_of_different_types 1 +input_format_json_infer_incomplete_types_as_strings 1 +input_format_json_map_as_array_of_tuples 0 +input_format_json_max_depth 1000 +input_format_json_named_tuples_as_objects 1 +input_format_json_read_arrays_as_strings 1 +input_format_json_read_bools_as_numbers 1 +input_format_json_read_bools_as_strings 1 +input_format_json_read_numbers_as_strings 1 +input_format_json_read_objects_as_strings 1 +input_format_json_throw_on_bad_escape_sequence 1 +input_format_json_try_infer_named_tuples_from_objects 1 +input_format_json_try_infer_numbers_from_strings 0 +input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects 0 +input_format_json_validate_types_from_metadata 1 +input_format_max_block_size_bytes 0 +input_format_max_block_wait_ms 0 +input_format_max_bytes_to_read_for_schema_inference 33554432 +input_format_max_rows_to_read_for_schema_inference 25000 +input_format_msgpack_number_of_columns 0 +input_format_mysql_dump_map_column_names 1 +input_format_mysql_dump_table_name +input_format_native_allow_types_conversion 1 +input_format_native_decode_types_in_binary_format 0 +input_format_null_as_default 1 +input_format_orc_allow_missing_columns 1 +input_format_orc_case_insensitive_column_matching 0 +input_format_orc_dictionary_as_low_cardinality 1 +input_format_orc_filter_push_down 1 +input_format_orc_import_nested 0 +input_format_orc_reader_time_zone_name GMT +input_format_orc_row_batch_size 100000 +input_format_orc_skip_columns_with_unsupported_types_in_schema_inference 0 +input_format_orc_use_fast_decoder 1 +input_format_parallel_parsing 1 +input_format_parquet_allow_geoparquet_parser 1 +input_format_parquet_allow_missing_columns 1 +input_format_parquet_bloom_filter_push_down 1 +input_format_parquet_case_insensitive_column_matching 0 +input_format_parquet_decode_thread_fraction 0.375 +input_format_parquet_enable_json_parsing 1 +input_format_parquet_enable_row_group_prefetch 1 +input_format_parquet_filter_push_down 1 +input_format_parquet_import_nested 0 +input_format_parquet_local_file_min_bytes_for_seek 8192 +input_format_parquet_local_time_as_utc 1 +input_format_parquet_max_block_size 65409 +input_format_parquet_memory_high_watermark 4294967296 +input_format_parquet_memory_low_watermark 2097152 +input_format_parquet_page_filter_push_down 1 +input_format_parquet_prefer_block_bytes 16744704 +input_format_parquet_prefetch_memory_fraction 0.6 +input_format_parquet_preserve_order 0 +input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference 0 +input_format_parquet_use_native_reader 0 +input_format_parquet_use_native_reader_v3 1 +input_format_parquet_use_offset_index 1 +input_format_parquet_verify_checksums 1 +input_format_protobuf_flatten_google_wrappers 0 +input_format_protobuf_oneof_presence 0 +input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference 0 +input_format_record_errors_file_path +input_format_skip_unknown_fields 1 +input_format_try_infer_dates 1 +input_format_try_infer_datetimes 1 +input_format_try_infer_datetimes_only_datetime64 0 +input_format_try_infer_exponent_floats 0 +input_format_try_infer_integers 1 +input_format_try_infer_variants 0 +input_format_tsv_allow_variable_number_of_columns 0 +input_format_tsv_crlf_end_of_line 0 +input_format_tsv_detect_header 1 +input_format_tsv_empty_as_default 0 +input_format_tsv_enum_as_number 0 +input_format_tsv_skip_first_lines 0 +input_format_tsv_skip_trailing_empty_lines 0 +input_format_tsv_use_best_effort_in_schema_inference 1 +input_format_values_accurate_types_of_literals 1 +input_format_values_deduce_templates_of_expressions 1 +input_format_values_interpret_expressions 1 +input_format_with_names_use_header 1 +input_format_with_types_use_header 1 +insert_allow_materialized_columns 0 +insert_deduplicate 1 +insert_deduplication_token +insert_distributed_one_random_shard 0 +insert_distributed_sync 0 +insert_distributed_timeout 0 +insert_keeper_fault_injection_probability 0 +insert_keeper_fault_injection_seed 0 +insert_keeper_max_retries 20 +insert_keeper_retry_initial_backoff_ms 100 +insert_keeper_retry_max_backoff_ms 10000 +insert_null_as_default 1 +insert_quorum 0 +insert_quorum_parallel 1 +insert_quorum_timeout 600000 +insert_select_deduplicate auto +insert_shard_id 0 +interactive_delay 100000 +intersect_default_mode ALL +interval_output_format numeric +into_outfile_create_parent_directories 0 +jemalloc_collect_profile_samples_in_trace_log 0 +jemalloc_enable_profiler 0 +jemalloc_profile_text_collapsed_use_count 0 +jemalloc_profile_text_output_format collapsed +jemalloc_profile_text_symbolize_with_inline 1 +join_algorithm direct,parallel_hash,hash +join_any_take_last_row 0 +join_default_strictness ALL +join_on_disk_max_files_to_merge 64 +join_output_by_rowlist_perkey_rows_threshold 5 +join_overflow_mode throw +join_runtime_bloom_filter_bytes 524288 +join_runtime_bloom_filter_hash_functions 3 +join_runtime_bloom_filter_max_ratio_of_set_bits 0.7 +join_runtime_filter_blocks_to_skip_before_reenabling 30 +join_runtime_filter_exact_values_limit 10000 +join_runtime_filter_from_fixed_hash_table 1 +join_runtime_filter_pass_ratio_threshold_for_disabling 0.7 +join_to_sort_maximum_table_rows 10000 +join_to_sort_minimum_perkey_rows 40 +join_use_nulls 0 +joined_block_split_single_row 0 +joined_subquery_requires_alias 1 +json_type_escape_dots_in_keys 0 +kafka_disable_num_consumers_limit 0 +kafka_max_wait_ms 5000 +keeper_map_strict_mode 0 +keeper_max_retries 10 +keeper_retry_initial_backoff_ms 100 +keeper_retry_max_backoff_ms 5000 +least_greatest_legacy_null_behavior 0 +legacy_column_name_of_tuple_literal 0 +lightweight_delete_mode alter_update +lightweight_deletes_sync 2 +lightweight_mutation_projection_mode throw +limit 0 +live_view_heartbeat_interval 15 +load_balancing random +load_balancing_first_offset 0 +load_marks_asynchronously 0 +local_filesystem_read_method pread_threadpool +local_filesystem_read_prefetch 0 +lock_acquire_timeout 120 +lock_object_storage_task_distribution_ms 500 +log_comment +log_formatted_queries 0 +log_processors_profiles 1 +log_profile_events 1 +log_queries 1 +log_queries_cut_to_length 100000 +log_queries_min_query_duration_ms 0 +log_queries_min_type QUERY_START +log_queries_probability 1 +log_query_settings 1 +log_query_threads 0 +log_query_views 1 +low_cardinality_allow_in_native_format 1 +low_cardinality_max_dictionary_size 8192 +low_cardinality_use_single_dictionary_for_part 0 +low_priority_query_wait_time_ms 1000 +make_distributed_plan 0 +materialize_skip_indexes_on_insert 1 +materialize_statistics_on_insert 0 +materialize_ttl_after_modify 1 +materialized_views_ignore_errors 0 +materialized_views_squash_parallel_inserts 1 +max_alter_threads \'auto(32)\' +max_analyze_depth 5000 +max_ast_depth 1000 +max_ast_elements 50000 +max_autoincrement_series 1000 +max_backup_bandwidth 0 +max_block_size 65409 +max_bytes_before_external_group_by 0 +max_bytes_before_external_join 0 +max_bytes_before_external_sort 0 +max_bytes_before_remerge_sort 1000000000 +max_bytes_for_lazy_final 256000000 +max_bytes_in_distinct 0 +max_bytes_in_join 0 +max_bytes_in_set 0 +max_bytes_ratio_before_external_group_by 0.5 +max_bytes_ratio_before_external_join 0.5 +max_bytes_ratio_before_external_sort 0.5 +max_bytes_to_read 0 +max_bytes_to_read_leaf 0 +max_bytes_to_sort 0 +max_bytes_to_transfer 0 +max_columns_to_read 0 +max_compress_block_size 1048576 +max_concurrent_queries_for_all_users 0 +max_concurrent_queries_for_user 0 +max_consume_snapshots 0 +max_distributed_connections 1024 +max_distributed_depth 5 +max_download_buffer_size 10485760 +max_download_threads 4 +max_dynamic_subcolumns_in_json_type_parsing auto +max_entries_for_hash_table_stats 10000 +max_estimated_execution_time 0 +max_execution_speed 0 +max_execution_speed_bytes 0 +max_execution_time 0 +max_execution_time_leaf 0 +max_expanded_ast_elements 500000 +max_fetch_partition_retries_count 5 +max_final_threads \'auto(32)\' +max_http_get_redirects 0 +max_hyperscan_regexp_length 0 +max_hyperscan_regexp_total_length 0 +max_insert_block_size 1048449 +max_insert_block_size_bytes 0 +max_insert_block_size_rows 1048449 +max_insert_delayed_streams_for_parallel_write 0 +max_insert_threads 0 +max_insert_threads_min_free_memory_per_thread 4294967296 +max_joined_block_size_bytes 4194304 +max_joined_block_size_rows 65409 +max_limit_for_ann_queries -1 +max_limit_for_vector_search_queries 1000 +max_live_view_insert_blocks_before_refresh 64 +max_local_read_bandwidth 0 +max_local_write_bandwidth 0 +max_memory_usage 0 +max_memory_usage_for_all_queries 0 +max_memory_usage_for_user 0 +max_network_bandwidth 0 +max_network_bandwidth_for_all_users 0 +max_network_bandwidth_for_user 0 +max_network_bytes 0 +max_number_of_partitions_for_independent_aggregation 128 +max_os_cpu_wait_time_ratio_to_throw 0 +max_parallel_replicas 1000 +max_parser_backtracks 1000000 +max_parser_depth 1000 +max_parsing_threads \'auto(32)\' +max_partition_size_to_drop 50000000000 +max_partitions_per_insert_block 100 +max_partitions_to_read -1 +max_parts_to_move 1000 +max_pipeline_depth 0 +max_projection_rows_to_use_projection_index 1000000 +max_query_size 262144 +max_rand_distribution_parameter 1000000 +max_rand_distribution_trials 1000000000 +max_read_buffer_size 1048576 +max_read_buffer_size_local_fs 131072 +max_read_buffer_size_remote_fs 0 +max_recursive_cte_evaluation_depth 1000 +max_remote_read_network_bandwidth 0 +max_remote_read_network_bandwidth_for_server 0 +max_remote_write_network_bandwidth 0 +max_remote_write_network_bandwidth_for_server 0 +max_replica_delay_for_distributed_queries 300 +max_replicated_fetches_network_bandwidth_for_server 0 +max_replicated_sends_network_bandwidth_for_server 0 +max_result_bytes 0 +max_result_rows 0 +max_reverse_dictionary_lookup_cache_size_bytes 104857600 +max_rows_for_lazy_final 10000000 +max_rows_in_distinct 0 +max_rows_in_join 0 +max_rows_in_set 0 +max_rows_in_set_to_optimize_join 0 +max_rows_to_group_by 0 +max_rows_to_read 0 +max_rows_to_read_leaf 0 +max_rows_to_sort 0 +max_rows_to_transfer 0 +max_sessions_for_user 0 +max_size_to_preallocate_for_aggregation 1000000000000 +max_size_to_preallocate_for_joins 1000000000000 +max_skip_unavailable_shards_num 0 +max_skip_unavailable_shards_ratio 0 +max_streams_for_files_processing_in_cluster_functions 0 +max_streams_for_merge_tree_reading 0 +max_streams_for_union_step 0 +max_streams_for_union_step_to_max_threads_ratio 8 +max_streams_multiplier_for_merge_tables 5 +max_streams_to_max_threads_ratio 1 +max_subquery_depth 100 +max_table_size_to_drop 50000000000 +max_temporary_columns 0 +max_temporary_data_on_disk_size_for_query 0 +max_temporary_data_on_disk_size_for_user 0 +max_temporary_non_const_columns 0 +max_threads \'auto(32)\' +max_threads_for_annoy_index_creation 4 +max_threads_for_indexes 0 +max_threads_min_free_memory_per_thread 1073741824 +max_untracked_memory 4194304 +max_wkb_geometry_elements 1000000 +memory_overcommit_ratio_denominator 1073741824 +memory_overcommit_ratio_denominator_for_user 1073741824 +memory_profiler_sample_max_allocation_size 0 +memory_profiler_sample_min_allocation_size 0 +memory_profiler_sample_probability 0 +memory_profiler_step 4194304 +memory_tracker_fault_probability 0 +memory_usage_overcommit_max_wait_microseconds 5000000 +merge_table_max_tables_to_look_for_schema_inference 1000 +merge_tree_clear_old_parts_interval_seconds 1 +merge_tree_clear_old_temporary_directories_interval_seconds 60 +merge_tree_coarse_index_granularity 8 +merge_tree_compact_parts_min_granules_to_multibuffer_read 16 +merge_tree_determine_task_size_by_prewhere_columns 1 +merge_tree_max_bytes_to_use_cache 2013265920 +merge_tree_max_rows_to_use_cache 1048576 +merge_tree_min_bytes_for_concurrent_read 251658240 +merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem 0 +merge_tree_min_bytes_for_seek 0 +merge_tree_min_bytes_per_task_for_remote_reading 2097152 +merge_tree_min_read_task_size 8 +merge_tree_min_rows_for_concurrent_read 163840 +merge_tree_min_rows_for_concurrent_read_for_remote_filesystem 0 +merge_tree_min_rows_for_seek 0 +merge_tree_read_split_ranges_into_intersecting_and_non_intersecting_injection_probability 0 +merge_tree_storage_snapshot_sleep_ms 0 +merge_tree_use_const_size_tasks_for_remote_reading 1 +merge_tree_use_deserialization_prefixes_cache 1 +merge_tree_use_prefixes_deserialization_thread_pool 1 +merge_tree_use_v1_object_and_dynamic_serialization 0 +metrics_perf_events_enabled 0 +metrics_perf_events_list +min_bytes_to_use_direct_io 0 +min_bytes_to_use_mmap_io 0 +min_chunk_bytes_for_parallel_parsing 10485760 +min_compress_block_size 65536 +min_count_to_compile_aggregate_expression 3 +min_count_to_compile_expression 3 +min_count_to_compile_sort_description 3 +min_execution_speed 0 +min_execution_speed_bytes 0 +min_external_sort_block_bytes 104857600 +min_external_table_block_size_bytes 268402944 +min_external_table_block_size_rows 1048449 +min_filtered_ratio_for_lazy_final 0.5 +min_free_disk_bytes_to_perform_insert 0 +min_free_disk_ratio_to_perform_insert 0 +min_free_disk_space_for_temporary_data 0 +min_hit_rate_to_use_consecutive_keys_optimization 0.5 +min_insert_block_size_bytes 268402944 +min_insert_block_size_bytes_for_materialized_views 0 +min_insert_block_size_rows 1048449 +min_insert_block_size_rows_for_materialized_views 0 +min_joined_block_size_bytes 524288 +min_joined_block_size_rows 65409 +min_os_cpu_wait_time_ratio_to_throw 0 +min_outstreams_per_resize_after_split 24 +min_table_rows_to_use_projection_index 1000000 +mongodb_throw_on_unsupported_query 1 +move_all_conditions_to_prewhere 1 +move_primary_key_columns_to_end_of_prewhere 1 +multiple_joins_rewriter_version 0 +multiple_joins_try_to_keep_original_names 0 +mutations_execute_nondeterministic_on_initiator 0 +mutations_execute_subqueries_on_initiator 0 +mutations_max_literal_size_to_replace 16384 +mutations_sync 0 +mysql_datatypes_support_level decimal,datetime64,date2Date32 +mysql_map_fixed_string_to_text_in_show_columns 1 +mysql_map_string_to_text_in_show_columns 1 +mysql_max_rows_to_insert 65536 +network_compression_method LZ4 +network_zstd_compression_level 1 +normalize_function_names 1 +number_of_mutations_to_delay 0 +number_of_mutations_to_throw 0 +object_storage_cluster +object_storage_cluster_join_mode allow +object_storage_max_nodes 0 +object_storage_propagate_credentials_to_other_storages 0 +object_storage_remote_initiator 0 +object_storage_remote_initiator_cluster +odbc_bridge_connection_pool_size 16 +odbc_bridge_use_connection_pooling 1 +odbc_max_field_size 0 +offset 0 +opentelemetry_start_keeper_trace_probability auto +opentelemetry_start_trace_probability 0 +opentelemetry_trace_cpu_scheduling 0 +opentelemetry_trace_processors 0 +optimize_aggregation_in_order 0 +optimize_aggregators_of_group_by_keys 1 +optimize_and_compare_chain 1 +optimize_append_index 0 +optimize_arithmetic_operations_in_aggregate_functions 1 +optimize_const_name_size 256 +optimize_count_from_files 1 +optimize_dictget_tuple_element 1 +optimize_distinct_in_order 1 +optimize_distributed_group_by_sharding_key 1 +optimize_dry_run_check_part 1 +optimize_duplicate_order_by_and_distinct 0 +optimize_empty_string_comparisons 1 +optimize_extract_common_expressions 1 +optimize_functions_to_subcolumns 1 +optimize_fuse_sum_count_avg 0 +optimize_group_by_constant_keys 1 +optimize_group_by_function_keys 1 +optimize_if_chain_to_multiif 0 +optimize_if_transform_strings_to_enum 0 +optimize_injective_functions_in_group_by 1 +optimize_injective_functions_in_limit_by 1 +optimize_injective_functions_inside_uniq 1 +optimize_inverse_dictionary_lookup 1 +optimize_limit_by_function_keys 1 +optimize_limit_by_in_order 1 +optimize_min_equality_disjunction_chain_length 3 +optimize_min_inequality_conjunction_chain_length 3 +optimize_monotonous_functions_in_order_by 0 +optimize_move_functions_out_of_any 0 +optimize_move_to_prewhere 1 +optimize_move_to_prewhere_if_final 0 +optimize_multiif_to_if 1 +optimize_normalize_count_variants 1 +optimize_on_insert 1 +optimize_or_like_chain 0 +optimize_prewhere_after_pushdown 0 +optimize_qbit_distance_function_reads 1 +optimize_read_in_order 1 +optimize_read_in_window_order 0 +optimize_redundant_functions_in_order_by 1 +optimize_respect_aliases 1 +optimize_rewrite_aggregate_function_with_if 1 +optimize_rewrite_array_exists_to_has 1 +optimize_rewrite_has_to_in 1 +optimize_rewrite_like_perfect_affix 1 +optimize_rewrite_regexp_functions 1 +optimize_rewrite_sum_if_to_count_if 1 +optimize_skip_merged_partitions 0 +optimize_skip_unused_shards 0 +optimize_skip_unused_shards_limit 1000 +optimize_skip_unused_shards_nesting 0 +optimize_skip_unused_shards_rewrite_in 1 +optimize_sorting_by_input_stream_properties 1 +optimize_substitute_columns 0 +optimize_syntax_fuse_functions 1 +optimize_throw_if_noop 0 +optimize_time_filter_with_preimage 1 +optimize_trivial_approximate_count_query 0 +optimize_trivial_count_query 1 +optimize_trivial_group_by_limit_query 1 +optimize_trivial_insert_select 0 +optimize_truncate_order_by_after_group_by_keys 1 +optimize_uniq_to_count 1 +optimize_use_implicit_projections 1 +optimize_use_projection_filtering 1 +optimize_use_projections 1 +optimize_using_constraints 0 +os_thread_priority 0 +os_threads_nice_value_materialized_view 0 +os_threads_nice_value_query 0 +output_format_always_write_decimal_point_in_float_and_decimal 0 +output_format_arrow_compression_method lz4_frame +output_format_arrow_date_as_uint16 0 +output_format_arrow_fixed_string_as_fixed_byte_array 1 +output_format_arrow_low_cardinality_as_dictionary 0 +output_format_arrow_string_as_string 1 +output_format_arrow_unsupported_types_as_binary 1 +output_format_arrow_use_64_bit_indexes_for_dictionary 0 +output_format_arrow_use_signed_indexes_for_dictionary 1 +output_format_avro_codec +output_format_avro_confluent_subject +output_format_avro_rows_in_file 1 +output_format_avro_string_column_pattern +output_format_avro_sync_interval 16384 +output_format_binary_encode_types_in_binary_format 0 +output_format_binary_write_json_as_string 0 +output_format_bson_string_as_string 0 +output_format_compression_level 3 +output_format_compression_zstd_window_log 0 +output_format_csv_crlf_end_of_line 0 +output_format_csv_serialize_tuple_into_separate_columns 1 +output_format_decimal_trailing_zeros 0 +output_format_enable_streaming 0 +output_format_float_precision 0 +output_format_image_height 1024 +output_format_image_terminal_mode +output_format_image_width 1024 +output_format_json_array_of_rows 0 +output_format_json_escape_forward_slashes 1 +output_format_json_map_as_array_of_tuples 0 +output_format_json_named_tuples_as_objects 1 +output_format_json_pretty_print 1 +output_format_json_quote_64bit_floats 0 +output_format_json_quote_64bit_integers 0 +output_format_json_quote_decimals 0 +output_format_json_quote_denormals 0 +output_format_json_skip_null_value_in_named_tuples 0 +output_format_json_validate_utf8 0 +output_format_markdown_escape_special_characters 0 +output_format_msgpack_uuid_representation ext +output_format_native_encode_types_in_binary_format 0 +output_format_native_use_flattened_dynamic_and_json_serialization 0 +output_format_native_write_json_as_string 0 +output_format_orc_compression_block_size 262144 +output_format_orc_compression_method zstd +output_format_orc_dictionary_key_size_threshold 0 +output_format_orc_row_index_stride 10000 +output_format_orc_string_as_string 1 +output_format_orc_writer_time_zone_name GMT +output_format_parallel_formatting 1 +output_format_parquet_batch_size 1024 +output_format_parquet_bloom_filter_bits_per_value 10.5 +output_format_parquet_bloom_filter_flush_threshold_bytes 134217728 +output_format_parquet_compliant_nested_types 1 +output_format_parquet_compression_method zstd +output_format_parquet_data_page_size 1048576 +output_format_parquet_date_as_uint16 0 +output_format_parquet_datetime_as_uint32 0 +output_format_parquet_enum_as_byte_array 1 +output_format_parquet_fixed_string_as_fixed_byte_array 1 +output_format_parquet_geometadata 1 +output_format_parquet_max_dictionary_size 1048576 +output_format_parquet_parallel_encoding 1 +output_format_parquet_row_group_size 1000000 +output_format_parquet_row_group_size_bytes 536870912 +output_format_parquet_string_as_string 1 +output_format_parquet_unsupported_types_as_binary 0 +output_format_parquet_use_custom_encoder 1 +output_format_parquet_version 2.latest +output_format_parquet_write_bloom_filter 1 +output_format_parquet_write_checksums 1 +output_format_parquet_write_page_index 1 +output_format_pretty_color auto +output_format_pretty_display_footer_column_names 1 +output_format_pretty_display_footer_column_names_min_rows 50 +output_format_pretty_fallback_to_vertical 1 +output_format_pretty_fallback_to_vertical_max_rows_per_chunk 10 +output_format_pretty_fallback_to_vertical_min_columns 5 +output_format_pretty_fallback_to_vertical_min_table_width 250 +output_format_pretty_glue_chunks auto +output_format_pretty_grid_charset UTF-8 +output_format_pretty_highlight_digit_groups 1 +output_format_pretty_highlight_trailing_spaces 1 +output_format_pretty_max_column_name_width_cut_to 24 +output_format_pretty_max_column_name_width_min_chars_to_cut 4 +output_format_pretty_max_column_pad_width 250 +output_format_pretty_max_rows 1000 +output_format_pretty_max_value_width 10000 +output_format_pretty_max_value_width_apply_for_single_value 0 +output_format_pretty_multiline_fields 1 +output_format_pretty_named_tuples_as_json 1 +output_format_pretty_row_numbers 1 +output_format_pretty_single_large_number_tip_threshold 1000000 +output_format_pretty_squash_consecutive_ms 50 +output_format_pretty_squash_max_wait_ms 1000 +output_format_pretty_use_nbsp_for_padding 0 +output_format_protobuf_nullables_with_google_wrappers 0 +output_format_schema +output_format_sql_insert_include_column_names 1 +output_format_sql_insert_max_batch_size 65409 +output_format_sql_insert_quote_names 1 +output_format_sql_insert_table_name table +output_format_sql_insert_use_replace 0 +output_format_trim_fixed_string 0 +output_format_tsv_crlf_end_of_line 0 +output_format_values_escape_quote_with_quote 0 +output_format_write_statistics 1 +page_cache_block_size 1048576 +page_cache_inject_eviction 0 +page_cache_lookahead_blocks 16 +page_cache_max_coalesced_bytes 16777216 +paimon_target_snapshot_id -1 +parallel_distributed_insert_select 2 +parallel_hash_join_threshold 100000 +parallel_non_joined_rows_processing 1 +parallel_replica_offset 0 +parallel_replicas_allow_in_with_subquery 1 +parallel_replicas_allow_materialized_views 1 +parallel_replicas_allow_view_over_mergetree 0 +parallel_replicas_connect_timeout_ms 300 +parallel_replicas_count 0 +parallel_replicas_custom_key +parallel_replicas_custom_key_filter_type default +parallel_replicas_custom_key_range_lower 0 +parallel_replicas_custom_key_range_upper 0 +parallel_replicas_filter_pushdown 0 +parallel_replicas_for_cluster_engines 1 +parallel_replicas_for_non_replicated_merge_tree 0 +parallel_replicas_index_analysis_only_on_coordinator 1 +parallel_replicas_insert_select_local_pipeline 1 +parallel_replicas_local_plan 1 +parallel_replicas_mark_segment_size 0 +parallel_replicas_min_number_of_granules_to_enable 0 +parallel_replicas_min_number_of_rows_per_replica 0 +parallel_replicas_mode read_tasks +parallel_replicas_only_with_analyzer 1 +parallel_replicas_prefer_local_join 1 +parallel_replicas_prefer_local_replica 1 +parallel_replicas_single_task_marks_count_multiplier 2 +parallel_replicas_support_projection 1 +parallel_view_processing 0 +parallelize_output_from_storages 1 +parsedatetime_e_requires_space_padding 0 +parsedatetime_parse_without_leading_zeros 1 +partial_merge_join_left_table_buffer_bytes 0 +partial_merge_join_optimizations 0 +partial_merge_join_rows_in_right_blocks 65536 +partial_result_on_first_cancel 0 +parts_to_delay_insert 0 +parts_to_throw_insert 0 +per_part_index_stats 0 +periodic_live_view_refresh 60 +poll_interval 10 +polyglot_dialect +postgresql_connection_attempt_timeout 2 +postgresql_connection_pool_auto_close_connection 0 +postgresql_connection_pool_retries 2 +postgresql_connection_pool_size 16 +postgresql_connection_pool_wait_timeout 5000 +postgresql_fault_injection_probability 0 +precise_float_parsing 0 +predicate_statistics_sample_rate 0 +prefer_column_name_to_alias 0 +prefer_external_sort_block_bytes 16744704 +prefer_global_in_and_join 0 +prefer_localhost_replica 1 +prefer_warmed_unmerged_parts_seconds 0 +preferred_block_size_bytes 1000000 +preferred_max_column_in_block_size_bytes 0 +preferred_optimize_projection_name +prefetch_buffer_size 1048576 +print_pretty_type_names 1 +priority 0 +promql_database +promql_evaluation_time auto +promql_table +push_external_roles_in_interserver_queries 1 +query_cache_compress_entries 1 +query_cache_for_subqueries 0 +query_cache_max_entries 0 +query_cache_max_size_in_bytes 0 +query_cache_min_query_duration 0 +query_cache_min_query_runs 0 +query_cache_nondeterministic_function_handling throw +query_cache_share_between_users 0 +query_cache_squash_partial_results 1 +query_cache_store_results_of_queries_with_nondeterministic_functions 0 +query_cache_system_table_handling throw +query_cache_tag +query_cache_ttl 60 +query_condition_cache_store_conditions_as_plaintext 0 +query_metric_log_interval -1 +query_plan_aggregation_in_order 1 +query_plan_convert_any_join_to_semi_or_anti_join 1 +query_plan_convert_join_to_in 0 +query_plan_convert_outer_join_to_inner_join 1 +query_plan_direct_read_from_text_index 1 +query_plan_display_internal_aliases 0 +query_plan_enable_multithreading_after_window_functions 1 +query_plan_enable_optimizations 1 +query_plan_execute_functions_after_sorting 1 +query_plan_filter_push_down 1 +query_plan_join_shard_by_pk_ranges 0 +query_plan_join_swap_table auto +query_plan_lift_up_array_join 1 +query_plan_lift_up_union 1 +query_plan_max_limit_for_join_lazy_indexing 1000 +query_plan_max_limit_for_lazy_materialization 10000 +query_plan_max_limit_for_top_k_optimization 1000 +query_plan_max_optimizations_to_apply 10000 +query_plan_max_set_size_for_projection_match 10000 +query_plan_max_step_description_length 500 +query_plan_merge_expressions 1 +query_plan_merge_filter_into_join_condition 1 +query_plan_merge_filters 1 +query_plan_min_columns_for_join_lazy_indexing 3 +query_plan_optimize_join_order_algorithm greedy +query_plan_optimize_join_order_limit 10 +query_plan_optimize_join_order_max_searched_plans 100000 +query_plan_optimize_join_order_randomize 0 +query_plan_optimize_lazy_final 0 +query_plan_optimize_lazy_materialization 1 +query_plan_optimize_prewhere 1 +query_plan_optimize_primary_key 1 +query_plan_optimize_projection 1 +query_plan_push_down_limit 1 +query_plan_push_limit_by_into_sort 1 +query_plan_read_in_order 1 +query_plan_read_in_order_through_join 1 +query_plan_remove_redundant_distinct 1 +query_plan_remove_redundant_sorting 1 +query_plan_remove_unused_columns 1 +query_plan_reuse_storage_ordering_for_window_functions 0 +query_plan_split_filter 1 +query_plan_text_index_add_hint 1 +query_plan_top_k_through_join 1 +query_plan_try_use_vector_search 1 +query_plan_use_logical_join_step 1 +query_plan_use_new_logical_join_step 1 +query_profiler_cpu_time_period_ns 1000000000 +query_profiler_real_time_period_ns 1000000000 +queue_max_wait_ms 0 +rabbitmq_max_wait_ms 5000 +read_backoff_max_throughput 1048576 +read_backoff_min_concurrency 1 +read_backoff_min_events 2 +read_backoff_min_interval_between_events_ms 1000 +read_backoff_min_latency_ms 1000 +read_from_distributed_cache_if_exists_otherwise_bypass_cache 0 +read_from_filesystem_cache_if_exists_otherwise_bypass_cache 0 +read_from_page_cache_if_exists_otherwise_bypass_cache 0 +read_in_order_two_level_merge_threshold 100 +read_in_order_use_buffering 1 +read_in_order_use_virtual_row 0 +read_in_order_use_virtual_row_per_block 0 +read_overflow_mode throw +read_overflow_mode_leaf throw +read_priority 0 +read_through_distributed_cache 0 +readonly 0 +receive_data_timeout_ms 2000 +receive_timeout 300 +recursive_cte_max_steps_in_type_inference 10 +regexp_dict_allow_hyperscan 1 +regexp_dict_flag_case_insensitive 0 +regexp_dict_flag_dotall 0 +regexp_max_matches_per_row 1000 +reject_expensive_hyperscan_regexps 1 +remerge_sort_lowered_memory_bytes_ratio 2 +remote_filesystem_read_method threadpool +remote_filesystem_read_prefetch 1 +remote_fs_read_backoff_max_tries 5 +remote_fs_read_max_backoff_ms 10000 +remote_read_min_bytes_for_seek 4194304 +rename_files_after_processing +replace_running_query 0 +replace_running_query_max_wait_ms 5000 +replication_alter_columns_timeout 60 +replication_alter_partitions_sync 1 +replication_wait_for_inactive_replica_timeout 120 +reserve_memory 0 +restore_replace_external_dictionary_source_to_null 0 +restore_replace_external_engines_to_null 0 +restore_replace_external_table_functions_to_null 0 +restore_replicated_merge_tree_to_shared_merge_tree 0 +restore_threads 16 +result_overflow_mode throw +rewrite_count_distinct_if_with_count_distinct_implementation 0 +rewrite_in_to_join 0 +rows_before_aggregation 0 +s3_allow_multipart_copy 1 +s3_allow_parallel_part_upload 1 +s3_check_objects_after_upload 0 +s3_connect_timeout_ms 1000 +s3_create_new_file_on_insert 0 +s3_disable_checksum 0 +s3_ignore_file_doesnt_exist 0 +s3_list_object_keys_size 1000 +s3_max_connections 1024 +s3_max_get_burst 0 +s3_max_get_rps 0 +s3_max_inflight_parts_for_one_file 20 +s3_max_part_number 10000 +s3_max_put_burst 0 +s3_max_put_rps 0 +s3_max_redirects 10 +s3_max_single_operation_copy_size 33554432 +s3_max_single_part_upload_size 33554432 +s3_max_single_read_retries 4 +s3_max_unexpected_write_error_retries 4 +s3_max_upload_part_size 5368709120 +s3_min_upload_part_size 16777216 +s3_path_filter_limit 1000 +s3_request_timeout_ms 30000 +s3_retry_attempts 500 +s3_skip_empty_files 1 +s3_slow_all_threads_after_network_error 1 +s3_slow_all_threads_after_retryable_error 0 +s3_strict_upload_part_size 0 +s3_throw_on_zero_files_match 0 +s3_truncate_on_insert 0 +s3_upload_part_size_multiply_factor 2 +s3_upload_part_size_multiply_parts_count_threshold 500 +s3_uri_style auto +s3_use_adaptive_timeouts 1 +s3_validate_request_settings 1 +s3queue_allow_experimental_sharded_mode 0 +s3queue_default_zookeeper_path /clickhouse/s3queue/ +s3queue_enable_logging_to_s3queue_log 0 +s3queue_keeper_fault_injection_probability 0 +s3queue_migrate_old_metadata_to_buckets 0 +schema_inference_cache_require_modification_time_for_url 1 +schema_inference_hints +schema_inference_make_columns_nullable 3 +schema_inference_make_json_columns_nullable 0 +schema_inference_mode default +schema_inference_use_cache_for_azure 1 +schema_inference_use_cache_for_file 1 +schema_inference_use_cache_for_hdfs 1 +schema_inference_use_cache_for_s3 1 +schema_inference_use_cache_for_url 1 +secondary_indices_enable_bulk_filtering 1 +select_sequential_consistency 0 +send_logs_level fatal +send_logs_source_regexp +send_profile_events 1 +send_progress_in_http_headers 0 +send_table_structure_on_insert_with_inline_data 1 +send_timeout 300 +serialize_query_plan 0 +serialize_string_in_memory_with_zero_byte 1 +session_timezone +set_overflow_mode throw +shared_merge_tree_sequential_consistency_initial_parts_update_backoff_ms 50 +shared_merge_tree_sequential_consistency_max_parts_update_backoff_ms 1000 +shared_merge_tree_sequential_consistency_parts_update_max_retries 10 +shared_merge_tree_sync_parts_on_partition_operations 1 +short_circuit_function_evaluation enable +short_circuit_function_evaluation_for_nulls 1 +short_circuit_function_evaluation_for_nulls_threshold 1 +show_create_query_identifier_quoting_rule when_necessary +show_create_query_identifier_quoting_style Backticks +show_data_lake_catalogs_in_system_tables 0 +show_processlist_include_internal 1 +show_remote_databases_in_system_tables 1 +show_table_uuid_in_table_create_query_if_not_nil 0 +single_join_prefer_left_table 1 +skip_download_if_exceeds_query_cache 1 +skip_redundant_aliases_in_udf 0 +skip_unavailable_shards 0 +sleep_after_receiving_query_ms 0 +sleep_in_send_data_ms 0 +sleep_in_send_tables_status_ms 0 +sort_overflow_mode throw +split_intersecting_parts_ranges_into_layers_final 1 +split_parts_ranges_into_intersecting_and_non_intersecting_final 1 +splitby_max_substrings_includes_remaining_string 0 +stop_refreshable_materialized_views_on_startup 0 +storage_file_read_method pread +storage_system_stack_trace_pipe_read_timeout_ms 100 +stream_flush_interval_ms 7500 +stream_like_engine_allow_direct_select 0 +stream_like_engine_insert_queue +stream_poll_timeout_ms 500 +system_events_show_zero_values 0 +system_metric_log_show_zero_values_in_histograms 0 +table_engine_read_through_distributed_cache 0 +table_function_remote_max_addresses 1000 +tcp_keep_alive_timeout 290 +temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds 600000 +temporary_files_buffer_size 1048576 +temporary_files_codec LZ4 +temporary_live_view_timeout 1 +text_index_density_threshold 0.2 +text_index_hint_max_selectivity 0.2 +text_index_like_max_postings_to_read 50 +text_index_like_min_pattern_length 4 +text_index_posting_list_apply_mode materialize +text_index_use_bloom_filter 1 +throw_if_deduplication_in_dependent_materialized_views_enabled_with_async_insert 0 +throw_if_no_data_to_insert 1 +throw_on_error_from_cache_on_write_operations 0 +throw_on_max_partitions_per_insert_block 1 +throw_on_unsupported_query_inside_transaction 1 +timeout_before_checking_execution_speed 10 +timeout_overflow_mode throw +timeout_overflow_mode_leaf throw +totals_auto_threshold 0.5 +totals_mode after_having_exclusive +trace_profile_events 0 +trace_profile_events_list +transfer_overflow_mode throw +transform_null_in 0 +traverse_shadow_remote_data_paths 0 +type_json_allow_duplicated_key_with_literal_and_nested_object 1 +type_json_skip_duplicated_paths 0 +type_json_skip_invalid_typed_paths 0 +type_json_use_partial_match_to_skip_paths_by_regexp 1 +union_default_mode +unique_key_max_encoded_size 256 +unknown_packet_in_send_data 0 +update_insert_deduplication_token_in_dependent_materialized_views 0 +update_parallel_mode auto +update_sequential_consistency 1 +url_base +use_async_executor_for_materialized_views 0 +use_cache_for_count_from_files 1 +use_client_time_zone 0 +use_compact_format_in_distributed_parts_names 1 +use_concurrency_control 1 +use_hash_table_stats_for_join_reordering 1 +use_hedged_requests 1 +use_hive_partitioning 1 +use_iceberg_metadata_files_cache 1 +use_iceberg_partition_pruning 1 +use_index_for_in_with_subqueries 1 +use_index_for_in_with_subqueries_max_values 0 +use_join_disjunctions_push_down 1 +use_json_alias_for_old_object_type 0 +use_legacy_to_time 1 +use_lightweight_primary_key_index_analysis 1 +use_local_cache_for_remote_storage 0 +use_mysql_types_in_show_columns 0 +use_object_storage_list_objects_cache 0 +use_page_cache_for_disks_without_file_cache 0 +use_page_cache_for_local_disks 0 +use_page_cache_for_object_storage 0 +use_page_cache_with_distributed_cache 0 +use_paimon_partition_pruning 0 +use_parquet_metadata_cache 1 +use_partition_key 1 +use_partition_pruning 1 +use_primary_key 1 +use_puffin_files_cache 1 +use_query_cache 0 +use_query_condition_cache 1 +use_reader_executor 0 +use_roaring_bitmap_iceberg_positional_deletes 0 +use_skip_indexes 1 +use_skip_indexes_for_disjunctions 1 +use_skip_indexes_for_top_k 1 +use_skip_indexes_if_final 1 +use_skip_indexes_if_final_exact_mode 1 +use_skip_indexes_on_data_read 1 +use_statistics 1 +use_statistics_cache 1 +use_statistics_for_part_pruning 1 +use_strict_insert_block_limits 0 +use_structure_from_insertion_table_in_table_functions 2 +use_text_index_dictionary_cache 0 +use_text_index_header_cache 0 +use_text_index_like_evaluation_by_dictionary_scan 1 +use_text_index_postings_cache 0 +use_text_index_tokens_cache 0 +use_top_k_dynamic_filtering 1 +use_top_k_dynamic_filtering_for_variable_length_types 0 +use_uncompressed_cache 0 +use_variant_as_common_type 1 +use_variant_default_implementation_for_comparisons 1 +use_with_fill_by_sorting_prefix 1 +validate_enum_literals_in_operators 0 +validate_experimental_and_suspicious_types_inside_nested_types 1 +validate_mutation_query 1 +validate_polygons 1 +variant_throw_on_type_mismatch 1 +vector_search_filter_strategy auto +vector_search_index_fetch_multiplier 1 +vector_search_postfilter_multiplier 1 +vector_search_with_rescoring 0 +wait_changes_become_visible_after_commit_mode wait_unknown +wait_for_async_insert 1 +wait_for_async_insert_timeout 120 +wait_for_part_commit_in_dependent_materialized_views 0 +wait_for_window_view_fire_signal_timeout 10 +webassembly_udf_max_fuel 100000 +webassembly_udf_max_input_block_size 0 +webassembly_udf_max_instances 32 +webassembly_udf_max_memory 134217728 +window_view_clean_interval 60 +window_view_heartbeat_interval 15 +workload default +write_full_path_in_iceberg_metadata 0 +write_through_distributed_cache 0 +write_through_distributed_cache_buffer_size 0 +zstd_window_log_max 0 diff --git a/tests/queries/0_stateless/03999_stateless_settings_history.sh b/tests/queries/0_stateless/03999_stateless_settings_history.sh index 2bf2423a00d0..20589acc79fc 100755 --- a/tests/queries/0_stateless/03999_stateless_settings_history.sh +++ b/tests/queries/0_stateless/03999_stateless_settings_history.sh @@ -13,6 +13,10 @@ # has no history row would go unnoticed). # so that the `compatibility` setting keeps working. # * Aliases and obsolete settings are ignored. +# * Antalya adds a second snapshot, taken from the previous Antalya release +# (03999_settings_26_6_2_20001_antalya.tsv), checked the same two ways. It keeps +# `compatibility` working for an upgrade from that release, which the upstream +# snapshot alone cannot guarantee. # # The snapshot only ever needs editing to REMOVE a name (when an old setting is # dropped); new settings must never be added to it. @@ -26,6 +30,18 @@ BASELINE="${CUR_DIR}/03999_settings_history_baseline.tsv" # SettingsChangesHistory.cpp (i.e. a default change that predates this test and was never # recorded). This list may only SHRINK: each name should be fixed in the history and removed. VALUE_DRIFT_IGNORE="${CUR_DIR}/03999_settings_value_drift_ignore.txt" +# Antalya counterpart of the frozen baseline: the settings of the previous Antalya release +# (v26.6.2.20001.altinityantalya). A setting missing from it, or whose default differs from +# it, must be recorded in `SettingsChangesHistory.cpp` so that `compatibility` set to that +# release restores the value the release had. The upstream baseline cannot catch a default +# that Antalya overrode and later dropped, because that default is back to the OSS value. +# Regenerated on a rebase onto a newer upstream release, from the previous Antalya build: +# docker run --rm --entrypoint clickhouse \ +# altinity/clickhouse-server:26.6.2.20001.altinityantalya local \ +# -q "select name, default from system.settings order by name format TSV" \ +# > 03999_settings_26_6_2_20001_antalya.tsv +# An empty file disables the Antalya-side checks. +ANTALYA_BASELINE="${CUR_DIR}/03999_settings_26_6_2_20001_antalya.tsv" $CLICKHOUSE_LOCAL --query " WITH @@ -33,6 +49,10 @@ $CLICKHOUSE_LOCAL --query " ( SELECT name, kind, default FROM file('${BASELINE}', 'TSV', 'name String, kind String, default String') ), + antalya_baseline AS + ( + SELECT name, default FROM file('${ANTALYA_BASELINE}', 'TSV', 'name String, default String') + ), value_drift_ignore AS ( SELECT name FROM file('${VALUE_DRIFT_IGNORE}', 'LineAsString', 'name String') @@ -64,16 +84,21 @@ $CLICKHOUSE_LOCAL --query " -- applied in ascending version order and, within a version, in vector order (the order -- they appear in the block). A setting may legitimately appear more than once in the -- same block, so ties on version are broken by the entry index - argMax over the tuple - -- (version, index) reproduces the effective 'latest' value deterministically. If it - -- differs from the current default, a default was changed in code without recording it - -- in SettingsChangesHistory.cpp, so the compatibility setting restores a wrong value. + -- (version, flavour, index) reproduces the effective 'latest' value deterministically. + -- The version key mirrors ClickHouseVersion: the numeric components compared as a + -- vector, then the build flavour suffix, so an Antalya block sorts right after the + -- upstream release it patches ('26.1' < '26.1.3.20001.altinityantalya' < '26.2'). + -- If the value differs from the current default, a default was changed in code without + -- recording it in SettingsChangesHistory.cpp, so compatibility restores a wrong value. session_expected_default AS ( - SELECT name, argMax(new_value, (vnum, idx)) AS expected + SELECT name, argMax(new_value, (vnum, vflavour, idx)) AS expected FROM ( SELECT c.1 AS name, c.3 AS new_value, - splitByChar('.', version)[1]::UInt64 * 1000 + splitByChar('.', version)[2]::UInt64 AS vnum, + splitByChar('.', version) AS vparts, + if(vparts[-1] IN ('altinityantalya', 'altinitystable', 'altinitytest'), vparts[-1], '') AS vflavour, + arrayMap(x -> x::UInt64, if(vflavour = '', vparts, arrayPopBack(vparts))) AS vnum, idx FROM system.settings_changes ARRAY JOIN changes AS c, arrayEnumerate(changes) AS idx @@ -83,11 +108,13 @@ $CLICKHOUSE_LOCAL --query " ), mergetree_expected_default AS ( - SELECT name, argMax(new_value, (vnum, idx)) AS expected + SELECT name, argMax(new_value, (vnum, vflavour, idx)) AS expected FROM ( SELECT c.1 AS name, c.3 AS new_value, - splitByChar('.', version)[1]::UInt64 * 1000 + splitByChar('.', version)[2]::UInt64 AS vnum, + splitByChar('.', version) AS vparts, + if(vparts[-1] IN ('altinityantalya', 'altinitystable', 'altinitytest'), vparts[-1], '') AS vflavour, + arrayMap(x -> x::UInt64, if(vflavour = '', vparts, arrayPopBack(vparts))) AS vnum, idx FROM system.settings_changes ARRAY JOIN changes AS c, arrayEnumerate(changes) AS idx @@ -196,6 +223,36 @@ $CLICKHOUSE_LOCAL --query " AND s.name NOT IN (SELECT name FROM mergetree_documented) AND s.name NOT IN (SELECT name FROM value_drift_ignore) AND s.name NOT IN (SELECT name FROM cloud_divergent_settings) + + UNION ALL + + -- Session setting that did not exist in the previous Antalya release and is not + -- documented. The frozen upstream baseline is newer, so it does not require a history + -- entry for a setting upstream added between that Antalya release and the freeze. + SELECT 'PLEASE ADD THE NEW SETTING TO SettingsChangesHistory.cpp (Antalya): ' || name + FROM system.settings + WHERE alias_for = '' AND is_obsolete = 0 + AND name NOT IN (SELECT name FROM antalya_baseline) + AND name NOT IN (SELECT name FROM session_documented) + AND (SELECT count() FROM antalya_baseline) > 0 + + UNION ALL + + -- Session default that differs from the previous Antalya release and has no history row. + -- Both defaults come from system.settings, so the representation matches - no + -- normalization. Catches an Antalya override that was dropped: the default is back to + -- the OSS value the frozen upstream baseline holds, so the arms above see no change, + -- yet compatibility set to that Antalya release must still restore its value. + SELECT 'PLEASE RECORD THE DEFAULT CHANGE IN SettingsChangesHistory.cpp (Antalya): ' || s.name + || ' default changed from ' || a.default || ' to ' || s.default || ' since the previous Antalya release but has no history entry' + FROM system.settings s + JOIN antalya_baseline a ON a.name = s.name + WHERE s.is_obsolete = 0 AND s.alias_for = '' + AND s.default NOT LIKE 'auto(%' -- runtime-derived value, machine-specific + AND s.default != a.default + AND s.name NOT IN (SELECT name FROM session_documented) + AND s.name NOT IN (SELECT name FROM value_drift_ignore) + AND s.name NOT IN (SELECT name FROM cloud_divergent_settings) ) ORDER BY message " From 43d692579b164c32705b57d46c2ca772042274cd Mon Sep 17 00:00:00 2001 From: Andrey Zvonov <32552679+zvonand@users.noreply.github.com> Date: Thu, 10 Sep 2026 15:48:20 +0200 Subject: [PATCH 2/2] Update SettingsChangesHistory.cpp --- src/Core/SettingsChangesHistory.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Core/SettingsChangesHistory.cpp b/src/Core/SettingsChangesHistory.cpp index c9561e14508d..b9acda40b208 100644 --- a/src/Core/SettingsChangesHistory.cpp +++ b/src/Core/SettingsChangesHistory.cpp @@ -41,6 +41,9 @@ const VersionToSettingsChangesMap & getSettingsChangesHistory() /// controls new feature and it's 'true' by default, use 'false' as previous_value). /// It's used to implement `compatibility` setting (see https://github.com/ClickHouse/ClickHouse/issues/35972) /// Note: please check if the key already exists to prevent duplicate entries. + addSettingsChanges(settings_changes_history, "26.8.1.20001.altinityantalya", + { + }); addSettingsChanges(settings_changes_history, "26.8", { {"adaptive_aggregator_freeze_threshold_bytes", 4194304, 4194304, "New setting bounding the adaptive aggregator's frozen local tables in bytes, whichever of it and the key-count threshold is reached first; 0 disables the byte bound."},