ClickHouse® is a real-time analytics database management system
This report presents the forensic synthetic code analysis of ClickHouse/ClickHouse, a C++ project with 48,626 GitHub stars. SynthScan v2.0 examined 3,727,749 lines of code across 30042 source files, recording 13312 pattern matches distributed across 27 syntactic categories. The overall adjusted score of 4.3 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 13312 distinct pattern matches across 27 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | cmake_minimum_required(VERSION 3.25) | COMMENT |
| LOW | CMakeLists.txt | 181 | if (CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE" AND NOT SPLIT_DEBUG_SYMBOLS) | COMMENT |
| LOW | CMakeLists.txt | 361 | COMMENT | |
| LOW | CMakeLists.txt | 621 | get_target_property (type ${target} TYPE) | COMMENT |
| LOW | cmake/strip_rust_symbols.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | cmake/localize_rust_c_symbols.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | cmake/localize_rust_c_symbols.sh | 21 | # | COMMENT |
| LOW | ci/settings/settings.py | 61 | COMMENT | |
| LOW | ci/infra/scripts/user_data_macos.txt | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 1 | # | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 21 | ## THIS FILE ACTS AS THE MASTER FILE FOR ALL HADOOP PROJECTS. | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 41 | # is preferable, modify this file accordingly. | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 61 | # file is living. If this is not defined, Hadoop will attempt to | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 81 | # memory size. | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 101 | # in the system logs. | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 121 | # By default, Apache Hadoop overrides Java's CLASSPATH | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 141 | # Should HADOOP_CLASSPATH be first in the official CLASSPATH? | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 161 | COMMENT | |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 181 | # export HADOOP_WORKERS="${HADOOP_CONF_DIR}/workers" | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 201 | COMMENT | |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 221 | COMMENT | |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 241 | # for all the daemons. So one could define: | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 261 | # export JSVC_HOME=/usr/bin | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 281 | ### | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 301 | COMMENT | |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 321 | # | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 341 | # Specify the JVM options to be used when starting the NFS3 Gateway. | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 361 | COMMENT | |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 381 | # HDFS Balancer specific parameters | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 401 | # These options will be appended to the options specified as HADOOP_OPTS | COMMENT |
| LOW | ci/docker/integration/hive_server/hadoop-env.sh | 421 | # For example, to limit who can execute the namenode command, | COMMENT |
| LOW | ci/praktika/runner.py | 701 | # User-authored free text must not be embedded into the job output: | COMMENT |
| LOW | ci/praktika/hook_cache.py | 181 | print( | COMMENT |
| LOW | ci/praktika/result.py | 781 | # returns 0 even when the inferior exits with a non-zero code, so we can't rely on | COMMENT |
| LOW | ci/praktika/gh_auth.py | 141 | .get_value() | COMMENT |
| LOW | ci/praktika/infrastructure/dedicated_host.py | 21 | availability_zones: List[str] = field(default_factory=list) | COMMENT |
| LOW | ci/praktika/infrastructure/runner/runner-init.py | 441 | # `search ec2.internal` expansion in `/etc/resolv.conf` to match the FQDN | COMMENT |
| LOW | ci/praktika/infrastructure/runner/runner-init.py | 941 | # Handle `check` ourselves rather than passing it to `subprocess.run`: a | COMMENT |
| LOW | ci/jobs/check_style.py | 721 | # if testpattern.lower() in testname.lower(): | COMMENT |
| LOW | ci/jobs/performance_tests.py | 441 | """ | COMMENT |
| LOW | ci/jobs/functional_tests.py | 101 | # memory limit must follow the binary under test (`build_type`) rather than | COMMENT |
| LOW | ci/jobs/functional_tests.py | 221 | # leave it untouched so it does not become a spurious failure. | COMMENT |
| LOW | ci/jobs/functional_tests.py | 881 | # `extend_sub_results` recomputes the aggregate status from child | COMMENT |
| LOW | ci/jobs/functional_tests.py | 921 | # The downloaded build-type binaries are self-extracting: | COMMENT |
| LOW | ci/jobs/functional_tests.py | 961 | # running across `stop_server`, so only the server-side | COMMENT |
| LOW | ci/jobs/integration_test_job.py | 1021 | # Flaky-check soft timeout. Mirrors the pattern in `ci/jobs/functional_tests.py`: | COMMENT |
| LOW | ci/jobs/integration_test_job.py | 1321 | # than letting `create_from` default an empty result set to ERROR, which would block | COMMENT |
| LOW | ci/jobs/integration_test_job.py | 1401 | COMMENT | |
| LOW | ci/jobs/libfuzzer_test_check.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | ci/jobs/stress_job.py | 81 | if not (result.is_ok() or result.is_failure() or result.is_error()): | COMMENT |
| LOW | ci/jobs/copilot_review_job.py | 41 | GH_PREFIX = "env -u GH_CONFIG_DIR" | COMMENT |
| LOW | ci/jobs/copilot_review_job.py | 301 | name="codex review", | COMMENT |
| LOW | ci/jobs/sqlancer_pp_job.sh | 1 | #!/bin/bash | COMMENT |
| LOW | ci/jobs/sqlancer_pp_job.sh | 61 | # `clickhouse/sqlancer-test` image (ci/docker/sqlancer-test/Dockerfile) installs | COMMENT |
| LOW | ci/jobs/collect_clickhouse_profiles.py | 61 | COMMENT | |
| LOW | ci/jobs/llvm_coverage_job.py | 381 | _changed_lines_cov = print_res.ext.get("changed_lines_cov", 0.0) | COMMENT |
| LOW | ci/jobs/llvm_coverage_job.py | 441 | # assumed to potentially affect the binary, which suppresses the | COMMENT |
| LOW | ci/jobs/llvm_coverage_job.py | 481 | _tests_changed = any(_is_test_path(p) for p in _changed_paths) | COMMENT |
| LOW | ci/jobs/llvm_coverage_job.py | 501 | # (C/C++ source changed, stable union used for the delta) | COMMENT |
| LOW | ci/jobs/llvm_coverage_job.py | 581 | f"{Utils.normalize_string(nc_res.name)}/{_nc_log_name}" | COMMENT |
| 6634 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/docker/reqgenerator.py | 36 | def check_docker_file_install_with_pip(filepath): | CODE |
| LOW⚡ | ci/tests/test_result.py | 44 | def test_all_statuses_accounted_for(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 54 | def test_status_values_are_uppercase(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 59 | def test_status_values_are_unique(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 131 | def test_create_from_bool_true(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 136 | def test_create_from_bool_false(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 141 | def test_create_from_aggregates_ok(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 147 | def test_create_from_aggregates_fail(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 153 | def test_create_from_aggregates_error(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 159 | def test_create_from_aggregates_xfail_is_ok(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 165 | def test_create_from_aggregates_xpass_is_fail(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 171 | def test_create_from_aggregates_unknown_is_fail(): | CODE |
| LOW⚡ | ci/tests/test_result.py | 177 | def test_create_from_error_takes_priority(): | CODE |
| LOW | ci/tests/test_result.py | 209 | def test_create_from_lifts_child_info_when_requested(): | CODE |
| LOW | ci/tests/test_result.py | 220 | def test_create_from_omits_child_info_by_default(): | CODE |
| LOW | ci/tests/test_functional_tests_results.py | 46 | def test_max_failures_keeps_real_failures_and_adds_summary(tmp_path): | CODE |
| LOW | ci/tests/test_functional_tests_results.py | 66 | def test_aborted_run_still_reports_server_died(tmp_path): | CODE |
| LOW | ci/tests/test_fuzzer_liveness_loop.py | 102 | def test_transient_timeout_then_recovers_is_not_server_died(tmp_path): | CODE |
| LOW | ci/tests/test_fuzzer_liveness_loop.py | 116 | def test_connection_refused_is_server_died_immediately(tmp_path): | STRING |
| LOW | ci/tests/test_fuzzer_liveness_loop.py | 122 | def test_persistent_timeout_is_eventually_server_died(tmp_path): | STRING |
| LOW | ci/tests/test_shared_engine_replacer_discovery.py | 50 | def test_transient_copy_skipped_but_lookalike_test_discovered(): | CODE |
| LOW | ci/tests/test_bugfix_validation_not_cached.py | 48 | def test_all_four_per_arch_jobs_present(): | CODE |
| LOW | ci/tests/test_bugfix_validation_not_cached.py | 59 | def test_bugfix_validation_jobs_have_no_digest_config(): | CODE |
| LOW | ci/tests/test_bugfix_validation_not_cached.py | 67 | def test_bugfix_validation_jobs_resolve_to_null_digest(): | CODE |
| LOW | ci/tests/test_download_build_with_progress.py | 105 | def test_transient_error_retries_then_fails(tmp_path, monkeypatch, no_sleep): | CODE |
| LOW | ci/tests/test_download_build_with_progress.py | 130 | def test_truncated_download_retries_then_succeeds(tmp_path, monkeypatch, no_sleep): | CODE |
| LOW | ci/tests/test_pytest_xfail_xpass.py | 105 | def test_xfailed_and_passed_mix(): | CODE |
| LOW | ci/tests/test_pytest_xfail_xpass.py | 129 | def test_xpassed_and_passed_mix(): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 66 | def test_branch_version_strips_prefix(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 72 | def test_parses_version_specific_label(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 76 | def test_rejects_other_labels(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 86 | def test_lowest_of_multiple_labels_wins(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 92 | def test_inactive_label_still_sets_floor(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 106 | def test_floor_fans_out_to_all_newer_releases(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 113 | def test_floor_fans_out_public_repo(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 122 | def test_multiple_labels_lowest_wins(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 126 | def test_numeric_ordering_in_selection(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 132 | def test_inactive_label_widens_selection(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 138 | def test_eol_named_release_fans_out_to_newer_active(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 148 | def test_floor_newer_than_all_active_yields_no_branches(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 155 | def test_rolling_out_ignored_for_version_specific(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 164 | def test_floor_at_newest_branch_selects_only_it(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 168 | def test_no_backport_label_raises(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 174 | def test_all_branches_no_rolling_out(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 179 | def test_critical_bugfix_is_general(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 183 | def test_rolling_out_skipped_without_version_label(self): | CODE |
| LOW⚡ | ci/tests/test_cherry_pick_branches.py | 192 | def test_rolling_out_overridden_by_lower_floor(self): | CODE |
| LOW | ci/tests/test_cherry_pick_branches.py | 205 | def test_rolling_out_partial_override_by_floor(self): | CODE |
| LOW | ci/tests/test_cherry_pick_branches.py | 216 | def test_force_ignores_rolling_out(self): | CODE |
| LOW⚡ | ci/tests/test_job_filtering.py | 160 | def test_txt_file_in_subdirectory_does_not_match_shallow_glob(self): | CODE |
| LOW⚡ | ci/tests/test_job_filtering.py | 169 | def test_txt_file_directly_under_tests_matches_shallow_glob(self): | CODE |
| LOW⚡ | ci/tests/test_job_filtering.py | 176 | def test_unrelated_extension_in_subdirectory_does_not_match(self): | CODE |
| LOW⚡ | ci/tests/test_job_filtering.py | 182 | def test_txt_file_under_same_named_subdir_does_not_match(self): | CODE |
| LOW⚡ | ci/tests/test_job_filtering.py | 193 | def test_query_file_directly_under_tests_queries_matches(self): | CODE |
| LOW | ci/tests/test_job_filtering.py | 226 | def test_docker_is_filtered_when_only_requirer_is_hook_filtered(self): | CODE |
| LOW | ci/tests/test_job_filtering.py | 245 | def test_docker_is_not_filtered_when_unfiltered_job_requires_it(self): | CODE |
| LOW | ci/tests/test_job_filtering.py | 272 | def test_build_is_rescued_when_docker_is_rescued(self): | CODE |
| LOW | ci/tests/test_job_filtering.py | 291 | def test_unrelated_jobs_are_still_filtered(self): | CODE |
| LOW | ci/tests/test_job_filtering.py | 305 | def test_all_jobs_filtered_when_nothing_is_affected(self): | CODE |
| LOW | ci/tests/test_job_filtering.py | 317 | def test_direct_artifact_dependency_rescue_already_works(self): | CODE |
| 3450 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | ci/tests/test_job_filtering.py | 201 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_job_filtering.py | 203 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_job_filtering.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_job_filtering.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_job_filtering.py | 119 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_job_filtering.py | 121 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_job_filtering.py | 147 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_job_filtering.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_job_filtering.py | 259 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_job_filtering.py | 261 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_new_tests_check.py | 147 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_new_tests_check.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_new_tests_check.py | 232 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_new_tests_check.py | 234 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_new_tests_check.py | 300 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_new_tests_check.py | 302 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_new_tests_check.py | 420 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ci/tests/test_new_tests_check.py | 422 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_new_tests_check.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/tests/test_new_tests_check.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ci/jobs/keeper_stress_job.py | 28 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ci/jobs/keeper_stress_job.py | 30 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ci/jobs/keeper_stress_job.py | 45 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ci/jobs/keeper_stress_job.py | 47 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ci/jobs/keeper_stress_job.py | 472 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ci/jobs/keeper_stress_job.py | 474 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/casa_del_dolor/catalogs/datalakes.py | 327 | # ============================================================ | STRING |
| MEDIUM | tests/casa_del_dolor/catalogs/datalakes.py | 329 | # ============================================================ | STRING |
| MEDIUM | tests/casa_del_dolor/catalogs/datalakes.py | 403 | # ============================================================ | STRING |
| MEDIUM | tests/casa_del_dolor/catalogs/datalakes.py | 405 | # ============================================================ | STRING |
| MEDIUM | tests/casa_del_dolor/catalogs/datalakes.py | 619 | # ============================================================ | STRING |
| MEDIUM | tests/casa_del_dolor/catalogs/datalakes.py | 621 | # ============================================================ | STRING |
| MEDIUM | tests/casa_del_dolor/catalogs/datalakes.py | 716 | # ============================================================ | STRING |
| MEDIUM | tests/casa_del_dolor/catalogs/datalakes.py | 718 | # ============================================================ | STRING |
| MEDIUM | tests/casa_del_dolor/catalogs/datagenerator.py | 235 | # ============================================================ | COMMENT |
| MEDIUM | tests/casa_del_dolor/catalogs/datagenerator.py | 237 | # ============================================================ | COMMENT |
| MEDIUM | tests/integration/test_ttl_move/test.py | 42 | # --------------------------------- | COMMENT |
| MEDIUM | tests/integration/test_ttl_move/test.py | 152 | # --------------------------------- | STRING |
| MEDIUM⚡ | …ration/test_executable_pool_udf_profile_events/test.py | 209 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ration/test_executable_pool_udf_profile_events/test.py | 213 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 167 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 169 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 342 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 344 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 672 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 674 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 741 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 746 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 859 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 861 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 942 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 944 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …st_storage_iceberg_with_spark/test_expire_snapshots.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …storage_iceberg_with_spark/test_remove_orphan_files.py | 168 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …storage_iceberg_with_spark/test_remove_orphan_files.py | 170 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …storage_iceberg_with_spark/test_remove_orphan_files.py | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …storage_iceberg_with_spark/test_remove_orphan_files.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ration/test_arrowflight_interface/flight_sql_client.py | 18 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ration/test_arrowflight_interface/flight_sql_client.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| 528 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/docker/reqgenerator.py | 62 | except Exception as ex: | CODE |
| LOW | ci/praktika/digest.py | 20 | except Exception: | CODE |
| MEDIUM | ci/praktika/runner.py | 269 | def _restore_submodule_cache(): | CODE |
| LOW | ci/praktika/runner.py | 44 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 293 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 326 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 567 | except Exception as e: # json.decoder.JSONDecodeError | CODE |
| LOW | ci/praktika/runner.py | 669 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 748 | except Exception as ex: | CODE |
| LOW | ci/praktika/runner.py | 777 | except Exception as ex: | CODE |
| LOW | ci/praktika/runner.py | 803 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 874 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 897 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 931 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 939 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 1032 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 1061 | except Exception as e: | CODE |
| LOW | ci/praktika/runner.py | 1105 | except Exception as e: | CODE |
| LOW | ci/praktika/event.py | 282 | except Exception as e: | CODE |
| LOW | ci/praktika/event.py | 394 | except Exception as e: | CODE |
| MEDIUM | ci/praktika/event.py | 648 | print(f"Error reading reverse lookup file: {e}") | CODE |
| LOW | ci/praktika/gh.py | 256 | except Exception as ex: | CODE |
| LOW | ci/praktika/gh.py | 286 | except Exception: | CODE |
| LOW | ci/praktika/gh.py | 610 | except Exception as e: | CODE |
| LOW | ci/praktika/gh.py | 630 | except Exception: | CODE |
| LOW | ci/praktika/gh.py | 755 | except Exception: | CODE |
| LOW | ci/praktika/gh.py | 790 | except Exception: | CODE |
| LOW | ci/praktika/gh.py | 1051 | except Exception: | CODE |
| LOW | ci/praktika/gh.py | 1147 | except Exception: | CODE |
| LOW | ci/praktika/job.py | 310 | except Exception as e: | CODE |
| LOW | ci/praktika/mangle.py | 18 | except Exception: | CODE |
| LOW | ci/praktika/mangle.py | 90 | except Exception as e: | CODE |
| MEDIUM | ci/praktika/result.py | 2068 | print(f"Error decoding line in jsonl file: {e}") | CODE |
| LOW | ci/praktika/result.py | 150 | except Exception: | CODE |
| LOW | ci/praktika/result.py | 919 | except Exception as e: | CODE |
| LOW | ci/praktika/result.py | 1040 | except Exception as e: | CODE |
| LOW | ci/praktika/result.py | 1409 | except Exception as e: | CODE |
| LOW | ci/praktika/result.py | 1444 | except Exception as e: | CODE |
| LOW | ci/praktika/result.py | 1602 | except Exception as e: | CODE |
| LOW | ci/praktika/result.py | 1794 | except Exception: | CODE |
| LOW | ci/praktika/result.py | 1810 | except Exception: | CODE |
| LOW | ci/praktika/result.py | 1964 | except Exception: | CODE |
| LOW | ci/praktika/result.py | 2021 | except Exception: | CODE |
| LOW | ci/praktika/result.py | 2117 | except Exception as e: | CODE |
| LOW | ci/praktika/hook_html.py | 38 | except Exception as e: | CODE |
| LOW | ci/praktika/utils.py | 273 | except Exception: | CODE |
| LOW | ci/praktika/utils.py | 435 | except Exception as e: | CODE |
| LOW | ci/praktika/utils.py | 524 | except Exception as e: | CODE |
| LOW | ci/praktika/utils.py | 536 | except Exception as e: | CODE |
| MEDIUM | ci/praktika/utils.py | 518 | def terminate_process_group(pid, force=False): | CODE |
| MEDIUM | ci/praktika/utils.py | 530 | def terminate_process(pid, force=False): | CODE |
| LOW | ci/praktika/settings.py | 226 | except Exception: | CODE |
| LOW | ci/praktika/cidb.py | 281 | except Exception as ex: | CODE |
| LOW | ci/praktika/cidb.py | 320 | except Exception as ex: | CODE |
| LOW | ci/praktika/cidb.py | 426 | except Exception as ex: | CODE |
| LOW | ci/praktika/issue.py | 84 | except Exception as e: | CODE |
| LOW | ci/praktika/native_jobs.py | 273 | except Exception as e: | CODE |
| LOW | ci/praktika/native_jobs.py | 599 | except Exception as e: | CODE |
| LOW | ci/praktika/native_jobs.py | 750 | except Exception as e: | CODE |
| LOW | ci/praktika/native_jobs.py | 812 | except Exception: | CODE |
| 941 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ci/docker/sqlancer-test/swap-clickhouse-jdbc.py | 133 | " if (select.getJoinList().size() == 0 && select.getFromList().size() <= 2) {\n" | CODE |
| HIGH | ci/docker/sqlancer-test/swap-clickhouse-jdbc.py | 144 | " if (select.getJoinList().size() == 0 && select.getFromList().size() <= 2) {\n" | CODE |
| HIGH | ci/tests/test_print_stacktraces.py | 10 | ``args`` is undefined, and any helper that closed over it crashed with | STRING |
| HIGH | ci/praktika/yaml_generator.py | 236 | sudo apt-get update && sudo apt install -y python3-pip | CODE |
| HIGH | ci/praktika/native_jobs.py | 578 | "git rev-parse --is-shallow-repository | grep -q true && git fetch --unshallow --prune --no-recurse-submodules - | CODE |
| HIGH⚡ | ci/praktika/infrastructure/runner/runner-init.py | 548 | launchctl disable system/com.apple.bluetoothd || true | CODE |
| HIGH⚡ | ci/praktika/infrastructure/runner/runner-init.py | 554 | mdutil -a -i off || true | CODE |
| HIGH⚡ | ci/praktika/infrastructure/runner/runner-init.py | 555 | rm -rf /.Spotlight-V100 || true | CODE |
| HIGH | ci/jobs/performance_tests.py | 1032 | f"git rev-parse --is-shallow-repository | grep -q true && git fetch --unshallow --prune --no-recurse-submodu | CODE |
| HIGH | ci/jobs/performance_tests.py | 1036 | f"rm -rf ./tests/performance && git checkout {reference_sha} ./tests/performance", | CODE |
| HIGH⚡ | ci/jobs/install_check.py | 46 | clickhouse-client --receive_timeout=5 -q 'SELECT version()' && break || sleep 1 | CODE |
| HIGH⚡ | ci/jobs/install_check.py | 56 | > /dev/tcp/127.0.0.1/9181 2>/dev/null && break || sleep 1 | CODE |
| HIGH⚡ | ci/jobs/install_check.py | 56 | > /dev/tcp/127.0.0.1/9181 2>/dev/null && break || sleep 1 | CODE |
| HIGH⚡ | ci/jobs/install_check.py | 64 | } && break || sleep 1 | CODE |
| HIGH⚡ | ci/jobs/install_check.py | 74 | clickhouse-client --receive_timeout=5 -q 'SELECT version()' && break || sleep 1 | CODE |
| HIGH⚡ | ci/jobs/install_check.py | 79 | > /dev/tcp/127.0.0.1/9181 2>/dev/null && break || sleep 1 | CODE |
| HIGH⚡ | ci/jobs/install_check.py | 79 | > /dev/tcp/127.0.0.1/9181 2>/dev/null && break || sleep 1 | CODE |
| HIGH⚡ | ci/jobs/install_check.py | 87 | } && break || sleep 1 | CODE |
| HIGH | ci/jobs/install_check.py | 149 | [ -f /etc/debian_version ] && CONFIGURE=configure || CONFIGURE= | CODE |
| HIGH | ci/jobs/install_check.py | 159 | [ -f /etc/debian_version ] && CONFIGURE=configure || CONFIGURE= | CODE |
| HIGH | ci/jobs/keeper_stress_job.py | 487 | Shell.run("docker system prune -af --volumes || true; docker builder prune -af || true; docker network prune -f || t | CODE |
| HIGH | ci/jobs/keeper_stress_job.py | 595 | Shell.run("docker system prune -af --volumes || true; docker network prune -f || true") | CODE |
| HIGH | ci/jobs/build_toolchain.py | 669 | f" -exec sh -c 'file \"$1\" | grep -q ELF && strip --strip-unneeded \"$1\"' _ {{}} \\;" | CODE |
| HIGH | ci/jobs/collect_clickhouse_profiles.py | 157 | Shell.check(f"df -h {temp_dir} 2>/dev/null || df -h", verbose=True) | CODE |
| HIGH | ci/jobs/collect_clickhouse_profiles.py | 158 | Shell.check("free -h 2>/dev/null || head -3 /proc/meminfo", verbose=True) | CODE |
| HIGH | ci/jobs/collect_clickhouse_profiles.py | 508 | Shell.check(f"cp -al {PERF_DB_PATH} {server_dir}/db || cp -r {PERF_DB_PATH} {server_dir}/db") | CODE |
| HIGH | ci/jobs/collect_clickhouse_profiles.py | 509 | Shell.check(f"cp -R {PERF_WD}/coordination0 {server_dir}/coordination || mkdir -p {server_dir}/coordination") | CODE |
| HIGH | ci/jobs/collect_clickhouse_profiles.py | 560 | r = Shell.check(f"mkdir -p {PGO_BUILD_DIR} && git submodule sync && git submodule init") | CODE |
| HIGH | ci/jobs/build_clickhouse.py | 233 | f"mkdir -p {build_dir} && git submodule sync && git submodule init" | CODE |
| HIGH | ci/jobs/docs_job.py | 99 | "export DOCUSAURUS_IGNORE_SSG_WARNINGS=true && yarn build-docs", | CODE |
| HIGH | ci/jobs/llvm_coverage_job.py | 43 | check = Shell.get_output(f"wget --spider '{url}' 2>&1 || true", verbose=False) | CODE |
| HIGH | ci/jobs/scripts/print_newly_covered_code.py | 203 | current_file: str | None = None # +++ b/... path (None = /dev/null) | CODE |
| HIGH | ci/jobs/scripts/clickhouse_proc.py | 198 | "(ulimit -n 1048576 2>/dev/null || ulimit -n $(ulimit -Hn)) && " | STRING |
| HIGH | ci/jobs/scripts/clickhouse_proc.py | 1229 | "head -n 1 || true" | STRING |
| HIGH | ci/jobs/scripts/clickhouse_proc.py | 1232 | f"cd {self.log_dir} && grep -a '<Fatal>' clickhouse-server*.log 2>/dev/null | head -n 1 || true" | STRING |
| HIGH | ci/jobs/scripts/clickhouse_proc.py | 1576 | f"cat /usr/share/zoneinfo/{tz} > /etc/localtime && echo '{tz}' > /etc/timezone", | STRING |
| HIGH | ci/jobs/scripts/functional_tests/export_coverage.py | 53 | f"rm -rf {temp_dir}/system_tables && mkdir -p {temp_dir}/system_tables" | CODE |
| HIGH | ci/jobs/scripts/check_style/filter_embedded_docs.py | 16 | <check producing path:lineno hits> | filter_embedded_docs.py && echo "violation" | STRING |
| HIGH | ci/jobs/scripts/workflow_hooks/version_log.py | 13 | f"git rev-parse --is-shallow-repository | grep -q true && git fetch --unshallow --prune --no-recurse-submodules | CODE |
| HIGH | ci/jobs/scripts/stress/stress.py | 82 | "pgrep -f 'clickhouse-client|clickhouse client' 2>/dev/null || true", | CODE |
| HIGH | ci/jobs/scripts/stress/stress.py | 460 | "timeout 50s tail --pid=$(pidof gdb) -f /dev/null || kill -9 $(pidof gdb) ||:", | CODE |
| HIGH | ci/defs/job_configs.py | 236 | 'for i in $(seq 2 16); do sudo ifconfig lo0 -alias 127.0.0.$i 2>/dev/null || true; done', | CODE |
| HIGH | tests/ci/create_release.py | 28 | mkdir actions-runner && cd actions-runner | STRING |
| HIGH | tests/ci/create_release.py | 48 | dpkg-buildpackage -b --no-sign && sudo dpkg -i ../reprepro_$(dpkg-parsechangelog --show-field Version)_$(dpkg-architectu | STRING |
| HIGH | tests/ci/artifactory.py | 84 | _CLEAN_LOG_FILE_CMD = f"tail -n 1000 {self.LOG_FILE} > {self.LOG_FILE}_tmp && mv {self.LOG_FILE}_tmp {self.LOG_F | CODE |
| HIGH⚡ | tests/ci/artifactory.py | 289 | rpm_command = f"dnf config-manager --add-repo={self.repo_url} && dnf makecache && dnf -y install clickhouse-clie | CODE |
| HIGH⚡ | tests/ci/artifactory.py | 290 | cmd = f'docker run --rm fedora:{self.FEDORA_VERSION} /bin/bash -c "dnf -y install dnf-plugins-core && dnf config | CODE |
| HIGH⚡ | tests/ci/artifactory.py | 295 | rpm_command_2 = f"dnf config-manager --add-repo={self.repo_url} && dnf makecache && dnf -y install clickhouse-cl | CODE |
| HIGH⚡ | tests/ci/artifactory.py | 296 | cmd = f'docker run --rm fedora:{self.FEDORA_VERSION} /bin/bash -c "dnf -y install dnf-plugins-core && dnf config | CODE |
| HIGH | tests/ci/ssh.py | 41 | f"{ssh_options}UserKnownHostsFile=/dev/null,StrictHostKeyChecking=no" | CODE |
| HIGH | tests/ci/report.py | 266 | return elem.children[idx].innerText || elem.children[idx].textContent; | CODE |
| HIGH | tests/ci/report.py | 270 | v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2) | CODE |
| HIGH | tests/ci/report.py | 295 | document.getElementById('fish').style.display = (document.body.clientHeight > 3000 && theme == 'dark') ? 'block' | CODE |
| HIGH | tests/ci/report.py | 302 | if (new_theme && new_theme != theme) {{ | CODE |
| HIGH⚡ | …zero_database_access/test_user_zero_database_access.py | 133 | "export CLICKHOUSE_USER=env_user_with_password && export CLICKHOUSE_PASSWORD=clickhouse && /usr/bin/clic | CODE |
| HIGH⚡ | tests/integration/test_postgresql_protocol/test.py | 513 | f"cd /pg_testapp && dotnet run -- --host {node.hostname} --port {server_port} --username default --password | CODE |
| HIGH | …n/test_keeper_https_control_standalone_cluster/test.py | 95 | ["bash", "-c", "kill {pid} >/dev/null 2>&1 || true".format(pid=pid)], | CODE |
| HIGH | …n/test_keeper_https_control_standalone_cluster/test.py | 107 | "kill -0 {pid} 2>/dev/null && echo yes || echo no".format(pid=pid), | CODE |
| HIGH | …n/test_keeper_https_control_standalone_cluster/test.py | 107 | "kill -0 {pid} 2>/dev/null && echo yes || echo no".format(pid=pid), | CODE |
| HIGH | tests/integration/test_attach_without_fetching/test.py | 130 | f"cd {data_path}detached/2_0_0_0 && ls *.bin", | CODE |
| 120 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ci/praktika/result.py | 1813 | # Create a result for the module/node that failed to collect | COMMENT |
| MEDIUM | ci/praktika/cidb.py | 199 | # Create the base record | COMMENT |
| MEDIUM | ci/praktika/cidb.py | 403 | # Create a session object | COMMENT |
| MEDIUM | ci/jobs/build_toolchain.py | 359 | # Create a minimal stub sysroot for cross-target builtins compilation. | COMMENT |
| MEDIUM | ci/jobs/sqlstorm_test.py | 172 | # Create the remote `system.*_log` tables and the materialized views | STRING |
| MEDIUM | ci/jobs/collect_clickhouse_profiles.py | 797 | # Create an empty marker so the artifact still uploads | COMMENT |
| MEDIUM | ci/jobs/scripts/functional_tests/setup_log_cluster.sh | 96 | # Create the destination table with adapted name and structure: | COMMENT |
| MEDIUM | ci/jobs/scripts/check_style/check-mypy-diff.py | 339 | # Create a worktree for the base branch (master) to compare | COMMENT |
| MEDIUM | tests/casa_del_dolor/properties.py | 33 | # Create a list of valid characters | COMMENT |
| MEDIUM | tests/casa_del_dolor/properties.py | 1695 | # Create a temporary file | COMMENT |
| MEDIUM | tests/casa_del_dolor/properties.py | 1739 | # Create a temporary file | COMMENT |
| MEDIUM | tests/casa_del_dolor/utils/httpserver.py | 205 | # Create a handler factory with custom arguments | COMMENT |
| MEDIUM | tests/ci/create_release.py | 25 | # Create a folder | STRING |
| MEDIUM | tests/integration/test_keeper_client_config/test.py | 49 | # Create an ACL-protected node for identity tests | COMMENT |
| MEDIUM⚡ | tests/integration/test_postgresql_protocol/test.py | 529 | # Create a restricted user that can only SELECT from default database | COMMENT |
| MEDIUM | tests/integration/test_merge_tree_s3/test.py | 769 | # Create a dummy file of 2M size to fill the disk space of cache disk | STRING |
| MEDIUM⚡ | …s/integration/test_keeper_max_append_byte_size/test.py | 84 | # Create the base path once | COMMENT |
| MEDIUM | …egration/test_restore_replica_metadata_version/test.py | 64 | # Create a part | COMMENT |
| MEDIUM | …tion/test_postgresql_replica_database_engine/test_3.py | 361 | # Create a table with wrong table structure | STRING |
| MEDIUM | tests/integration/test_distributed_format/test.py | 243 | # Create a malformed directory that would cause the bug | STRING |
| MEDIUM | tests/integration/test_distributed_format/test.py | 247 | # Create a dummy file so the directory isn't considered empty | STRING |
| MEDIUM | tests/integration/test_storage_s3/test.py | 2225 | # Creating the table resolves the server credentials (the bare URL uses the global <s3> | COMMENT |
| MEDIUM | tests/integration/test_storage_s3/test.py | 2286 | # Creating the table requires opting in -- the disk resolves the server's environment credentials. | COMMENT |
| MEDIUM | tests/integration/test_encrypted_disk/test.py | 408 | # Create a table without data. | STRING |
| MEDIUM | tests/integration/test_filesystem/test.py | 39 | # Create a controlled directory outside user_files for symlink testing. | COMMENT |
| MEDIUM | …ation/test_attach_table_from_s3_plain_readonly/test.py | 67 | # Create an atomic DB with mergetree sample data | COMMENT |
| MEDIUM | …ation/test_attach_table_from_s3_plain_readonly/test.py | 93 | # Create a replicated database | COMMENT |
| MEDIUM | …ation/test_attach_table_from_s3_plain_readonly/test.py | 101 | # Create a MergeTree table at one node, by attaching the merge tree data | COMMENT |
| MEDIUM | tests/integration/test_keeper_invalid_digest/test.py | 78 | # Create a zookeeper connection to node1 | COMMENT |
| MEDIUM | …iceberg_with_spark/test_metadata_file_path_security.py | 22 | # Create a simple Iceberg table with a few versions | COMMENT |
| MEDIUM | tests/integration/test_refreshable_mv/test.py | 580 | # Create the MV on node2 without waiting for node1. `EMPTY`+`EVERY 1 YEAR` avoid any refresh, | COMMENT |
| MEDIUM | tests/integration/test_refreshable_mv/test.py | 663 | # Create the MV on node2 without waiting for node1; its initial refresh EXCHANGEs re.repro_tgt_storage. | COMMENT |
| MEDIUM | tests/integration/test_backup_restore_new/test.py | 520 | # Create a column of 4GB+10K | STRING |
| MEDIUM | tests/integration/test_backup_restore_new/test.py | 2007 | # Create a materialized view and a dictionary with a local table as source. | STRING |
| MEDIUM | …/test_storage_kafka/test_schema_registry_skip_bytes.py | 100 | # Create a binary message with 19-byte envelope header + JSON payload | COMMENT |
| MEDIUM | tests/integration/test_dictionaries_mysql/test.py | 57 | # Create a MySQL database | STRING |
| MEDIUM | tests/integration/test_storage_mysql/test.py | 794 | # Create a second engine table pointing at performance_schema.session_status to | STRING |
| MEDIUM | tests/integration/test_storage_mysql/test.py | 900 | # Create a DATABASE pointing at performance_schema, then read session_status through | STRING |
| MEDIUM⚡ | tests/integration/test_scheduler_io/test.py | 1124 | # Create a test configuration with resources and workloads | COMMENT |
| MEDIUM | tests/integration/test_refreshable_mat_view/test.py | 90 | # Create a custom environment and add the functions | COMMENT |
| MEDIUM | …gration/test_backup_restore_azure_blob_storage/test.py | 425 | # Create a named collection via SQL | COMMENT |
| MEDIUM⚡ | …gration/test_backup_restore_azure_blob_storage/test.py | 470 | # Create a named collection via SQL with placeholder blob_path | COMMENT |
| MEDIUM | …tegration/test_refreshable_mat_view_replicated/test.py | 94 | # Create a custom environment and add the functions | COMMENT |
| MEDIUM | …ntegration/test_dictionaries_update_and_reload/test.py | 237 | # Creating the file source makes the dictionary able to load. | COMMENT |
| MEDIUM | …ntegration/test_dictionaries_update_and_reload/test.py | 279 | # Creating the file source makes the dictionary able to load. | COMMENT |
| MEDIUM | tests/integration/test_backup_restore_s3/test.py | 412 | # Create a named collection via SQL | COMMENT |
| MEDIUM | tests/integration/test_backup_restore_s3/test.py | 435 | # Create a named collection via SQL with a placeholder URL | COMMENT |
| MEDIUM | tests/integration/test_allow_feature_tier/test.py | 136 | # Creating a different table should not be possible | STRING |
| MEDIUM | tests/integration/test_allow_feature_tier/test.py | 148 | # Creating a different table and altering its settings to enable experimental should not be possible either | STRING |
| MEDIUM | tests/integration/test_keeper_raft_cert_reload/test.py | 112 | # Create a node from first node | COMMENT |
| MEDIUM | …/integration/test_ldap_external_user_directory/test.py | 179 | # Create the underlying table on both nodes. | COMMENT |
| MEDIUM | …/integration/test_ldap_external_user_directory/test.py | 190 | # Create a Distributed table on instance1 that points to local_table. | COMMENT |
| MEDIUM | tests/integration/test_arrowflight_storage/test.py | 194 | # Create a named collection for ArrowFlight | COMMENT |
| MEDIUM | tests/integration/test_arrowflight_storage/test.py | 231 | # Create a named collection with authentication | COMMENT |
| MEDIUM | tests/integration/test_arrowflight_storage/test.py | 269 | # Create a named collection for ArrowFlight storage | COMMENT |
| MEDIUM | tests/integration/helpers/cluster.py | 6361 | # Create a dictionary containing cluster & instance env variables. | COMMENT |
| MEDIUM | …ration/test_zero_copy_drop_table_with_leftover/test.py | 70 | # Create a fake part directory that is NOT tracked in data_parts_by_info. | COMMENT |
| MEDIUM | …ration/test_zero_copy_drop_table_with_leftover/test.py | 194 | # Create a fake leftover part directory | COMMENT |
| MEDIUM | …ies/0_stateless/04057_backup_replicated_db_recreate.sh | 51 | # Create the original database with a handful of tables so `max_log_ptr` advances | COMMENT |
| MEDIUM | …s/queries/0_stateless/03837_db_table_uuid_collision.sh | 4 | # Creating a table via ON CLUSTER with the same UUID as an existing database should give | COMMENT |
| 98 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/infra/scripts/update_userdata.py | 192 | CODE | |
| LOW | ci/infra/scripts/update_userdata.py | 327 | CODE | |
| LOW | ci/docker/reqgenerator.py | 36 | CODE | |
| LOW | ci/docker/reqgenerator.py | 49 | CODE | |
| LOW | ci/tests/test_cleanup_test_groups.py | 49 | CODE | |
| LOW | ci/praktika/validator.py | 15 | CODE | |
| LOW | ci/praktika/validator.py | 321 | CODE | |
| LOW | ci/praktika/digest.py | 106 | CODE | |
| LOW | ci/praktika/runner.py | 168 | CODE | |
| LOW | ci/praktika/runner.py | 297 | CODE | |
| LOW | ci/praktika/runner.py | 609 | CODE | |
| LOW | ci/praktika/runner.py | 954 | CODE | |
| LOW | ci/praktika/runner.py | 993 | CODE | |
| LOW | ci/praktika/event.py | 65 | CODE | |
| LOW | ci/praktika/yaml_generator.py | 310 | CODE | |
| LOW | ci/praktika/gh.py | 229 | CODE | |
| LOW | ci/praktika/gh.py | 569 | CODE | |
| LOW | ci/praktika/gh.py | 634 | CODE | |
| LOW | ci/praktika/gh.py | 1118 | CODE | |
| LOW | ci/praktika/gh.py | 1274 | CODE | |
| LOW | ci/praktika/gh.py | 1129 | CODE | |
| LOW | ci/praktika/job.py | 272 | CODE | |
| LOW | ci/praktika/mangle.py | 23 | CODE | |
| LOW | ci/praktika/mangle.py | 160 | CODE | |
| LOW | ci/praktika/hook_cache.py | 13 | CODE | |
| LOW | ci/praktika/parser.py | 88 | CODE | |
| LOW | ci/praktika/result.py | 122 | CODE | |
| LOW | ci/praktika/result.py | 434 | CODE | |
| LOW | ci/praktika/result.py | 603 | CODE | |
| LOW | ci/praktika/result.py | 732 | CODE | |
| LOW | ci/praktika/result.py | 852 | CODE | |
| LOW | ci/praktika/result.py | 1360 | CODE | |
| LOW | ci/praktika/result.py | 1458 | CODE | |
| LOW | ci/praktika/result.py | 1536 | CODE | |
| LOW | ci/praktika/result.py | 1684 | CODE | |
| LOW | ci/praktika/secret.py | 29 | CODE | |
| LOW | ci/praktika/utils.py | 314 | CODE | |
| LOW | ci/praktika/utils.py | 673 | CODE | |
| LOW | ci/praktika/utils.py | 733 | CODE | |
| LOW | ci/praktika/utils.py | 841 | CODE | |
| LOW | ci/praktika/utils.py | 1143 | CODE | |
| LOW | ci/praktika/utils.py | 38 | CODE | |
| LOW | ci/praktika/utils.py | 97 | CODE | |
| LOW | ci/praktika/_environment.py | 67 | CODE | |
| LOW | ci/praktika/cidb.py | 245 | CODE | |
| LOW | ci/praktika/cidb.py | 293 | CODE | |
| LOW | ci/praktika/cidb.py | 402 | CODE | |
| LOW | ci/praktika/workflow.py | 87 | CODE | |
| LOW | ci/praktika/issue.py | 523 | CODE | |
| LOW | ci/praktika/native_jobs.py | 111 | CODE | |
| LOW | ci/praktika/native_jobs.py | 287 | CODE | |
| LOW | ci/praktika/native_jobs.py | 369 | CODE | |
| LOW | ci/praktika/native_jobs.py | 959 | CODE | |
| LOW | ci/praktika/s3.py | 92 | CODE | |
| LOW | ci/praktika/s3.py | 253 | CODE | |
| LOW | ci/praktika/s3.py | 294 | CODE | |
| LOW | ci/praktika/s3.py | 573 | CODE | |
| LOW | ci/praktika/__main__.py | 294 | CODE | |
| LOW | ci/praktika/execution/machine_init.py | 26 | CODE | |
| LOW | ci/praktika/infrastructure/iam_instance_profile.py | 30 | CODE | |
| 356 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/praktika/json.html | 2206 | // Step 1: Fetch sync metadata | COMMENT |
| LOW | ci/praktika/json.html | 2225 | // Step 2: Fetch private PR result | COMMENT |
| LOW | ci/praktika/json.html | 2243 | // Step 3: Transform results — prefix names, add downstream href, rewrite links | COMMENT |
| LOW | ci/praktika/hook_cache.py | 95 | # Step 1: Separate jobs into two groups based on digest prefix relationships | COMMENT |
| LOW | ci/praktika/hook_cache.py | 135 | # Step 2: Fetch records for root jobs | COMMENT |
| LOW⚡ | ci/praktika/hook_cache.py | 150 | # Step 3: Filter dependent jobs - only fetch if their prefix was successfully fetched | COMMENT |
| LOW⚡ | ci/praktika/hook_cache.py | 163 | # Step 4: Fetch records for filtered dependent jobs | COMMENT |
| LOW | ci/praktika/hook_cache.py | 176 | # Step 2: Apply the fetched records sequentially | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 460 | # Step 1: Start ClickHouse | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 473 | # Step 2: Clone sqllogictest repo | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 508 | # Step 3: Run self-test | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 531 | # Step 4: Run statements-test | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 554 | # Step 5: Run complete-test | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 577 | # Step 6: Generate report, check thresholds, and detect new failures | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 485 | # Step 1: Instrument clang with BOLT | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 505 | # Step 2: Create symlinks for the instrumented binary so cmake can | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 519 | # Step 3: Configure ClickHouse build with BOLT-instrumented clang | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 543 | # Step 4: Time-limited build to collect BOLT profiles | COMMENT |
| LOW⚡ | ci/jobs/build_toolchain.py | 568 | # Step 5: Merge BOLT profiles | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 582 | # Step 6: Apply BOLT optimization | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 605 | # Step 7: Replace original binary with BOLTed version | COMMENT |
| LOW⚡ | ci/jobs/sqlstorm_test.py | 344 | # Step 0: Run the query-rewriter unit tests so they gate this PR and any | COMMENT |
| LOW⚡ | ci/jobs/sqlstorm_test.py | 354 | # Step 1: Start ClickHouse | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 378 | # Step 2: Clone SQLStorm repo (for queries) | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 412 | # Step 3: Clone OLAPBench repo (for schema definition) | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 443 | # Step 4: Download StackOverflow DBA dataset | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 483 | # Step 5: Run benchmark | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 526 | # Step 6: Generate report and check thresholds | COMMENT |
| LOW⚡ | ci/jobs/ast_fuzzer_job.py | 141 | # Step 1: changed/new test files in this PR | COMMENT |
| LOW⚡ | ci/jobs/ast_fuzzer_job.py | 146 | # Step 2: tests that failed in previous CI runs for this PR | COMMENT |
| LOW⚡ | ci/jobs/ast_fuzzer_job.py | 155 | # Step 3: coverage-relevant tests (direct lines, indirect callees, siblings) | COMMENT |
| LOW | tests/ci/pr_info.py | 104 | # We need to check if the PR is created in our repo, because | COMMENT |
| LOW⚡ | tests/ci/cherry_pick.py | 972 | # We need to check if there is an open release branch for each cherry-pick PR | COMMENT |
| LOW⚡ | tests/ci/cherry_pick.py | 991 | # And then, we need to check if the original PR is marked as backported for any | COMMENT |
| LOW | tests/integration/test_storage_s3_queue/test_6.py | 388 | # Step 1: Verify initial 6 rows | COMMENT |
| LOW | tests/integration/test_storage_s3_queue/test_6.py | 404 | # Step 2: Add files in middle and end of existing partitions | COMMENT |
| LOW | tests/integration/test_storage_s3_queue/test_6.py | 436 | # Step 3: Add files for new hostname and newer timestamp | COMMENT |
| LOW⚡ | tests/integration/test_storage_s3_queue/test_6.py | 457 | # Step 4: Restart ClickHouse node (test persistence) | COMMENT |
| LOW⚡ | tests/integration/test_storage_s3_queue/test_6.py | 465 | # Step 5: Add mixed files (some before, some after max processed) | COMMENT |
| LOW | tests/integration/test_storage_s3_queue/test_6.py | 487 | # Step 6: Verify ZooKeeper structure - check partition keys | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 256 | # Step 1: Add node4 to the cluster. | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 290 | # Step 2: Remove the first follower. | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 313 | # Step 3: Add node5 to the cluster. node1/3/4 are active at this point, | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 339 | # Step 4: Remove the second follower. | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 359 | # Step 5: Add node6 to the cluster. node1/4/5 are active at this point, | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 385 | # Step 6: Yield leadership so that node4, node5, or node6 wins the next | COMMENT |
| LOW⚡ | tests/integration/test_ttl_multilevel_group_by/test.py | 58 | # Step 1: Ensure all 10 rows were inserted | STRING |
| LOW⚡ | tests/integration/test_ttl_multilevel_group_by/test.py | 62 | # Step 2: Wait for the first TTL (13 seconds) to apply — should reduce to 6 rows (one per item_id) | STRING |
| LOW⚡ | tests/integration/test_ttl_multilevel_group_by/test.py | 66 | # Step 3: Wait for second TTL (18 seconds since insert) to apply — should reduce to 2 rows (one per user_id) | STRING |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 46 | # Step 1: create the data lake target with the deflate metadata format so the | COMMENT |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 54 | # Step 2: corrupt the on-disk metadata via an INSERT with an out-of-range | COMMENT |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 63 | # Step 3: build the dependency chain - a plain `MergeTree` source plus a | COMMENT |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 72 | # Step 4: DETACH+ATTACH the data lake target to clear the in-memory | COMMENT |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 79 | # Step 5: INSERT into the source. The dependency builder will reach | COMMENT |
| LOW⚡ | …30_iceberg_optimize_metadata_not_initialized_104711.sh | 31 | # Step 1: create the table with the deflate metadata format. | COMMENT |
| LOW⚡ | …30_iceberg_optimize_metadata_not_initialized_104711.sh | 38 | # Step 2: provoke the corrupt-metadata-on-disk state via an INSERT with an | COMMENT |
| LOW⚡ | …30_iceberg_optimize_metadata_not_initialized_104711.sh | 45 | # Step 3: detach + attach to clear the in-memory `current_metadata` cache, | COMMENT |
| LOW⚡ | …30_iceberg_optimize_metadata_not_initialized_104711.sh | 53 | # Step 4: the previously-crashing operations must now raise a regular | COMMENT |
| LOW⚡ | …ateless/04079_iceberg_write_retry_explicit_metadata.sh | 18 | # Step 1: Create table and populate with two INSERTs. | COMMENT |
| LOW⚡ | …ateless/04079_iceberg_write_retry_explicit_metadata.sh | 28 | # Step 2: Re-create the table pointing to v1 metadata (time-travel). | COMMENT |
| 88 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ation/test_database_iceberg_lakekeeper_catalog/test.py | 0 | drop database if exists {name}; set allow_database_iceberg=true; set write_full_path_in_iceberg_metadata=1; create datab | STRING |
| HIGH | …tegration/test_database_iceberg_nessie_catalog/test.py | 0 | drop database if exists {name}; set allow_database_iceberg=true; set write_full_path_in_iceberg_metadata=1; create datab | STRING |
| HIGH | tests/integration/test_database_iceberg/test.py | 0 | drop database if exists {name}; set allow_database_iceberg=true; set write_full_path_in_iceberg_metadata=1; create datab | STRING |
| HIGH | …_iceberg_no_spark/test_read_in_order_with_pyiceberg.py | 0 | drop database if exists {name}; set allow_database_iceberg=true; set write_full_path_in_iceberg_metadata=1; create datab | STRING |
| HIGH | …ation/test_database_iceberg_lakekeeper_catalog/test.py | 0 | create database {catalog_name} engine = datalakecatalog('{base_url}', 'minio', '{minio_secret_key}') settings {",".join( | STRING |
| HIGH | …tegration/test_database_iceberg_nessie_catalog/test.py | 0 | create database {catalog_name} engine = datalakecatalog('{base_url}', 'minio', '{minio_secret_key}') settings {",".join( | STRING |
| HIGH | tests/integration/test_database_iceberg/test.py | 0 | create database {catalog_name} engine = datalakecatalog('{base_url}', 'minio', '{minio_secret_key}') settings {",".join( | STRING |
| HIGH | …ation/test_database_iceberg_lakekeeper_catalog/test.py | 0 | set allow_experimental_database_iceberg = 1; create database {catalog_name} engine = datalakecatalog('{base_url}', 'mini | STRING |
| HIGH | tests/integration/test_database_iceberg/test.py | 0 | set allow_experimental_database_iceberg = 1; create database {catalog_name} engine = datalakecatalog('{base_url}', 'mini | STRING |
| HIGH | …tegration/test_database_iceberg_nessie_catalog/test.py | 0 | set allow_experimental_database_iceberg = 1; create database {catalog_name} engine = datalakecatalog('{base_url}', 'mini | STRING |
| HIGH | tests/integration/test_reload_zookeeper/test.py | 0 | <clickhouse> <zookeeper> <node index="1"> <host>zoo1</host> <port>2181</port> </node> <session_timeout_ms>2000</session_ | STRING |
| HIGH | …gration/test_replicated_user_defined_functions/test.py | 0 | <clickhouse> <zookeeper> <node index="1"> <host>zoo1</host> <port>2181</port> </node> <session_timeout_ms>2000</session_ | STRING |
| HIGH | tests/integration/test_replicated_users/test.py | 0 | <clickhouse> <zookeeper> <node index="1"> <host>zoo1</host> <port>2181</port> </node> <session_timeout_ms>2000</session_ | STRING |
| HIGH | tests/integration/test_reload_zookeeper/test.py | 0 | <clickhouse> <zookeeper> <node index="1"> <host>zoo2</host> <port>2181</port> </node> <session_timeout_ms>2000</session_ | STRING |
| HIGH | …gration/test_replicated_user_defined_functions/test.py | 0 | <clickhouse> <zookeeper> <node index="1"> <host>zoo2</host> <port>2181</port> </node> <session_timeout_ms>2000</session_ | STRING |
| HIGH | tests/integration/test_replicated_users/test.py | 0 | <clickhouse> <zookeeper> <node index="1"> <host>zoo2</host> <port>2181</port> </node> <session_timeout_ms>2000</session_ | STRING |
| HIGH | …s/integration/test_reload_auxiliary_zookeepers/test.py | 0 | <clickhouse> <zookeeper> <node index="1"> <host>zoo2</host> <port>2181</port> </node> <session_timeout_ms>2000</session_ | STRING |
| HIGH | tests/integration/test_s3_with_https/test.py | 0 | create table encrypted_test ( id int64, data string ) engine=mergetree() order by id settings storage_policy='{new_stora | STRING |
| HIGH | tests/integration/helpers/s3_url_proxy_tests_util.py | 0 | create table encrypted_test ( id int64, data string ) engine=mergetree() order by id settings storage_policy='{new_stora | STRING |
| HIGH | tests/integration/test_encrypted_disk/test.py | 0 | create table encrypted_test ( id int64, data string ) engine=mergetree() order by id settings storage_policy='{new_stora | STRING |
| HIGH | …egration/test_merge_tree_check_part_with_cache/test.py | 0 | create table encrypted_test ( id int64, data string ) engine=mergetree() order by id settings storage_policy='{new_stora | STRING |
| HIGH | tests/integration/test_plain_rewr_legacy_layout/test.py | 0 | create table encrypted_test ( id int64, data string ) engine=mergetree() order by id settings storage_policy='{new_stora | STRING |
| HIGH | tests/integration/test_merge_tree_s3/test.py | 0 | create table {table_name} ( dt date, id int64, data string, index min_max (id) type minmax granularity 3 ) engine = {tab | STRING |
| HIGH | …integration/test_merge_tree_azure_blob_storage/test.py | 0 | create table {table_name} ( dt date, id int64, data string, index min_max (id) type minmax granularity 3 ) engine = {tab | STRING |
| HIGH | …_storage_azure_blob_storage/test_check_after_upload.py | 0 | create table {table_name} ( dt date, id int64, data string, index min_max (id) type minmax granularity 3 ) engine = {tab | STRING |
| HIGH | tests/integration/test_alter_moving_garbage/test.py | 0 | create table {table_name} ( dt date, id int64, data string, index min_max (id) type minmax granularity 3 ) engine = {tab | STRING |
| HIGH | tests/integration/test_storage_iceberg_disks/test.py | 0 | select query, type, is_initial_query, read_rows, read_bytes from system.query_log where type = 'querystart' and position | STRING |
| HIGH | …rage_iceberg_with_spark/test_cluster_table_function.py | 0 | select query, type, is_initial_query, read_rows, read_bytes from system.query_log where type = 'querystart' and position | STRING |
| HIGH | tests/integration/test_database_iceberg/test.py | 0 | select query, type, is_initial_query, read_rows, read_bytes from system.query_log where type = 'querystart' and position | STRING |
| HIGH | tests/integration/test_https_replication/test.py | 0 | create database test; create table real_table(date date, id uint32, dummy uint32) engine = mergetree partition by toyyyy | STRING |
| HIGH | …s/integration/test_https_replication/test_change_ip.py | 0 | create database test; create table real_table(date date, id uint32, dummy uint32) engine = mergetree partition by toyyyy | STRING |
| HIGH | tests/integration/test_replication_credentials/test.py | 0 | create database test; create table real_table(date date, id uint32, dummy uint32) engine = mergetree partition by toyyyy | STRING |
| HIGH | tests/integration/test_replace_partition/test.py | 0 | create database test; create table real_table(date date, id uint32, dummy uint32) engine = mergetree partition by toyyyy | STRING |
| HIGH | tests/integration/test_row_policy/test.py | 0 | create database mydb; create table mydb.filtered_table1 (a uint8, b uint8) engine mergetree order by a; insert into mydb | STRING |
| HIGH | …isabled_access_control_improvements/test_row_policy.py | 0 | create database mydb; create table mydb.filtered_table1 (a uint8, b uint8) engine mergetree order by a; insert into mydb | STRING |
| HIGH | …ments/test_users_without_row_policies_can_read_rows.py | 0 | create database mydb; create table mydb.filtered_table1 (a uint8, b uint8) engine mergetree order by a; insert into mydb | STRING |
| HIGH | tests/integration/test_hedged_requests_parallel/test.py | 0 | <clickhouse> <profiles> <default> <sleep_in_send_data_ms>{sleep_in_send_data_ms}</sleep_in_send_data_ms> </default> </pr | STRING |
| HIGH | tests/integration/test_hedged_requests/test.py | 0 | <clickhouse> <profiles> <default> <sleep_in_send_data_ms>{sleep_in_send_data_ms}</sleep_in_send_data_ms> </default> </pr | STRING |
| HIGH | tests/integration/test_secure_socket/test.py | 0 | <clickhouse> <profiles> <default> <sleep_in_send_data_ms>{sleep_in_send_data_ms}</sleep_in_send_data_ms> </default> </pr | STRING |
| HIGH | …ration/test_cluster_discovery/test_dynamic_clusters.py | 0 | start cluster, check nodes count in system.clusters, then stop/start some nodes and check that it (dis)appeared in clust | STRING |
| HIGH | …ration/test_cluster_discovery/test_auxiliary_keeper.py | 0 | start cluster, check nodes count in system.clusters, then stop/start some nodes and check that it (dis)appeared in clust | STRING |
| HIGH | tests/integration/test_cluster_discovery/test.py | 0 | start cluster, check nodes count in system.clusters, then stop/start some nodes and check that it (dis)appeared in clust | STRING |
| HIGH | …st_storage_iceberg_concurrent/test_concurrent_reads.py | 0 | create table {table_name} ( number int ) using iceberg options('format-version'='2'); | STRING |
| HIGH | …ceberg_interoperability_azure/test_interoperability.py | 0 | create table {table_name} ( number int ) using iceberg options('format-version'='2'); | STRING |
| HIGH | …est_storage_iceberg_interoperability_azure/conftest.py | 0 | create table {table_name} ( number int ) using iceberg options('format-version'='2'); | STRING |
| HIGH | …ts/integration/test_zookeeper_fallback_session/test.py | 0 | create table simple (date date, id uint32) engine = replicatedmergetree('/clickhouse/tables/0/simple', '1') partition by | STRING |
| HIGH | tests/integration/test_zookeeper_config/test.py | 0 | create table simple (date date, id uint32) engine = replicatedmergetree('/clickhouse/tables/0/simple', '1') partition by | STRING |
| HIGH | …sts/integration/test_zookeeper_config/test_password.py | 0 | create table simple (date date, id uint32) engine = replicatedmergetree('/clickhouse/tables/0/simple', '1') partition by | STRING |
| HIGH | …_stateless/02808_custom_disk_with_user_defined_name.sh | 0 | select count() from system.disks where name = '$disk_name' | STRING |
| HIGH | tests/queries/0_stateless/02344_describe_cache.sh | 0 | select count() from system.disks where name = '$disk_name' | STRING |
| HIGH | …es/0_stateless/03324_cache_disk_validation_max_size.sh | 0 | select count() from system.disks where name = '$disk_name' | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/praktika/json.html | 2206 | // Step 1: Fetch sync metadata | COMMENT |
| LOW | ci/praktika/json.html | 2225 | // Step 2: Fetch private PR result | COMMENT |
| LOW | ci/praktika/json.html | 2243 | // Step 3: Transform results — prefix names, add downstream href, rewrite links | COMMENT |
| LOW | ci/praktika/hook_cache.py | 95 | # Step 1: Separate jobs into two groups based on digest prefix relationships | COMMENT |
| LOW | ci/praktika/hook_cache.py | 135 | # Step 2: Fetch records for root jobs | COMMENT |
| LOW⚡ | ci/praktika/hook_cache.py | 150 | # Step 3: Filter dependent jobs - only fetch if their prefix was successfully fetched | COMMENT |
| LOW⚡ | ci/praktika/hook_cache.py | 163 | # Step 4: Fetch records for filtered dependent jobs | COMMENT |
| LOW | ci/praktika/hook_cache.py | 176 | # Step 2: Apply the fetched records sequentially | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 460 | # Step 1: Start ClickHouse | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 473 | # Step 2: Clone sqllogictest repo | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 508 | # Step 3: Run self-test | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 531 | # Step 4: Run statements-test | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 554 | # Step 5: Run complete-test | COMMENT |
| LOW | ci/jobs/sqllogic_test.py | 577 | # Step 6: Generate report, check thresholds, and detect new failures | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 485 | # Step 1: Instrument clang with BOLT | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 505 | # Step 2: Create symlinks for the instrumented binary so cmake can | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 519 | # Step 3: Configure ClickHouse build with BOLT-instrumented clang | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 543 | # Step 4: Time-limited build to collect BOLT profiles | COMMENT |
| LOW⚡ | ci/jobs/build_toolchain.py | 568 | # Step 5: Merge BOLT profiles | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 582 | # Step 6: Apply BOLT optimization | COMMENT |
| LOW | ci/jobs/build_toolchain.py | 605 | # Step 7: Replace original binary with BOLTed version | COMMENT |
| LOW⚡ | ci/jobs/sqlstorm_test.py | 344 | # Step 0: Run the query-rewriter unit tests so they gate this PR and any | COMMENT |
| LOW⚡ | ci/jobs/sqlstorm_test.py | 354 | # Step 1: Start ClickHouse | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 378 | # Step 2: Clone SQLStorm repo (for queries) | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 412 | # Step 3: Clone OLAPBench repo (for schema definition) | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 443 | # Step 4: Download StackOverflow DBA dataset | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 483 | # Step 5: Run benchmark | COMMENT |
| LOW | ci/jobs/sqlstorm_test.py | 526 | # Step 6: Generate report and check thresholds | COMMENT |
| LOW⚡ | ci/jobs/ast_fuzzer_job.py | 141 | # Step 1: changed/new test files in this PR | COMMENT |
| LOW⚡ | ci/jobs/ast_fuzzer_job.py | 146 | # Step 2: tests that failed in previous CI runs for this PR | COMMENT |
| LOW⚡ | ci/jobs/ast_fuzzer_job.py | 155 | # Step 3: coverage-relevant tests (direct lines, indirect callees, siblings) | COMMENT |
| LOW | tests/integration/test_storage_s3_queue/test_6.py | 388 | # Step 1: Verify initial 6 rows | COMMENT |
| LOW | tests/integration/test_storage_s3_queue/test_6.py | 404 | # Step 2: Add files in middle and end of existing partitions | COMMENT |
| LOW | tests/integration/test_storage_s3_queue/test_6.py | 436 | # Step 3: Add files for new hostname and newer timestamp | COMMENT |
| LOW⚡ | tests/integration/test_storage_s3_queue/test_6.py | 457 | # Step 4: Restart ClickHouse node (test persistence) | COMMENT |
| LOW⚡ | tests/integration/test_storage_s3_queue/test_6.py | 465 | # Step 5: Add mixed files (some before, some after max processed) | COMMENT |
| LOW | tests/integration/test_storage_s3_queue/test_6.py | 487 | # Step 6: Verify ZooKeeper structure - check partition keys | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 256 | # Step 1: Add node4 to the cluster. | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 290 | # Step 2: Remove the first follower. | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 313 | # Step 3: Add node5 to the cluster. node1/3/4 are active at this point, | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 339 | # Step 4: Remove the second follower. | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 359 | # Step 5: Add node6 to the cluster. node1/4/5 are active at this point, | COMMENT |
| LOW | …s/integration/test_keeper_remove_rejoin_leader/test.py | 385 | # Step 6: Yield leadership so that node4, node5, or node6 wins the next | COMMENT |
| LOW⚡ | tests/integration/test_ttl_multilevel_group_by/test.py | 58 | # Step 1: Ensure all 10 rows were inserted | STRING |
| LOW⚡ | tests/integration/test_ttl_multilevel_group_by/test.py | 62 | # Step 2: Wait for the first TTL (13 seconds) to apply — should reduce to 6 rows (one per item_id) | STRING |
| LOW⚡ | tests/integration/test_ttl_multilevel_group_by/test.py | 66 | # Step 3: Wait for second TTL (18 seconds since insert) to apply — should reduce to 2 rows (one per user_id) | STRING |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 46 | # Step 1: create the data lake target with the deflate metadata format so the | COMMENT |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 54 | # Step 2: corrupt the on-disk metadata via an INSERT with an out-of-range | COMMENT |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 63 | # Step 3: build the dependency chain - a plain `MergeTree` source plus a | COMMENT |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 72 | # Step 4: DETACH+ATTACH the data lake target to clear the in-memory | COMMENT |
| LOW⚡ | …ss/04240_iceberg_supports_parallel_insert_mv_104891.sh | 79 | # Step 5: INSERT into the source. The dependency builder will reach | COMMENT |
| LOW⚡ | …30_iceberg_optimize_metadata_not_initialized_104711.sh | 31 | # Step 1: create the table with the deflate metadata format. | COMMENT |
| LOW⚡ | …30_iceberg_optimize_metadata_not_initialized_104711.sh | 38 | # Step 2: provoke the corrupt-metadata-on-disk state via an INSERT with an | COMMENT |
| LOW⚡ | …30_iceberg_optimize_metadata_not_initialized_104711.sh | 45 | # Step 3: detach + attach to clear the in-memory `current_metadata` cache, | COMMENT |
| LOW⚡ | …30_iceberg_optimize_metadata_not_initialized_104711.sh | 53 | # Step 4: the previously-crashing operations must now raise a regular | COMMENT |
| LOW⚡ | …ateless/04079_iceberg_write_retry_explicit_metadata.sh | 18 | # Step 1: Create table and populate with two INSERTs. | COMMENT |
| LOW⚡ | …ateless/04079_iceberg_write_retry_explicit_metadata.sh | 28 | # Step 2: Re-create the table pointing to v1 metadata (time-travel). | COMMENT |
| LOW⚡ | …ateless/04079_iceberg_write_retry_explicit_metadata.sh | 36 | # Step 3: INSERT with explicit v1 path. | COMMENT |
| LOW⚡ | …ateless/04079_iceberg_write_retry_explicit_metadata.sh | 44 | # Step 4: Verify all data is present by reading from the latest metadata. | COMMENT |
| LOW⚡ | …eries/0_stateless/02832_alter_max_sessions_for_user.sh | 29 | # Step 0: Set max_sessions_for_user. | COMMENT |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ci/docker/integration/hive_server/hadoop-env.sh | 136 | # Similarly, end users should utilize ${HOME}/.hadooprc . | COMMENT |
| MEDIUM | ci/tests/test_integration_flaky_empty_result.py | 197 | # green top-level status, and a non-timeout empty (harness failure) capped run would report | COMMENT |
| MEDIUM | ci/tests/test_integration_flaky_empty_result.py | 228 | # The skipped module is still listed alongside the harness ERROR. | COMMENT |
| MEDIUM | ci/tests/test_cleanup_test_groups.py | 72 | # an early confirmation that the harness is actually running the test | COMMENT |
| MEDIUM | ci/tests/test_upgrade_runner_download_boundary.py | 41 | # string keeps the backslashes literal so the bash harness sees exactly what the | COMMENT |
| MEDIUM⚡ | ci/tests/test_e2e.py | 65 | # a server-startup or harness regression, so we point at the logs instead. | COMMENT |
| MEDIUM | ci/tests/test_e2e.py | 82 | # Malformed status.tsv -> harness bug; keep the traceback for debugging. | COMMENT |
| MEDIUM | ci/jobs/functional_tests.py | 886 | # does not flip a harness-level termination into green. | COMMENT |
| MEDIUM | ci/jobs/integration_test_job.py | 584 | # empty result is reported as best-effort rather than as a harness failure. | COMMENT |
| MEDIUM | ci/jobs/integration_test_job.py | 1305 | # harness failure (should be `ERROR`) as a green top-level result. | COMMENT |
| MEDIUM | ci/jobs/integration_test_job.py | 1325 | # internal error, ...), which is a real harness failure and must stay ERROR. | COMMENT |
| MEDIUM⚡ | ci/jobs/ast_fuzzer_job.py | 309 | # start failure, harness error, or infra); malformed status.tsv -> | COMMENT |
| MEDIUM⚡ | ci/jobs/ast_fuzzer_job.py | 310 | # harness bug. _format_status_error inlines the log tails so the abort | COMMENT |
| LOW | ci/jobs/scripts/functional_tests_results.py | 250 | # UNKNOWN, do not synthesize a "Server died" leaf) and just add an | COMMENT |
| LOW | ci/jobs/scripts/docs/lychee_check.py | 168 | # cannot simply set it false. The locale pass checks resolution only. | COMMENT |
| LOW | ci/jobs/scripts/perf/compare.sh | 1379 | # Grepping numactl results from log is too crazy, I'll just call it again. | COMMENT |
| MEDIUM | …on/test_drop_replica_with_auxiliary_zookeepers/test.py | 312 | # The self-protection guard for a LIVE local database must be robust to trailing slashes. | STRING |
| MEDIUM | …on/test_drop_replica_with_auxiliary_zookeepers/test.py | 365 | # The table-level self-protection guard must be robust to trailing slashes too. | STRING |
| MEDIUM | tests/integration/test_ttl_move/test.py | 1404 | # It is quite robust because we don't validate mid-states interactively, the only logical check is to assert for | STRING |
| MEDIUM | …/integration/test_refreshable_mv_no_multi_read/test.py | 24 | # test body rather than as a main_config that the harness would also try to manage. | COMMENT |
| MEDIUM | …_executable_user_defined_function/test_system_table.py | 33 | # Working UDF config with comprehensive configuration options | COMMENT |
| MEDIUM | tests/integration/test_mysql_kill_query/test.py | 262 | # robust even if the first emission lands before the tail starts) and strictly | COMMENT |
| MEDIUM | …/integration/test_keeper_opentelemetry_tracing/test.py | 218 | # find traces pertaining to zookeeper write requests related to our DDL | STRING |
| MEDIUM | …/integration/test_background_operations_config/test.py | 8 | # We leverage 'sleepEachRow' for mutate queries to trigger operation timeout: | COMMENT |
| LOW | …tegration/test_distributed_inter_server_secret/test.py | 245 | # connection from n1 to n2 from another test (and we cannot simply use | COMMENT |
| MEDIUM | …integration/test_executable_udf_profile_events/test.py | 266 | # Ratio assertion is robust to machine speed: a missing-cutime bug on the | COMMENT |
| MEDIUM | tests/integration/test_multiple_disks/test.py | 647 | # The test tries to utilize 35/40=87.5% of space, while during last | COMMENT |
| MEDIUM⚡ | …ries/0_stateless/03578_parallel_replicas_minicrawl.sql | 25 | {"date":"2025-07-27","rank":43314,"domain":"clickhouse.com","log":"* Trying 172.66.40.249:80...\n* Connected to clickh | CODE |
| LOW | tests/queries/0_stateless/03015_optimize_final_rmt.sh | 19 | # this query should wait for the running merges, not just return immediately | COMMENT |
| MEDIUM | …ateless/01079_parallel_alter_detach_table_zookeeper.sh | 122 | # In this case, it might be more robust than SYSTEM SYNC REPLICA | COMMENT |
| MEDIUM | …ueries/0_stateless/04077_lwd_alter_delete_privilege.sh | 8 | # ALTER UPDATE). This test uses ALTER TABLE (comprehensive). | COMMENT |
| MEDIUM | …stateless/03036_test_parquet_bloom_filter_push_down.sh | 22 | # dictionary-based row group filter (which the test harness randomizes) to keep the counts stable. | COMMENT |
| MEDIUM | …s/04339_point_in_polygon_cache_size_local_ram_clamp.sh | 12 | # The clamped value depends on the host's RAM, so the assertions are deliberately RAM-robust: | COMMENT |
| MEDIUM | …less/03036_test_parquet_bloom_filter_push_down_ipv6.sh | 22 | # row group filter (which the test harness randomizes) to keep the counts stable. | COMMENT |
| LOW | …ueries/0_stateless/00704_drop_truncate_memory_table.sh | 21 | # But if the table will be dropped before query - just pass. | COMMENT |
| MEDIUM | …/0_stateless/04403_mv_insert_renaming_subquery_join.sh | 7 | # The analyzer is not randomized by the test harness, so run the scenario explicitly | COMMENT |
| MEDIUM | …/03261_test_merge_parquet_bloom_filter_minmax_stats.sh | 22 | # dictionary-based row group filter (which the test harness randomizes) to keep the counts stable. | COMMENT |
| MEDIUM | programs/server/docs.html | 774 | /// contain those functions, nor CSS escapes; so the safe and robust rule is to drop any `style` | COMMENT |
| MEDIUM | src/Interpreters/TransactionLog.cpp | 332 | /// Definitely not safe to remove | COMMENT |
| MEDIUM | src/Interpreters/IJoin.h | 154 | /// This serves as a runtime check in JoiningTransform to decide whether to utilize the parallel processing of | COMMENT |
| MEDIUM | src/Interpreters/IJoin.h | 156 | /// If the join supports parallel processing, it can still decide during build phase whether to utilize it or not. | COMMENT |
| MEDIUM | src/Interpreters/HashJoin/HashJoin.h | 426 | // we can cache the selector size at construction to make the holder robust | COMMENT |
| MEDIUM | src/Interpreters/FileCache/FileCache.cpp | 3115 | /// we allow ourselves to be suboptional here in favour of being robust | COMMENT |
| MEDIUM | src/Databases/DataLake/GlueCatalog.cpp | 395 | /// Skip field if it's not "current" (for example Renamed). No idea how someone can utilize "non current | COMMENT |
| MEDIUM | src/Storages/ObjectStorage/DataLakes/Iceberg/Utils.cpp | 482 | /// Do not utilize filesystem cache if more precise cache enabled | COMMENT |
| MEDIUM | …rage/DataLakes/Iceberg/StatelessMetadataFileGetter.cpp | 85 | /// Do not utilize filesystem cache if more precise cache enabled | COMMENT |
| MEDIUM | …rage/DataLakes/Iceberg/StatelessMetadataFileGetter.cpp | 156 | /// Do not utilize filesystem cache if more precise cache enabled | COMMENT |
| MEDIUM | src/Storages/MergeTree/KeyCondition.h | 306 | /// Special for pointInPolygon to utilize minmax indices. | COMMENT |
| MEDIUM | src/Storages/MergeTree/MergeTreeWhereOptimizer.cpp | 232 | /// Root function node must be contained in atom_map if we want to utilize primary index. | COMMENT |
| MEDIUM | src/Storages/MergeTree/MergeTreeWhereOptimizer.cpp | 237 | /// Non-root function node must be monotonic and deterministic in scope of query if we want to utilize prima | COMMENT |
| MEDIUM | src/Storages/MergeTree/MergeTreeData.h | 161 | /// Essentially it is an index too. | COMMENT |
| MEDIUM | src/Coordination/tests/gtest_coordination_snapshot.cpp | 2295 | /// Drill step 2 (scan-order-robust): whichever idx-80 copy got registered, the | COMMENT |
| MEDIUM | src/AggregateFunctions/AggregateFunctionStatistics.cpp | 203 | /// and utilize FMA, rather than forcing a 64-bit memory store on every row. | COMMENT |
| MEDIUM | …eSeries/AggregateFunctionTimeseriesExtrapolatedValue.h | 161 | // extrapolationThreshold below. Essentially, we are assuming a more or | COMMENT |
| MEDIUM | src/IO/SharedThreadPools.h | 38 | /// This is needed to utilize as much a possible resources to accomplish some task. | COMMENT |
| MEDIUM | …/Processors/Formats/Impl/NativeORCBlockInputFormat.cpp | 658 | /// Transform range with the same left bound and right bound to equal, which could utilize bloom fil | COMMENT |
| MEDIUM | src/Processors/Formats/Impl/Parquet/Write.cpp | 898 | /// Alternatively, we could avoid using arrow's dictionary encoding code and leverage | COMMENT |
| MEDIUM | src/Processors/QueryPlan/ReadFromMergeTree.cpp | 336 | /// TODO: this approach is fragile, it'd be more robust to update sorting description for the whole plan during plan | COMMENT |
| MEDIUM | …ueryPlan/Optimizations/optimizeUseNormalProjection.cpp | 664 | /// Enables PREWHERE on projections to improve read efficiency and leverage query condition cache. | COMMENT |
| MEDIUM | …Plan/Optimizations/optimizeDirectReadFromTextIndex.cpp | 304 | /// 2. We want to leverage the PREWHERE for virtual columns, because text index | COMMENT |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …va/org/apache/paimon/rest/PaimonIncrementalWriter.java | 47 | Catalog catalog = org.apache.paimon.catalog.CatalogFactory.createCatalog(context); | CODE |
| CRITICAL | …a/org/apache/paimon/rest/RESTCatalogServerStarter.java | 78 | Catalog catalog = org.apache.paimon.catalog.CatalogFactory.createCatalog(context); | CODE |
| CRITICAL | tests/casa_del_dolor/catalogs/datagenerator.py | 835 | iceberg_table = jvm.org.apache.iceberg.spark.Spark3Util.loadIcebergTable( | CODE |
| CRITICAL | tests/casa_del_dolor/catalogs/datagenerator.py | 853 | appender_factory = jvm.org.apache.iceberg.data.GenericAppenderFactory( | CODE |
| CRITICAL | tests/casa_del_dolor/catalogs/datagenerator.py | 870 | jvm.org.apache.iceberg.encryption.EncryptedFiles.plainAsEncryptedOutput( | CODE |
| CRITICAL | tests/casa_del_dolor/catalogs/datagenerator.py | 878 | record = jvm.org.apache.iceberg.data.GenericRecord.create(delete_schema) | CODE |
| CRITICAL | tests/casa_del_dolor/catalogs/datagenerator.py | 930 | iceberg_table = jvm.org.apache.iceberg.spark.Spark3Util.loadIcebergTable( | CODE |
| CRITICAL | …integration/test_merge_tree_azure_blob_storage/test.py | 6 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | …ries/0_stateless/data_minio/paimon_all_types/README.md | 212 | return org.apache.paimon.catalog.CatalogFactory.createCatalog(CatalogContext.create(new Path(rootPath))); | CODE |
| CRITICAL⚡ | …ts/queries/0_stateless/data_minio/deletes_db/README.md | 257 | table = jvm.org.apache.iceberg.hadoop.HadoopTables(hadoop_conf).load(f"/out/warehouse/default/{TABLE}") | CODE |
| CRITICAL⚡ | …ts/queries/0_stateless/data_minio/deletes_db/README.md | 267 | appender_factory = jvm.org.apache.iceberg.data.GenericAppenderFactory( | CODE |
| CRITICAL⚡ | …ts/queries/0_stateless/data_minio/deletes_db/README.md | 272 | jvm.org.apache.iceberg.encryption.EncryptedFiles.plainAsEncryptedOutput(out), | CODE |
| CRITICAL⚡ | …ts/queries/0_stateless/data_minio/deletes_db/README.md | 277 | record = jvm.org.apache.iceberg.data.GenericRecord.create(delete_schema) | CODE |
| CRITICAL | programs/server/js/marked.min.js | 6 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?def | CODE |
| CRITICAL | programs/server/js/xterm.min.js | 7 | !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/server/entrypoint.sh | 96 | # Check if the `defaul` user is changed through any mounted file. It will mean that user took care of it already | COMMENT |
| LOW | ci/praktika/event.py | 217 | # Check if any event in the group should be retained | COMMENT |
| LOW | ci/praktika/job.py | 283 | # Check if excluded | COMMENT |
| LOW | ci/praktika/job.py | 289 | # Check if included | COMMENT |
| LOW | ci/praktika/hook_cache.py | 116 | # Check if this job's digest starts with any other job's digest | COMMENT |
| LOW⚡ | ci/praktika/hook_cache.py | 153 | # Check if any successfully fetched digest is a prefix of this digest | COMMENT |
| LOW | ci/praktika/result.py | 1113 | # Check if colors should be used: local run + TTY + terminal supports colors | COMMENT |
| LOW | ci/praktika/issue.py | 267 | # Check if test name matches | COMMENT |
| LOW | ci/praktika/native_jobs.py | 246 | # Check if cache already exists in S3 | COMMENT |
| LOW | ci/praktika/native_jobs.py | 852 | # Check if any parent is reachable from BASE_BRANCH | COMMENT |
| LOW | ci/praktika/native_jobs.py | 857 | # Check if parent is ancestor of BASE_BRANCH or BASE_BRANCH is ancestor of parent | COMMENT |
| LOW | ci/praktika/__main__.py | 309 | # Check if html is in the only list (case-insensitive) | COMMENT |
| LOW | ci/praktika/infrastructure/lambda_function.py | 338 | # Check if function exists | COMMENT |
| LOW | …/praktika/infrastructure/native/lambda_slack_worker.py | 227 | # Check if any job has failed or errored | COMMENT |
| LOW⚡ | ci/jobs/check_style.py | 200 | # Check if any pattern matches in the concatenated string | COMMENT |
| LOW | ci/jobs/integration_test_job.py | 629 | # Set on_error_hook to collect logs on hard timeout | COMMENT |
| LOW⚡ | ci/jobs/build_toolchain.py | 560 | # Check if we collected any profiles | COMMENT |
| LOW | ci/jobs/scripts/check_ci.py | 591 | # Check if workflow has unknown failures before matching against open issues | COMMENT |
| LOW | ci/jobs/scripts/check_ci.py | 806 | # Check if PR number was provided as command-line argument | COMMENT |
| LOW | ci/jobs/scripts/done.py | 95 | # Display results | COMMENT |
| LOW | ci/jobs/scripts/log_parser.py | 437 | # Check if line matches the numbered stack trace pattern | COMMENT |
| LOW | ci/jobs/scripts/log_parser.py | 484 | # Check if line contains DB:: namespace | COMMENT |
| LOW | ci/jobs/scripts/merge_llvm_coverage.sh | 35 | # Check if tools were found | COMMENT |
| LOW | ci/jobs/scripts/perf/download.sh | 66 | # Check if the dataset path exists | COMMENT |
| LOW | ci/jobs/scripts/workflow_hooks/pr_body_check.py | 32 | # Check if the entry is on the same line (e.g. "Changelog entry: Fix something") | COMMENT |
| LOW | …/jobs/scripts/workflow_hooks/pr_labels_and_category.py | 178 | # Check if the category is on the same line (e.g. "Changelog category: Bug Fix") | COMMENT |
| LOW | ci/jobs/scripts/stress/stress.py | 433 | # Display output before raising the exception as requested | COMMENT |
| LOW | tests/casa_del_dolor/utils/httpserver.py | 83 | # Check if this is an async request | COMMENT |
| LOW | tests/casa_del_dolor/utils/backgroundworker.py | 47 | # Check if thread is already running | COMMENT |
| LOW | tests/casa_del_dolor/catalogs/datalakes.py | 738 | # Set timezone to match ClickHouse | STRING |
| LOW | tests/casa_del_dolor/catalogs/clickhousetospark.py | 230 | # Check if it's a named tuple element | COMMENT |
| LOW | tests/docker_scripts/upgrade_runner.sh | 58 | # Check if we cloned previous release repository successfully | COMMENT |
| LOW | tests/ci/version_helper.py | 418 | # Check if we have shallow checkout by comparing number of lines | COMMENT |
| LOW | tests/ci/changelog.py | 344 | # Check if the category is on the same line | COMMENT |
| LOW | tests/ci/changelog.py | 368 | # Check if the entry is on the same line | COMMENT |
| LOW | tests/ci/get_previous_release_tag.py | 44 | # Check if the artifact exists on GitHub. | COMMENT |
| LOW | tests/ci/ci_utils.py | 157 | # Check if there is a next page | COMMENT |
| LOW | tests/ci/ci_utils.py | 200 | # Check if there is a next page | COMMENT |
| LOW | tests/ci/cherry_pick.py | 559 | # Check if we've already pinged to avoid spamming | COMMENT |
| LOW | …sts/integration/test_mark_cache_profile_events/test.py | 50 | # Check if any eviction metric has increased | COMMENT |
| LOW | …sts/integration/test_mark_cache_profile_events/test.py | 262 | # Check if eviction metrics appear in query log | STRING |
| LOW | …ation/test_stop_insert_when_disk_close_to_full/test.py | 167 | # Set threshold to 3 MiB | STRING |
| LOW | tests/integration/test_cgroup_metrics/test.py | 137 | # Check if this is a nested cgroup (important for reproducing the bug) | STRING |
| LOW | tests/integration/test_cgroup_metrics/test.py | 231 | # Check if we've seen a meaningful increase (at least 0.001 seconds) | STRING |
| LOW | …n/test_modify_engine_on_restart/test_zk_path_exists.py | 60 | # Check if we can cancel convertation | COMMENT |
| LOW | tests/integration/test_jbod_balancer/test.py | 82 | # Check if we can assign new merges | COMMENT |
| LOW⚡ | tests/integration/test_keeper_force_recovery/test.py | 95 | # Check if node 6 has a Keeper config (it only has one after the test runs) | COMMENT |
| LOW | …tegration/test_prometheus_protocols/test_evaluation.py | 3511 | # Set __name__ to a constant: there is no tag "", so its value is treated as "" which always matches regex "", | COMMENT |
| LOW | tests/integration/helpers/network.py | 39 | # # Check if iptables exists | COMMENT |
| LOW | …/0_stateless/03734_client_receive_timeout_exit_code.sh | 10 | # Set interactive_delay to a very large value to prevent progress packets from resetting the timeout | COMMENT |
| LOW | …/0_stateless/02360_rename_table_along_with_log_name.sh | 15 | regexp="${CLICKHOUSE_DATABASE}\\.x" # Check if there are still log entries with old table name | CODE |
| LOW | tests/queries/0_stateless/03776_client_sni_override.sh | 77 | # Check if SNI was sent - extract just the ASCII representation column from the hex dump | COMMENT |
| LOW | …queries/0_stateless/03792_profile_events_null_queue.sh | 22 | # Check if clickhouse-driver is available | COMMENT |
| LOW | tests/queries/0_stateless/02874_array_random_sample.sh | 220 | # Check if the array contains exactly 2 unique elements | COMMENT |
| LOW | tests/queries/0_stateless/03417_http_exception_tag.sh | 26 | # Check if the response contains __exception__ followed by newline, then TAG, then newline | COMMENT |
| LOW | …0_stateless/03807_parquet_reader_race_next_subgroup.sh | 24 | # Read the file multiple times in parallel to trigger the race. | COMMENT |
| LOW | tests/queries/0_stateless/03408_parquet_checksums.sh | 21 | # Write file with checksums. | COMMENT |
| LOW | tests/queries/0_stateless/03408_parquet_checksums.sh | 37 | # Write file without checksums. | COMMENT |
| LOW | …ateless/04070_async_insert_result_rows_double_count.sh | 56 | # Print results for comparison | COMMENT |
| LOW | tests/sqlstorm/runner.py | 240 | # Check if database exists using a direct client call (run_clickhouse_query uses --format Null) | COMMENT |
| 17 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integration/test_transactions/test.py | 166 | # In this version, `removal_tid` is not updated when it locks the object for removal. | COMMENT |
| HIGH | tests/integration/test_transactions/test.py | 189 | # In this version, `removal_tid` is not updated when it locks the object for removal. | COMMENT |
| HIGH | tests/integration/test_transactions/test.py | 202 | # In this version, `removal_tid` is not updated when it locks the object for removal. | COMMENT |
| HIGH | tests/integration/test_transactions/test.py | 235 | # In this version, `removal_tid` is not updated when it locks the object for removal. | COMMENT |
| HIGH | tests/integration/test_transactions/test.py | 258 | # In this version, `removal_tid` is not updated when it locks the object for removal. | COMMENT |
| HIGH | tests/integration/test_transactions/test.py | 271 | # In this version, `removal_tid` is not updated when it locks the object for removal. | COMMENT |
| HIGH | tests/integration/test_transactions/test.py | 373 | # In this version, `removal_tid` is not updated when it locks the object for removal. | COMMENT |
| HIGH | tests/integration/test_transactions/test.py | 396 | # In this version, `removal_tid` is not updated when it locks the object for removal. | COMMENT |
| HIGH | tests/queries/0_stateless/02922_server_exit_code.sh | 16 | # In this example, we provide an invalid path to the server's config, ignore its logs and check the exit code. | COMMENT |
| HIGH | base/poco/XML/include/Poco/DOM/DOMImplementation.h | 40 | /// In this implementation, DOMImplementation is implemented as a singleton. | COMMENT |
| HIGH | base/poco/XML/include/Poco/DOM/DocumentType.h | 53 | /// Note: In this implementation, only the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/praktika/__init__.py | 6 | CODE | |
| LOW | ci/praktika/__init__.py | 7 | CODE | |
| LOW | ci/praktika/__init__.py | 8 | CODE | |
| LOW | ci/praktika/__init__.py | 9 | CODE | |
| LOW | ci/praktika/__init__.py | 10 | CODE | |
| LOW | ci/praktika/__init__.py | 11 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 5 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 6 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 7 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 8 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 9 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 11 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 14 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 15 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 16 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 17 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 18 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 19 | CODE | |
| LOW | ci/praktika/infrastructure/cloud.py | 20 | CODE | |
| LOW | ci/praktika/infrastructure/runner/runner-init.py | 3 | CODE | |
| LOW | ci/jobs/scripts/job_hooks/promql_compliance_hook.py | 20 | CODE | |
| LOW | ci/jobs/scripts/job_hooks/promql_compliance_s3.py | 10 | CODE | |
| LOW | ci/jobs/scripts/docs/generate_cloud_api_reference.py | 43 | CODE | |
| LOW | ci/jobs/scripts/docs/snippet_component_imports_check.py | 11 | CODE | |
| LOW | tests/casa_del_dolor/catalogs/datagenerator.py | 36 | CODE | |
| LOW | tests/ci/pr_version_info.py | 66 | CODE | |
| LOW | …ration/test_arrowflight_interface/flight_sql_client.py | 36 | CODE | |
| LOW | …est_prometheus_protocols/update_compliance_baseline.py | 32 | CODE | |
| LOW | …/integration/test_prometheus_protocols/generate_pb2.py | 7 | CODE | |
| LOW | …ion/test_prometheus_protocols/pb2/prompb/remote_pb2.py | 15 | CODE | |
| LOW | …ion/test_prometheus_protocols/pb2/prompb/remote_pb2.py | 16 | CODE | |
| LOW | …tion/test_prometheus_protocols/pb2/prompb/types_pb2.py | 15 | CODE | |
| LOW | …on/test_prometheus_protocols/pb2/gogoproto/gogo_pb2.py | 15 | CODE | |
| LOW | …ation/test_fetch_partition_with_outdated_parts/test.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/gates/__init__.py | 1 | CODE | |
| LOW | tests/stress/keeper/faults/__init__.py | 3 | CODE | |
| LOW | .claude/tools/analyze-assembly.py | 11 | CODE | |
| LOW | …eper-stress-analysis/scripts/build_cumulative_gains.py | 10 | CODE | |
| LOW | .claude/skills/perf-comparison/scripts/parse_perf_py.py | 3 | CODE | |
| LOW | .claude/skills/perf-comparison/scripts/perf_api.py | 7 | CODE | |
| LOW | .claude/skills/perf-comparison/scripts/test_perf_api.py | 3 | CODE | |
| LOW | utils/grpc-client/generate_pb2.py | 7 | CODE | |
| LOW | utils/grpc-client/generate_pb2.py | 9 | CODE | |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integration/test_storage_mysql/test.py | 984 | "INSERT INTO clickhouse.test_joins_mysql_users VALUES (469722, 'user@example.com', '2019-08-30 07:55:01')" | STRING |
| LOW⚡ | …gration/test_backup_restore_azure_blob_storage/test.py | 477 | blob_path = 'placeholder' | CODE |
| LOW⚡ | tests/integration/test_e2e_catalogs/test.py | 1242 | sql = catalog_manager.create_db_sql(db, bearer_token="dummy_token") | CODE |
| LOW | tests/integration/test_storage_delta/test.py | 1413 | pa.array(["John Doe", "Jane Smith", "Jake Johnson"], type=pa.string()), | CODE |
| LOW | tests/integration/test_storage_delta/test.py | 1651 | pa.array(["John Doe", "Jane Smith", "Jake Johnson"], type=pa.string()), | CODE |
| LOW | tests/integration/test_storage_delta/test.py | 1764 | 'http://{started_cluster.minio_host}:{started_cluster.minio_port}/{started_cluster.minio_bucket}/{TABLE_NAME}/', | CODE |
| LOW | …tion/test_azure_workload_identity/mock_token_server.py | 83 | token = {"access_token": "dummy-token", "expires_in": 3600, "token_type": "Bearer"} | STRING |
| LOW | …tateless/04142_ai_functions_named_collection_access.sh | 21 | api_key = 'fake-key'; | CODE |
| LOW | tests/queries/0_stateless/03822_map_json_dictionary.sql | 613 | (1, 'DeepTest1', '{"level1":{"level2":{"level3":{"level4":{"level5":{"value":"deep_value_1","numbers":[1,2,3],"nested":{ | CODE |
| LOW | …03254_timeseries_to_grid_aggregate_function_sparse.sql | 108 | SELECT intDiv(toUnixTimestamp(timestamp), 130)*130 as fake_key, timeSeriesResampleToGridWithStaleness(100, 200, 10, 15)( | CODE |
| LOW | …03254_timeseries_to_grid_aggregate_function_sparse.sql | 113 | SELECT intDiv(toUnixTimestamp(timestamp), 130)*130 as fake_key, timeSeriesResampleToGridWithStaleness(100, 200, 10, | CODE |
| LOW | tests/queries/0_stateless/03300_ai_functions.sql | 61 | api_key = 'fake-key'; | CODE |
| LOW | tests/queries/0_stateless/03300_ai_functions.sql | 72 | api_key = 'fake-key'; | CODE |
| LOW | tests/queries/0_stateless/03300_ai_functions.sql | 83 | api_key = 'fake-key'; | CODE |
| LOW | tests/queries/0_stateless/03300_ai_functions.sql | 138 | api_key = 'fake-key'; | CODE |
| LOW | tests/queries/0_stateless/03300_ai_functions.sql | 187 | api_key = 'fake-key'; | CODE |
| LOW | tests/queries/0_stateless/03300_ai_functions.sql | 207 | api_key = 'fake-key'; | CODE |
| LOW | tests/queries/0_stateless/02919_storage_fuzzjson.sql | 21 | "name": "Jane Doe", | CODE |
| LOW⚡ | …/queries/0_stateless/02918_fuzzjson_table_function.sql | 45 | json_str='{"name": "John Doe", "age": 30, "address": {"city": "Citiville", "zip": "12345"}, "hobbies": ["reading", " | CODE |
| LOW⚡ | …/queries/0_stateless/02918_fuzzjson_table_function.sql | 50 | json_str='{"name": "John Doe", "age": 30, "address": {"city": "Citiville", "zip": "12345"}, "hobbies": ["reading", " | CODE |
| LOW⚡ | …/queries/0_stateless/02918_fuzzjson_table_function.sql | 57 | json_str='{"name": "John Doe", "age": 30, "address": {"city": "Citiville", "zip": "12345"}, "hobbies": ["reading", " | CODE |
| LOW⚡ | …/queries/0_stateless/02918_fuzzjson_table_function.sql | 66 | json_str='{"name": "John Doe", "age": 30, "address": {"city": "Citiville", "zip": "12345"}, "hobbies": ["reading", " | CODE |
| LOW⚡ | …queries/0_stateless/02884_string_distance_function.sql | 56 | -- Lorem ipsum | CODE |
| LOW⚡ | …queries/0_stateless/02884_string_distance_function.sql | 57 | -- Chinese chars lorem ipsum | CODE |
| LOW⚡ | …queries/0_stateless/02884_string_distance_function.sql | 59 | materialize('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin quis mauris enim. Nam venenatis nunc.'), | CODE |
| LOW⚡ | …queries/0_stateless/02884_string_distance_function.sql | 59 | materialize('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin quis mauris enim. Nam venenatis nunc.'), | CODE |
| LOW | …queries/0_stateless/02884_string_distance_function.sql | 141 | SELECT levenshteinDistanceUTF8('半テ絶力へじづひ情日ヲフオマ型読9緊覧だづや田立だリ九高わす二申むドい生著るべや断彰ユカツ複95済モナス稿国ネサナユ近無メエ飯承ぱ項天法ら抜乾凍刷くゃイあ。公当記てあ茂全ー間仙 | CODE |
| LOW | tests/queries/0_stateless/01509_format_raw_blob.sh | 13 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW | tests/queries/0_stateless/01509_format_raw_blob.sh | 13 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW | …0_stateless/04492_ai_functions_default_credentials.sql | 24 | api_key = 'fake-key'; | CODE |
| LOW | …0_stateless/04492_ai_functions_default_credentials.sql | 29 | api_key = 'fake-key'; | CODE |
| LOW | tests/performance/cryptographic_hashes.xml | 31 | <value>materialize('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sollicitudin nisi ac | CODE |
| LOW | tests/performance/cryptographic_hashes.xml | 31 | <value>materialize('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sollicitudin nisi ac | CODE |
| LOW | tests/performance/general_purpose_hashes.xml | 25 | <value>materialize('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sollicitudin nisi ac | CODE |
| LOW | tests/performance/general_purpose_hashes.xml | 25 | <value>materialize('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sollicitudin nisi ac | CODE |
| LOW | utils/trace-visualizer/index.html | 49 | <div id="placeholder" class="chart-placeholder"></div> | CODE |
| LOW | utils/parser-memory-profiler/generate_report.py | 461 | <span class="placeholder">Select a query from the list</span> | CODE |
| LOW | utils/parser-memory-profiler/generate_report.py | 499 | <div class="placeholder">Select a query to view call graph</div> | CODE |
| LOW | utils/parser-memory-profiler/generate_report.py | 504 | <div class="placeholder">Select a query to view flame graph</div> | CODE |
| LOW⚡ | utils/parser-memory-profiler/generate_report.py | 587 | graphContainer.innerHTML = '<div class="placeholder">No call graph available</div>'; | CODE |
| LOW⚡ | utils/parser-memory-profiler/generate_report.py | 596 | flameContainer.innerHTML = '<div class="placeholder">No flame graph available</div>'; | CODE |
| LOW | docs/_specs/cloud-openapi.json | 22763 | "example": "user@example.com" | CODE |
| LOW | docs/_specs/cloud-openapi.json | 22935 | "example": "user@example.com" | CODE |
| LOW | docs/_specs/cloud-openapi.json | 23157 | "example": "user@example.com" | CODE |
| LOW⚡ | programs/server/dashboard.html | 558 | 'from': {'placeholder': '2023-01-01 00:00:00', 'title': 'Enter date in 2023-01-01 00:00:00 format. If empty, it is c | CODE |
| LOW⚡ | programs/server/dashboard.html | 559 | 'to': {'placeholder': '2023-01-02 00:00:00', 'title': 'Enter date in 2023-01-01 00:00:00 format. If empty, it is cur | CODE |
| LOW⚡ | programs/server/dashboard.html | 560 | 'seconds': {'placeholder': '86400', 'title': 'Number of seconds to look back from current time. Default is 86400 (1 | CODE |
| LOW | programs/server/dashboard.html | 695 | if ('placeholder' in default_params_desc[name]) { | CODE |
| LOW | programs/server/dashboard.html | 696 | param_value.placeholder = default_params_desc[name]['placeholder']; | CODE |
| LOW | programs/server/processors_profile.html | 382 | <div class="placeholder">Select a query above to render its pipeline with <code>elapsed_us</code> heatma | CODE |
| LOW | …torages/System/StorageSystemContributors.generated.cpp | 781 | "John Doe", | CODE |
| LOW | …rages/ObjectStorageQueue/StorageObjectStorageQueue.cpp | 1880 | std::string dummy_data; | CODE |
| LOW | …rages/ObjectStorageQueue/StorageObjectStorageQueue.cpp | 1883 | const bool node_exists = zk->tryGetWatch(processed_node_path, dummy_data, &dummy_stat, labelled_event); | CODE |
| LOW | src/Coordination/tests/gtest_coordination_snapshot.cpp | 344 | acl_map.addMapping(std::numeric_limits<DB::ACLId>::max() - 1, {{1, "digest", "placeholder"}}); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/praktika/runner.py | 297 | CODE | |
| LOW | ci/praktika/runner.py | 993 | CODE | |
| LOW | ci/praktika/yaml_generator.py | 615 | CODE | |
| LOW | ci/praktika/result.py | 122 | CODE | |
| LOW | ci/praktika/result.py | 852 | CODE | |
| LOW | ci/praktika/secret.py | 59 | CODE | |
| LOW | ci/praktika/secret.py | 103 | CODE | |
| LOW | ci/praktika/utils.py | 314 | CODE | |
| LOW | ci/jobs/check_style.py | 52 | CODE | |
| LOW | ci/jobs/vector_search_stress_job.py | 79 | CODE | |
| LOW | ci/jobs/scripts/clickhouse_version.py | 47 | CODE | |
| LOW | ci/jobs/scripts/log_parser.py | 689 | CODE | |
| LOW | tests/ci/git_helper.py | 92 | CODE | |
| LOW | …efined_function/user_scripts/input_python_exception.py | 9 | CODE | |
| LOW | tests/integration/test_disks_app_interactive/test.py | 132 | CODE | |
| LOW | tests/integration/test_disks_app_interactive/test.py | 223 | CODE | |
| LOW | tests/integration/test_ytsaurus/yt_helpers.py | 109 | CODE | |
| LOW | tests/integration/test_cgroup_metrics/test.py | 100 | CODE | |
| LOW | tests/integration/test_hedged_requests_parallel/test.py | 118 | CODE | |
| LOW | tests/integration/test_refreshable_mat_view/test.py | 363 | CODE | |
| LOW | tests/integration/test_ssh/test.py | 108 | CODE | |
| LOW | …tegration/test_refreshable_mat_view_replicated/test.py | 389 | CODE | |
| LOW | tests/integration/test_rename_column/test.py | 133 | CODE | |
| LOW | tests/integration/test_tcp_hello_string_limits/test.py | 52 | CODE | |
| LOW | tests/integration/test_grpc_protocol/test.py | 57 | CODE | |
| LOW | tests/integration/helpers/client.py | 54 | CODE | |
| LOW | tests/integration/helpers/client.py | 82 | CODE | |
| LOW | tests/integration/helpers/s3_queue_common.py | 27 | CODE | |
| LOW | tests/integration/helpers/s3_queue_common.py | 133 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 165 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 543 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 2052 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 4758 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 5025 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 5059 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 5139 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 5199 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 5231 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 5282 | CODE | |
| LOW | tests/integration/helpers/cluster.py | 5649 | CODE | |
| LOW | tests/integration/helpers/test_tools.py | 65 | CODE | |
| LOW | tests/integration/helpers/iceberg_utils.py | 225 | CODE | |
| LOW | tests/integration/helpers/iceberg_utils.py | 412 | CODE | |
| LOW | tests/integration/helpers/kafka/common.py | 396 | CODE | |
| LOW | tests/integration/helpers/kafka/common.py | 416 | CODE | |
| LOW | tests/integration/test_hedged_requests/test.py | 148 | CODE | |
| LOW | tests/integration/test_database_delta/test.py | 321 | CODE | |
| LOW | .claude/tools/fetch_perf_report.py | 179 | CODE | |
| LOW | utils/grpc-client/clickhouse-grpc-client.py | 71 | CODE | |
| LOW | utils/grpc-client/pb2/clickhouse_grpc_pb2_grpc.py | 100 | CODE | |
| LOW | utils/grpc-client/pb2/clickhouse_grpc_pb2_grpc.py | 117 | CODE | |
| LOW | utils/grpc-client/pb2/clickhouse_grpc_pb2_grpc.py | 134 | CODE | |
| LOW | utils/grpc-client/pb2/clickhouse_grpc_pb2_grpc.py | 151 | CODE | |
| LOW | docs/_migration/migrate.py | 1464 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ci/praktika/workflow.py | 108 | # exact match - consider it as requested job | COMMENT |
| HIGH | ci/jobs/scripts/stress/stress.py | 433 | # Display output before raising the exception as requested | COMMENT |
| HIGH | utils/merge-selector-lab/pack.py | 3 | # Forgive my ignorance. This AI-generated script is used instead of a proper js bundler. | COMMENT |
| HIGH | docs/_site/customizations/kapa-init.js | 58 | 'data-modal-disclaimer': 'This is a custom LLM for ClickHouse with access to all developer documentation, open Git | CODE |
| HIGH | src/Storages/Kafka/StorageKafka.cpp | 145 | // Claim as many consumers as requested, but don't block | COMMENT |
| HIGH | src/Client/AI/tests/gtest_ai_sql_generator.cpp | 271 | // If the AI generated SQL, it should be safe | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …ries/0_stateless/03578_parallel_replicas_minicrawl.sql | 25 | {"date":"2025-07-27","rank":43314,"domain":"clickhouse.com","log":"* Trying 172.66.40.249:80...\n* Connected to clickh | CODE |
| MEDIUM⚡ | …ries/0_stateless/03578_parallel_replicas_minicrawl.sql | 25 | {"date":"2025-07-27","rank":43314,"domain":"clickhouse.com","log":"* Trying 172.66.40.249:80...\n* Connected to clickh | CODE |
| MEDIUM | .claude/skills/alloc-profile/SKILL.md | 158 | # thread pool scaffolding, libc entry points, raw addresses, lambda wrappers | COMMENT |
| MEDIUM | docs/_migration/migrate.py | 2275 | # (agentic-analytics.mdx) have no upstream counterpart at all. | COMMENT |
| MEDIUM | docs/changelogs/v25.10.3.100-stable.md | 18 | * Backported in [#90728](https://github.com/ClickHouse/ClickHouse/issues/90728): Update warning messages when approachin | COMMENT |
| MEDIUM | docs/changelogs/v25.10.3.100-stable.md | 18 | * Backported in [#90728](https://github.com/ClickHouse/ClickHouse/issues/90728): Update warning messages when approachin | COMMENT |
| MEDIUM | docs/changelogs/v25.8.12.129-lts.md | 20 | * Backported in [#90774](https://github.com/ClickHouse/ClickHouse/issues/90774): Update warning messages when approachin | COMMENT |
| MEDIUM | docs/changelogs/v25.8.12.129-lts.md | 20 | * Backported in [#90774](https://github.com/ClickHouse/ClickHouse/issues/90774): Update warning messages when approachin | COMMENT |
| MEDIUM | docs/changelogs/v25.9.6.117-stable.md | 23 | * Backported in [#90775](https://github.com/ClickHouse/ClickHouse/issues/90775): Update warning messages when approachin | COMMENT |
| MEDIUM | docs/changelogs/v25.9.6.117-stable.md | 23 | * Backported in [#90775](https://github.com/ClickHouse/ClickHouse/issues/90775): Update warning messages when approachin | COMMENT |
| MEDIUM | docs/changelogs/v25.11.1.558-stable.md | 147 | * Backported in [#90730](https://github.com/ClickHouse/ClickHouse/issues/90730): Update warning messages when approachin | COMMENT |
| MEDIUM | docs/changelogs/v25.11.1.558-stable.md | 147 | * Backported in [#90730](https://github.com/ClickHouse/ClickHouse/issues/90730): Update warning messages when approachin | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ci/jobs/sqlancer_job.sh | 5 | # 2. Other than for demonstration purposes it would be wierd to write this in bash | COMMENT |
| LOW | …ts/integration/test_config_xml_full/configs/config.xml | 584 | Regexps are not aligned: don't forget to add ^ and $. Also don't forget to escape dot (.) metacharacter | CODE |
| MEDIUM | …queries/0_stateless/03011_definitive_guide_to_cast.sql | 138 | -- It's worth noting that the operator form does not allow to specify the type name as a string literal: | CODE |
| LOW | programs/server/config.xml | 1064 | Regexps are not aligned: don't forget to add ^ and $. Also don't forget to escape dot (.) metacharacter | CODE |
| LOW | src/Storages/ObjectStorage/S3/Configuration.cpp | 459 | /// When adding new arguments in the signature don't forget to update addStructureAndFormatToArgsIfNeeded as well. | COMMENT |
| MEDIUM | src/Storages/Kafka/StorageKafkaUtils.cpp | 472 | The Kafka table engine doesn't support columns with [default value](/sql-reference/statements/create/table#default_value | CODE |
| LOW | src/Storages/MergeTree/MergeTreeData.cpp | 2713 | "(don't forget to return setting back to default value)", | CODE |
| LOW | src/Storages/MergeTree/MergeTreeData.cpp | 2724 | "section or in table settings in .sql file (don't forget to return setting back to default value)", | CODE |
| LOW | src/Core/BaseSettingsProgramOptions.h | 52 | /// (Don't forget to call notify() on the `variables_map` after parsing it!) | COMMENT |
| MEDIUM | src/DataTypes/registerDataTypeDateTime.cpp | 146 | ClickHouse outputs values depending on the value of the [date_time_output_format](../../operations/settings/settings-for | CODE |
| LOW | src/DataTypes/Native.cpp | 483 | /// When working with values of these types in LLVM, don't forget to do setAlignment(llvm::Align(8)) for all loads/s | COMMENT |
| LOW | src/IO/SeekableReadBuffer.h | 35 | * may get into inconsistent state. Don't forget to reset it on the first nextImpl() | COMMENT |
| LOW | src/IO/ReadHelpers.h | 413 | // Buffer pointer is left at EOL, don't forget to advance it. | COMMENT |
| LOW | src/Common/AsynchronousMetrics.cpp | 431 | // achieve temporal separation with MetricTransmitter. Don't forget to | COMMENT |
| LOW | src/Common/PODArray.h | 24 | * Don't forget to apply std::decay when using this constexpr. | COMMENT |
| LOW | src/Common/COW.h | 239 | * If you override 'mutate' method in inherited classes, don't forget to make it virtual in base class or to make i | COMMENT |
| LOW | src/Client/BuzzHouse/Generator/SQLExpression.cpp | 999 | /// Don't forget to clear levels! | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/praktika/__init__.py | 13 | __all__ = ["Artifact", "Docker", "Job", "Secret", "Workflow", "CloudInfrastructure"] | CODE |
| LOW | ci/praktika/_environment.py | 386 | def set_pr_labels(self, labels: List[str], reset: bool = False) -> None: | CODE |
| LOW | ci/praktika/info.py | 236 | def set_workflow_inputs(inputs: dict) -> None: | CODE |
| LOW | tests/casa_del_dolor/dolor.py | 375 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/ci/github_helper.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/ci/create_release.py | 471 | def update_version_and_contributors_list(self, dry_run: bool) -> None: | CODE |
| LOW | tests/ci/build_download_helper.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/ci/official_docker_update.py | 79 | def update_docs(repos: LibraryRepos, dry_run: bool = True) -> None: | CODE |
| LOW | tests/ci/official_docker_update.py | 186 | def update_library_images(repos: LibraryRepos, dry_run: bool = True) -> None: | CODE |
| LOW | tests/ci/official_docker_update.py | 295 | def update_ldf_repo(repos: LibraryRepos, dry_run: bool = True) -> None: | CODE |
| LOW | tests/ci/get_previous_release_tag.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/ci/ci_utils.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/ci/git_helper.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/ci/git_helper.py | 255 | def _update_tags(self, suppress_stderr: bool = False) -> None: | CODE |
| LOW | tests/ci/report.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/ci/report.py | 356 | def set_raw_logs(self, raw_logs: str) -> None: | STRING |
| LOW | tests/ci/report.py | 359 | def set_log_files(self, log_files_literal: str) -> None: | STRING |
| LOW | tests/integration/test_drop_is_lock_free/test.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …sts/integration/test_mark_cache_profile_events/test.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ts/integration/test_cache_s3_object_truncation/test.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | …n/test_plain_rewritable_backward_compatibility/test.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/integration/test_mutations_analyzer_override/test.py | 65 | def set_override(value: str) -> None: | STRING |
| LOW | tests/stress/keeper/gates/__init__.py | 22 | __all__ = [ | CODE |
| LOW | tests/stress/keeper/faults/__init__.py | 9 | __all__ = ["apply_step"] | CODE |
| LOW | docs/_migration/migrate.py | 2354 | def update_slug_map(slug_map_csv: Path, all_rows: list[dict], updates: dict[str, dict[str, str]]) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …eries/0_stateless/helpers/install_predefined_backup.sh | 6 | # Usage: | COMMENT |
| LOW | .claude/tools/cppexpr.sh | 5 | # Usage: | COMMENT |
| LOW | …laude/skills/keeper-stress-analysis/scripts/rebuild.sh | 4 | # Usage: | COMMENT |
| LOW | .claude/skills/good-prs/report.sh | 17 | # Usage: | COMMENT |
| LOW | utils/data-lakes-importer.py | 8 | # Usage example: | COMMENT |
| LOW | utils/merge-selector-lab/pack.py | 95 | # Example usage | COMMENT |
| LOW | utils/merge-selector-lab/renderMath.js | 69 | // Example usage: | COMMENT |
| LOW | base/poco/Foundation/include/Poco/TypeList.h | 261 | /// Usage example: | COMMENT |
| LOW | base/poco/Foundation/include/Poco/Process.h | 119 | /// Usage example: | COMMENT |
| LOW | base/poco/Foundation/include/Poco/Process.h | 153 | /// Usage example: | COMMENT |
| LOW | base/poco/Foundation/include/Poco/Dynamic/Var.h | 128 | /// Example usage: | COMMENT |
| LOW | base/poco/Foundation/include/Poco/Dynamic/Var.h | 151 | /// Example usage: | COMMENT |
| LOW | src/Common/examples/parallel_aggregation.cpp | 30 | /// Usage example: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | programs/install/Install.cpp | 155 | // TODO: implement. | COMMENT |
| LOW | programs/install/Install.cpp | 174 | // TODO: implement. | COMMENT |
| LOW | …tSSL_OpenSSL/include/Poco/Net/SecureStreamSocketImpl.h | 93 | /// TODO: implement IPv6 version | COMMENT |
| LOW | src/Interpreters/InterpreterSelectQuery.cpp | 262 | /// TODO: implement some AST builders for this kind of stuff | COMMENT |
| LOW | src/Interpreters/convertFieldToType.cpp | 913 | /// TODO: implement proper tryConvertFieldToType without try/catch by adding template flag to convertFieldToTypeImpl | COMMENT |
| LOW | src/Storages/MergeTree/MergeTreeReaderTextIndex.cpp | 457 | /// TODO: implement distributed index analysis for text index. | COMMENT |
| LOW | …Processors/QueryPlan/Optimizations/makeDistributed.cpp | 568 | /// TODO: implement better logic for choosing number of parallel readers | COMMENT |
| LOW | …Processors/QueryPlan/Optimizations/makeDistributed.cpp | 587 | /// TODO: implement better logic for choosing number of parallel readers | COMMENT |
| LOW | src/Columns/ColumnSparse.cpp | 563 | /// TODO: implement without conversion to full column. | COMMENT |
| LOW | src/Columns/ColumnSparse.cpp | 734 | /// TODO: implement specializations. | COMMENT |
| LOW | src/Columns/ColumnObject.h | 132 | /// TODO: implement more optimal insertManyFrom | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ci/praktika/utils.py | 734 | Compresses a file or directory using zstd. Args: path: Path to the file or directory to co | STRING |
| HIGH | ci/praktika/utils.py | 842 | Compresses a file or directory using gzip. Args: path: Path to the file or directory to co | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/en/interfaces/client.md | 456 | <api_key>your-api-key-here</api_key> | CODE |
| HIGH | docs/en/interfaces/client.md | 488 | api_key: your-api-key-here | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …erg_schema_evolution/test_array_evolved_with_struct.py | 191 | CODE | |
| MEDIUM | …erg_schema_evolution/test_array_evolved_with_struct.py | 197 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …efined_function/user_scripts/input_python_exception.py | 5 | def process_data(value): | CODE |
| LOW | utils/query-latency-analyzer/js/data-processing.js | 15 | function processData(raw_data) { | CODE |