DuckDB is an analytical in-process SQL database management system
This report summarizes scanner evidence for duckdb/duckdb, a C++ project with 42,076 GitHub stars. SynthScan examined 1,430,281 lines of code across 6213 source files, recording 5182 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 4.2 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 4456 finding(s).
Are imports declared and package/API names verified? 250 finding(s).
Are wrappers, guards, and repeated structures necessary? 1076 finding(s).
Which changes need focused human review? 5182 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 5182 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/interpreted_benchmark.cpp | 1 | #include "interpreted_benchmark.hpp" | COMMENT |
| LOW | benchmark/benchmark_runner.cpp | 1 | #include "benchmark_runner.hpp" | COMMENT |
| LOW | benchmark/include/duckdb_benchmark.hpp | 1 | //===----------------------------------------------------------------------===// | COMMENT |
| LOW | benchmark/include/benchmark_runner.hpp | 1 | //===----------------------------------------------------------------------===// | COMMENT |
| LOW | benchmark/include/interpreted_benchmark.hpp | 1 | //===----------------------------------------------------------------------===// | COMMENT |
| LOW | benchmark/include/benchmark_configuration.hpp | 1 | //===----------------------------------------------------------------------===// | COMMENT |
| LOW | benchmark/include/benchmark.hpp | 1 | //===----------------------------------------------------------------------===// | COMMENT |
| LOW | benchmark/include/duckdb_benchmark_macro.hpp | 1 | //===----------------------------------------------------------------------===// | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 21 | .#..# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 41 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 101 | .##.# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 121 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 161 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 221 | #.#.. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 281 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 301 | .#.#. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 341 | #..## | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 361 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 381 | #...# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 681 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 701 | #.#.# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 741 | ...#. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 781 | #.#.# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 841 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 901 | ##### | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 921 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 1001 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 1121 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 1141 | ##..# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1181 | .#.## | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1221 | #.#.# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1301 | #.#.# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1321 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 1381 | #.#.. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1421 | #.### | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1501 | ##### | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1661 | #.#.# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1701 | #.#.. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1741 | ...#. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1781 | .#.#. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 1841 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 2061 | #.#.. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 2081 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 2101 | ##.#. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 2161 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 2181 | .##.. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 2221 | .#.## | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 2361 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 2381 | ####. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 2421 | ..#.. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 2561 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 2581 | .#.#. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 2641 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 2681 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 2741 | ###.# | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 3041 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 3101 | ####. | COMMENT |
| LOW | benchmark/aoc24/queries/day25.sql | 3121 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 3361 | COMMENT | |
| LOW | benchmark/aoc24/queries/day25.sql | 3401 | COMMENT | |
| 3653 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/shell/tests/test_format.py | 59 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/shell/tests/test_format.py | 61 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 74 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 109 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 111 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 181 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 183 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 293 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 295 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 356 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 358 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 1241 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 1243 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 1363 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 1365 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 1445 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 1447 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 1587 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_data.py | 1589 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/py/test_temp_dir_contract.py | 134 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/py/test_temp_dir_contract.py | 255 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/py/test_temp_dir_contract.py | 303 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/py/test_temp_dir_contract.py | 391 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/py/test_temp_dir_contract.py | 421 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/py/test_temp_dir_contract.py | 453 | # ----------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | test/py/test_temp_dir_contract.py | 558 | # ----------------------------------------------------------------------------- | STRING |
| MEDIUM | test/py/test_temp_dir_contract.py | 517 | # ----------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/sync_out_of_tree_extensions.py | 382 | # ── Fresh clone ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/sync_out_of_tree_extensions.py | 398 | # ── Skip patches: leave the existing repo untouched ────────────────── | COMMENT |
| MEDIUM | scripts/sync_out_of_tree_extensions.py | 401 | # ── Existing repo ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/generate_util.py | 68 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | scripts/generate_util.py | 70 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | scripts/generate_util.py | 511 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | scripts/generate_util.py | 513 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | scripts/generate_util.py | 791 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | scripts/generate_util.py | 793 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/generate_util.py | 30 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/generate_util.py | 32 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/generate_util.py | 274 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/generate_util.py | 276 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/generate_util.py | 387 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/generate_util.py | 389 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/parser/grammar_types.yml | 44 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 46 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 618 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 620 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 781 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 783 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1037 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1039 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1245 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1247 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1330 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1332 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1518 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1520 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1609 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1612 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/parser/grammar_types.yml | 1720 | # --------------------------------------------------------------------------- | COMMENT |
| 345 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/sqllogic/tests/test_require_env.py | 105 | def test_require_env_not_absent(unittest_binary, tmp_path, source): | CODE |
| LOW | tools/sqllogic/tests/test_require_env.py | 119 | def test_require_env_actual_value_tag(unittest_binary, tmp_path, directive, values, tag_value, runs): | CODE |
| LOW | tools/sqllogic/tests/test_unittest_stdin.py | 4 | def test_unittest_stdin_separate_writes(unittest_binary): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 161 | def test_autocomplete_funky_column(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 170 | def test_autocomplete_semicolon(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 178 | def test_autocomplete_comments(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 188 | def test_autocomplete_scalar_functions(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 196 | def test_autocomplete_aggregates(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 204 | def test_autocomplete_builtin_views(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 212 | def test_autocomplete_table_function(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 280 | def test_autocomplete_disambiguation_column(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 289 | def test_autocomplete_disambiguation_table(shell, autocomplete_extension): | CODE |
| LOW⚡ | tools/shell/tests/test_autocomplete.py | 298 | def test_autocomplete_directory(shell, autocomplete_extension, tmp_path): | CODE |
| LOW | tools/shell/tests/test_autocomplete.py | 20 | def test_autocomplete_first_from(shell, autocomplete_extension): | CODE |
| LOW | tools/shell/tests/test_autocomplete.py | 64 | def test_autocomplete_into_table(shell, autocomplete_extension): | CODE |
| LOW | tools/shell/tests/test_autocomplete.py | 91 | def test_autocomplete_delete_from(shell, autocomplete_extension): | CODE |
| LOW | tools/shell/tests/test_autocomplete.py | 100 | def test_autocomplete_from_table(shell, autocomplete_extension): | CODE |
| LOW | tools/shell/tests/test_autocomplete.py | 118 | def test_autocomplete_update_table(shell, autocomplete_extension): | CODE |
| LOW | tools/shell/tests/test_autocomplete.py | 135 | def test_autocomplete_update_column(shell, autocomplete_extension): | CODE |
| LOW | tools/shell/tests/test_autocomplete.py | 144 | def test_autocomplete_funky_table(shell, autocomplete_extension): | CODE |
| LOW | tools/shell/tests/test_highlighting.py | 13 | def test_highlight_column_header(shell): | CODE |
| LOW | tools/shell/tests/test_highlighting.py | 35 | def test_custom_highlight_error(shell): | CODE |
| LOW | tools/shell/tests/test_highlighting.py | 50 | def test_deprecated_highlight_commands(shell): | CODE |
| LOW | tools/shell/tests/test_highlighting.py | 71 | def test_deprecated_highlight_constant(shell): | CODE |
| LOW | tools/shell/tests/conftest.py | 19 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | tools/shell/tests/test_shell_rendering.py | 104 | def test_mode_json_nested_variant(shell): | CODE |
| LOW | tools/shell/tests/test_shell_rendering.py | 115 | def test_mode_json_empty_result(shell): | CODE |
| LOW | tools/shell/tests/test_shell_rendering.py | 137 | def test_long_type_empty_result(shell): | CODE |
| LOW | tools/shell/tests/test_logging.py | 22 | def test_logging_custom_delim(shell): | CODE |
| LOW | tools/shell/tests/test_logging.py | 32 | def test_logging_shell_pretty(shell): | CODE |
| LOW | tools/shell/tests/test_logging.py | 47 | def test_logging_shell_pretty_multiline(shell): | CODE |
| LOW | tools/shell/tests/test_logging.py | 61 | def test_logging_warning_dedup(shell): | CODE |
| LOW | tools/shell/tests/test_logging.py | 76 | def test_logging_error_no_dedup(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 6 | def test_pager_status_default(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 36 | def test_pager_on_with_pager_env(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 48 | def test_pager_on_with_duckdb_pager_env(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 61 | def test_pager_duckdb_pager_priority(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 73 | def test_pager_custom_command(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 84 | def test_pager_custom_command_with_args(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 94 | def test_pager_with_query_output(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 105 | def test_pager_doesnt_affect_error_messages(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 117 | def test_pager_preserves_nullvalue(shell): | CODE |
| LOW | tools/shell/tests/test_pager.py | 128 | def test_pager_multiple_queries(shell): | CODE |
| LOW | tools/shell/tests/test_safe_mode.py | 22 | def test_safe_mode_dot_command(shell, param): | CODE |
| LOW | tools/shell/tests/test_safe_mode.py | 33 | def test_safe_mode_database_basic(shell, random_filepath): | CODE |
| LOW | tools/shell/tests/test_safe_mode.py | 45 | def test_safe_mode_database_commands(shell, random_filepath, command, persistent): | CODE |
| LOW⚡ | tools/shell/tests/test_prompt.py | 10 | def test_prompt_unterminated_bracket(shell): | CODE |
| LOW⚡ | tools/shell/tests/test_prompt.py | 18 | def test_prompt_unterminated_escape(shell): | CODE |
| LOW⚡ | tools/shell/tests/test_prompt.py | 26 | def test_prompt_invalid_option(shell): | CODE |
| LOW⚡ | tools/shell/tests/test_prompt.py | 34 | def test_prompt_missing_query(shell): | CODE |
| LOW⚡ | tools/shell/tests/test_prompt.py | 42 | def test_prompt_invalid_color(shell): | CODE |
| LOW | tools/shell/tests/test_errors.py | 69 | def test_single_quotes_in_error(shell): | CODE |
| LOW | tools/shell/tests/test_errors.py | 80 | def test_double_quotes_in_error(shell): | CODE |
| LOW | tools/shell/tests/test_warning.py | 82 | def test_changing_logging_settings(shell, tmp_path): | CODE |
| LOW | tools/shell/tests/test_readable_numbers.py | 23 | def test_readable_numbers_exhaustive(shell, test_rounding): | CODE |
| LOW | tools/shell/tests/test_readable_numbers.py | 45 | def test_readable_numbers_rounding(shell): | CODE |
| LOW | tools/shell/tests/test_readable_numbers.py | 58 | def test_readable_rounding_edge_case(shell): | CODE |
| LOW | tools/shell/tests/test_readable_numbers.py | 68 | def test_readable_numbers_limit(shell): | CODE |
| LOW⚡ | tools/shell/tests/test_readable_numbers.py | 98 | def test_disable_readable_numbers(shell): | CODE |
| LOW⚡ | tools/shell/tests/test_readable_numbers.py | 107 | def test_large_number_rendering_all(shell): | CODE |
| 537 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/shell/tests/test_autocomplete.py | 3 | CODE | |
| LOW | tools/shell/tests/test_autocomplete.py | 4 | CODE | |
| LOW | tools/shell/tests/test_autocomplete.py | 5 | CODE | |
| LOW | tools/shell/tests/test_autocomplete.py | 6 | CODE | |
| LOW | tools/shell/tests/test_autocomplete.py | 8 | CODE | |
| LOW | tools/shell/tests/test_autocomplete.py | 9 | CODE | |
| LOW | tools/shell/tests/test_highlighting.py | 4 | CODE | |
| LOW | tools/shell/tests/test_highlighting.py | 5 | CODE | |
| LOW | tools/shell/tests/test_highlighting.py | 6 | CODE | |
| LOW | tools/shell/tests/test_shell_rendering.py | 4 | CODE | |
| LOW | tools/shell/tests/test_shell_rendering.py | 5 | CODE | |
| LOW | tools/shell/tests/test_shell_rendering.py | 6 | CODE | |
| LOW | tools/shell/tests/test_shell_rendering.py | 8 | CODE | |
| LOW | tools/shell/tests/test_shell_rendering.py | 9 | CODE | |
| LOW | tools/shell/tests/test_logging.py | 3 | CODE | |
| LOW | tools/shell/tests/test_logging.py | 4 | CODE | |
| LOW | tools/shell/tests/test_logging.py | 5 | CODE | |
| LOW | tools/shell/tests/test_logging.py | 7 | CODE | |
| LOW | tools/shell/tests/test_pager.py | 3 | CODE | |
| LOW | tools/shell/tests/test_safe_mode.py | 4 | CODE | |
| LOW | tools/shell/tests/test_safe_mode.py | 5 | CODE | |
| LOW | tools/shell/tests/test_safe_mode.py | 6 | CODE | |
| LOW | tools/shell/tests/test_prompt.py | 3 | CODE | |
| LOW | tools/shell/tests/test_prompt.py | 4 | CODE | |
| LOW | tools/shell/tests/test_prompt.py | 5 | CODE | |
| LOW | tools/shell/tests/test_prompt.py | 6 | CODE | |
| LOW | tools/shell/tests/test_errors.py | 4 | CODE | |
| LOW | tools/shell/tests/test_errors.py | 5 | CODE | |
| LOW | tools/shell/tests/test_errors.py | 6 | CODE | |
| LOW | tools/shell/tests/test_profiling.py | 3 | CODE | |
| LOW | tools/shell/tests/test_profiling.py | 4 | CODE | |
| LOW | tools/shell/tests/test_profiling.py | 5 | CODE | |
| LOW | tools/shell/tests/test_profiling.py | 6 | CODE | |
| LOW | tools/shell/tests/test_readable_numbers.py | 4 | CODE | |
| LOW | tools/shell/tests/test_readable_numbers.py | 5 | CODE | |
| LOW | tools/shell/tests/test_readable_numbers.py | 6 | CODE | |
| LOW | tools/shell/tests/test_readable_numbers.py | 8 | CODE | |
| LOW | tools/shell/tests/test_command_line_arguments.py | 4 | CODE | |
| LOW | tools/shell/tests/test_command_line_arguments.py | 5 | CODE | |
| LOW | tools/shell/tests/test_command_line_arguments.py | 6 | CODE | |
| LOW | tools/shell/tests/test_command_line_arguments.py | 8 | CODE | |
| LOW | tools/shell/tests/test_command_line_arguments.py | 9 | CODE | |
| LOW | tools/shell/tests/test_duckbox_streaming.py | 3 | CODE | |
| LOW | tools/shell/tests/test_duckbox_streaming.py | 4 | CODE | |
| LOW | tools/shell/tests/test_duckbox_streaming.py | 5 | CODE | |
| LOW | tools/shell/tests/test_duckbox_streaming.py | 6 | CODE | |
| LOW | tools/shell/tests/test_read_from_stdin.py | 4 | CODE | |
| LOW | tools/shell/tests/test_read_from_stdin.py | 5 | CODE | |
| LOW | tools/shell/tests/test_read_from_stdin.py | 6 | CODE | |
| LOW | tools/shell/tests/test_read_from_stdin.py | 8 | CODE | |
| LOW | tools/shell/tests/test_import.py | 3 | CODE | |
| LOW | tools/shell/tests/test_import.py | 4 | CODE | |
| LOW | tools/shell/tests/test_import.py | 5 | CODE | |
| LOW | tools/shell/tests/test_import.py | 6 | CODE | |
| LOW | tools/shell/tests/test_import.py | 8 | CODE | |
| LOW | tools/shell/tests/test_import.py | 9 | CODE | |
| LOW | tools/shell/tests/test_open.py | 3 | CODE | |
| LOW | tools/shell/tests/test_open.py | 4 | CODE | |
| LOW | tools/shell/tests/test_open.py | 5 | CODE | |
| LOW | tools/shell/tests/test_open.py | 6 | CODE | |
| 103 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 309 | if (sniffed_column_counts.state_machine.options.dialect_options.skip_rows.IsSetByUser()) { | CODE |
| CRITICAL | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 311 | sniffed_column_counts.state_machine.options.dialect_options.skip_rows.GetValue(); | CODE |
| CRITICAL | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 355 | sniffed_column_counts.state_machine.dialect_options.state_machine_options.quote.GetValue() != '\0'; | CODE |
| CRITICAL | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 217 | if (result.state_machine.dialect_options.state_machine_options.new_line.GetValue() != NewLineIdentifier::CARRY_ON) { | CODE |
| CRITICAL⚡ | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 632 | value_ptr, length, result.state_machine.dialect_options.state_machine_options.escape.GetValue(), | CODE |
| CRITICAL⚡ | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 633 | result.state_machine.dialect_options.state_machine_options.quote.GetValue(), | CODE |
| CRITICAL⚡ | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 634 | result.state_machine.dialect_options.state_machine_options.strict_mode.GetValue(), | CODE |
| CRITICAL | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 1573 | result.state_machine.dialect_options.state_machine_options.strict_mode.GetValue(), | CODE |
| CRITICAL⚡ | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 1605 | result.state_machine.dialect_options.state_machine_options.strict_mode.GetValue(), | CODE |
| CRITICAL⚡ | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 1615 | !result.state_machine.dialect_options.state_machine_options.delimiter.GetValue().empty()) { | CODE |
| CRITICAL⚡ | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 1617 | result.state_machine.dialect_options.state_machine_options.delimiter.GetValue().size() - 1; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/bwc/runner.py | 278 | except Exception as e: | CODE |
| LOW | test/bwc/runner.py | 314 | except Exception as e: | CODE |
| MEDIUM | test/bwc/update_cache.py | 52 | print(f"Error: cache directory not found in test-utils: {cache_dir}") | CODE |
| MEDIUM | test/bwc/export_cache.py | 107 | print(f"Error: runtime directory not found: {runtime_dir}") | CODE |
| LOW | test/bwc/utils/test_files_parser.py | 496 | except Exception as e: | CODE |
| LOW | test/bwc/utils/test_files_parser.py | 675 | except Exception as e: | CODE |
| LOW | test/bwc/utils/duckdb_cli.py | 62 | except Exception as e: | CODE |
| LOW | test/bwc/utils/duckdb_cli.py | 100 | except Exception: | CODE |
| LOW | test/bwc/utils/duckdb_cli.py | 106 | except Exception: | CODE |
| LOW | test/bwc/utils/duckdb_cli.py | 118 | except Exception: | CODE |
| MEDIUM | test/bwc/utils/duckdb_cli.py | 35 | def start(self): | CODE |
| LOW | test/io_metrics/run_io_metrics_test.py | 257 | except Exception as e: # noqa: BLE001 - report any test error uniformly | CODE |
| LOW | test/parquet/generate_parquet_test.py | 43 | except Exception as e: | CODE |
| MEDIUM | scripts/generate_storage_info.py | 90 | print(f"Error: {path} not found.") | CODE |
| MEDIUM | scripts/generate_storage_info.py | 112 | print(f"Error: Version map not found at {VERSION_MAP_PATH}") | CODE |
| MEDIUM | scripts/run-clang-tidy.py | 70 | print('Error: could not find compilation database.') | CODE |
| MEDIUM | scripts/run-clang-tidy.py | 372 | print('Error exporting fixes.\n', file=sys.stderr) | CODE |
| MEDIUM | scripts/run-clang-tidy.py | 381 | print('Error applying fixes.\n', file=sys.stderr) | CODE |
| MEDIUM | scripts/create_patch.py | 36 | print(f"Error: Extension CMake file not found: {cmake_path}") | CODE |
| MEDIUM | scripts/create_patch.py | 44 | print(f"Error: Could not find GIT_TAG in {cmake_path}") | CODE |
| MEDIUM | scripts/create_patch.py | 61 | print(f"Error: Failed to run git in {args.repository_path} — {e.stderr.strip()}") | CODE |
| MEDIUM | scripts/create_patch.py | 85 | print(f"Error: Failed to run git diff — {e.stderr.strip()}") | CODE |
| LOW⚡ | scripts/format.py | 34 | except Exception as e: | CODE |
| LOW⚡ | scripts/format.py | 44 | except Exception as e: | CODE |
| LOW⚡ | scripts/format.py | 53 | except Exception as e: | CODE |
| LOW | scripts/generate_serialization.py | 1033 | except Exception as e: | CODE |
| MEDIUM | scripts/cleanup_config_skip_tests.py | 166 | print(f"Error: Config directory not found: {config_dir}", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/cleanup_config_skip_tests.py | 184 | print(f"Error parsing {config_path}: {e}", file=sys.stderr) | CODE |
| LOW⚡ | scripts/cleanup_config_skip_tests.py | 185 | except Exception as e: | CODE |
| MEDIUM⚡ | scripts/cleanup_config_skip_tests.py | 186 | print(f"Error processing {config_path}: {e}", file=sys.stderr) | CODE |
| LOW | scripts/run-clangd-tidy.py | 332 | except Exception: | STRING |
| LOW | scripts/clang-tidy-diff.py | 79 | except Exception as e: | STRING |
| LOW | scripts/asset-upload-gha.py | 74 | except Exception as e: | CODE |
| MEDIUM | scripts/format_test_benchmark.py | 64 | print("Error: -i cannot be used with stdin", file=sys.stderr) | CODE |
| MEDIUM | scripts/format_test_benchmark.py | 73 | print(f"Error: {file_path} is not a file", file=sys.stderr) | CODE |
| MEDIUM | scripts/format_test_benchmark.py | 102 | print("Error: -f/--full-path can only be used with stdin (-)", file=sys.stderr) | CODE |
| MEDIUM | scripts/format_test_benchmark.py | 105 | print("Error: -f/--full-path cannot be used with multiple files", file=sys.stderr) | CODE |
| LOW | scripts/ci/run_tests.py | 2168 | except Exception as exc: | CODE |
| LOW | scripts/ci/run_tests.py | 2219 | except Exception as exc: | CODE |
| LOW | scripts/ci/check_staged_extensions.py | 220 | except Exception as error: | CODE |
| LOW | scripts/ci/check_staged_extensions.py | 236 | except Exception as error: | CODE |
| LOW | scripts/lldb/pointer_print/pointer_print.py | 147 | except Exception: | CODE |
| LOW | scripts/lldb/pointer_print/pointer_print.py | 216 | except Exception: | CODE |
| LOW | scripts/parser/generate_transformer_trampoline.py | 237 | except Exception as e: | CODE |
| LOW | scripts/parser/generate_transformer_trampoline.py | 439 | except Exception as e: | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 22 | print("Error: PyYAML is required. Install with: pip install pyyaml", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 26 | print(f"Error: {types_file} not found.", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 33 | print(f"Error: {types_file} is malformed (expected a top-level mapping).", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 42 | print(f"Error: matcher_rule_overrides in {types_file} must be a mapping.", file=sys.stderr) | CODE |
| MEDIUM | scripts/parser/grammar_types.py | 66 | print(f"Error: {types_file} contains inconsistent rule metadata:", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 140 | print(f"Error: {types_file} contains duplicate rule listings:", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 155 | print(f"Error: additional_transform_result_types in {types_file} must be a list of strings.", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 166 | print(f"Error: matcher_rule_overrides in {types_file} must be a mapping.", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 177 | print(f"Error: {key} in {types_file} must be a list.", file=sys.stderr) | CODE |
| MEDIUM⚡ | scripts/parser/grammar_types.py | 185 | print(f"Error: {key} in {types_file} contains unknown grammar rules:", file=sys.stderr) | CODE |
| MEDIUM | scripts/parser/inline_grammar.py | 312 | print(f"Error: rule '{rule_name}' references undefined rule '{ref}'") | CODE |
| LOW | scripts/parser/inline_grammar.py | 360 | except Exception as e: | CODE |
| LOW | scripts/parser/inline_grammar.py | 385 | except Exception as e: | CODE |
| MEDIUM | scripts/parser/transformer_trampoline_config.py | 26 | print(f"Error: {config_file} contains invalid trampoline transformer metadata:", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/shell/tests/test_shell_rendering.py | 77 | .statement("select 'val || other_val' c;") | CODE |
| HIGH⚡ | tools/shell/tests/test_large_value_rendering.py | 60 | "value": {"type": {"id": "BLOB", "type_info": null}, "is_null": false, "value": "10"} | CODE |
| HIGH⚡ | tools/shell/tests/test_large_value_rendering.py | 63 | "from_table": {"type": "EMPTY", "alias": "", "sample": null, "query_location": 18446744073709551615}, | CODE |
| HIGH⚡ | tools/shell/tests/test_large_value_rendering.py | 64 | "where_clause": null, | CODE |
| HIGH⚡ | tools/shell/tests/test_large_value_rendering.py | 68 | "having": null, | CODE |
| HIGH⚡ | tools/shell/tests/test_large_value_rendering.py | 69 | "sample": null, | CODE |
| HIGH⚡ | tools/shell/tests/test_rendering_mode_regression.py | 1306 | expected_results[all_types_source]["json"] = '''[{"bool":false,"tinyint":-128,"smallint":-32768,"int":-2147483648,"bigin | STRING |
| HIGH⚡ | tools/shell/tests/test_rendering_mode_regression.py | 1307 | {"bool":true,"tinyint":127,"smallint":32767,"int":2147483647,"bigint":9223372036854775807,"hugeint":"1701411834604692317 | STRING |
| HIGH⚡ | tools/shell/tests/test_rendering_mode_regression.py | 1308 | {"bool":null,"tinyint":null,"smallint":null,"int":null,"bigint":null,"hugeint":null,"uhugeint":null,"utinyint":null,"usm | STRING |
| HIGH⚡ | tools/shell/tests/test_rendering_mode_regression.py | 1311 | expected_results[all_types_source]["jsonlines"] = '''{"bool":false,"tinyint":-128,"smallint":-32768,"int":-2147483648,"b | STRING |
| HIGH⚡ | tools/shell/tests/test_rendering_mode_regression.py | 1312 | {"bool":true,"tinyint":127,"smallint":32767,"int":2147483647,"bigint":9223372036854775807,"hugeint":"1701411834604692317 | STRING |
| HIGH⚡ | tools/shell/tests/test_rendering_mode_regression.py | 1313 | {"bool":null,"tinyint":null,"smallint":null,"int":null,"bigint":null,"hugeint":null,"uhugeint":null,"utinyint":null,"usm | STRING |
| HIGH | scripts/generate_util.py | 650 | # Non-nullable: const accessor returns const ParsedExpression& directly (assume non-null) | STRING |
| HIGH | scripts/ci/test_run_tests.py | 2344 | if mkdir "{state_dir}/slot-1" 2>/dev/null; then | CODE |
| HIGH | scripts/ci/test_run_tests.py | 2346 | elif mkdir "{state_dir}/slot-2" 2>/dev/null; then | CODE |
| HIGH | scripts/parser/generate_transformer_trampoline.py | 1031 | lines.append("\tauto has_transform_process = child_rule && child_rule->transform_process;") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/shell/tests/test_connect_hops.py | 38 | CODE | |
| LOW | tools/shell/tests/test_rendering_mode_regression.py | 12 | CODE | |
| LOW | extension/tpch/dbgen/generate_text_checkpoints.py | 131 | CODE | |
| LOW | extension/icu/scripts/generate_tz_data.py | 67 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 150 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 200 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 261 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 1261 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 1527 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 1811 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 210 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 411 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 422 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 438 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 509 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 527 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 755 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 1017 | CODE | |
| LOW | extension/icu/scripts/generate_collation_data.py | 1149 | CODE | |
| LOW | test/bwc/runner.py | 181 | CODE | |
| LOW | test/bwc/runner.py | 283 | CODE | |
| LOW | test/bwc/export_cache.py | 65 | CODE | |
| LOW | test/bwc/utils/test_files_parser.py | 208 | CODE | |
| LOW | test/bwc/utils/test_files_parser.py | 420 | CODE | |
| LOW | test/bwc/utils/duckdb_cli.py | 143 | CODE | |
| LOW | test/bwc/utils/duckdb_installer.py | 85 | CODE | |
| LOW | test/io_metrics/run_io_metrics_test.py | 200 | CODE | |
| LOW | scripts/amalgamation.py | 37 | CODE | |
| LOW | scripts/sync_out_of_tree_extensions.py | 44 | CODE | |
| LOW | scripts/sync_out_of_tree_extensions.py | 87 | CODE | |
| LOW | scripts/sync_out_of_tree_extensions.py | 369 | CODE | |
| LOW | scripts/generate_extensions_function.py | 111 | CODE | |
| LOW | scripts/test_peg_parser.py | 38 | CODE | |
| LOW | scripts/test_peg_parser.py | 110 | CODE | |
| LOW | scripts/generate_util.py | 165 | CODE | |
| LOW | scripts/generate_util.py | 803 | CODE | |
| LOW | scripts/package_build.py | 240 | CODE | |
| LOW | scripts/package_build.py | 487 | CODE | |
| LOW | scripts/run-clang-tidy.py | 187 | CODE | |
| LOW | scripts/create_patch.py | 73 | CODE | |
| LOW | scripts/create_patch.py | 93 | CODE | |
| LOW | scripts/test_benchmark_sql_runner.py | 42 | CODE | |
| LOW | scripts/generate_serialization.py | 836 | CODE | |
| LOW | scripts/generate_serialization.py | 507 | CODE | |
| LOW | scripts/test_zero_initialize.py | 79 | CODE | |
| LOW | scripts/cleanup_config_skip_tests.py | 27 | CODE | |
| LOW | scripts/test_serialization_bwc.py | 26 | CODE | |
| LOW | scripts/test_serialization_bwc.py | 166 | CODE | |
| LOW | scripts/ccache_workflow_summary.py | 141 | CODE | |
| LOW | scripts/clang-tidy-diff.py | 52 | CODE | |
| LOW | scripts/generate_functions.py | 38 | CODE | |
| LOW | scripts/generate_functions.py | 123 | CODE | |
| LOW | scripts/ci/run_tests.py | 295 | CODE | |
| LOW | scripts/ci/run_tests.py | 655 | CODE | |
| LOW | scripts/ci/run_tests.py | 773 | CODE | |
| LOW | scripts/ci/run_tests.py | 848 | CODE | |
| LOW | scripts/ci/run_tests.py | 966 | CODE | |
| LOW | scripts/ci/run_tests.py | 1014 | CODE | |
| LOW | scripts/ci/run_tests.py | 1599 | CODE | |
| LOW | scripts/ci/run_tests.py | 1768 | CODE | |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/shell/tests/test_large_value_rendering.py | 11 | long_string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et do | CODE |
| LOW | tools/shell/tests/test_large_value_rendering.py | 11 | long_string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et do | CODE |
| LOW⚡ | test/api/capi/v1/test_capi_profiling.cpp | 241 | auto dummy_value = duckdb_create_bool(true); | CODE |
| LOW⚡ | test/api/capi/v1/test_capi_profiling.cpp | 244 | count = duckdb_get_map_size(dummy_value); | CODE |
| LOW⚡ | test/api/capi/v1/test_capi_profiling.cpp | 253 | key = duckdb_get_map_key(dummy_value, i); | CODE |
| LOW⚡ | test/api/capi/v1/test_capi_profiling.cpp | 260 | value = duckdb_get_map_value(dummy_value, i); | CODE |
| LOW⚡ | test/api/capi/v1/test_capi_profiling.cpp | 265 | duckdb_destroy_value(&dummy_value); | CODE |
| LOW | third_party/jemalloc/src/prof_recent.c | 85 | * "placeholder"; the real recording of the allocation requires a lock | COMMENT |
| LOW | src/include/duckdb/function/scalar/string_functions.hpp | 362 | static constexpr const char *Example = "regexp_extract('abcde', '[a-z]{3}')\001regexp_extract('abc', '([a-z])(b)', 1)\0 | CODE |
| LOW | src/include/duckdb/common/types.hpp | 203 | // A "template" type functions as a "placeholder" type for function arguments and return types. | COMMENT |
| LOW | src/function/scalar/string/functions.json | 372 | "example": "regexp_extract('John Doe', '([a-z]+) ([a-z]+)', ['first_name', 'last_name'], 'i')", | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 165 | bool dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 166 | return TryCastStringBool(value_ptr, value_size, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 169 | int8_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 170 | return TrySimpleIntegerCast(value_ptr, value_size, dummy_value, false); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 173 | int16_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 174 | return TrySimpleIntegerCast(value_ptr, value_size, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 177 | int32_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 178 | return TrySimpleIntegerCast(value_ptr, value_size, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 181 | int64_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 182 | return TrySimpleIntegerCast(value_ptr, value_size, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 185 | hugeint_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 187 | dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 190 | uint8_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 191 | return TrySimpleIntegerCast(value_ptr, value_size, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 194 | uint16_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 195 | return TrySimpleIntegerCast(value_ptr, value_size, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 198 | uint32_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 199 | return TrySimpleIntegerCast(value_ptr, value_size, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 202 | uint64_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 203 | return TrySimpleIntegerCast(value_ptr, value_size, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 206 | uhugeint_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 208 | dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 213 | double dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 214 | return TryDoubleCast<double>(value_ptr, value_size, dummy_value, true, decimal_separator); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 217 | float dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 218 | return TryDoubleCast<float>(value_ptr, value_size, dummy_value, true, decimal_separator); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 230 | date_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 231 | return Date::TryConvertDate(value_ptr, value_size, pos, dummy_value, special, true) == DateCastResult::SUCCESS; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 234 | timestamp_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 239 | .TryParseTimestamp(value, dummy_value, error_message); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 241 | return Timestamp::TryConvertTimestamp(value_ptr, value_size, dummy_value, false, nullptr, true) == | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 246 | dtime_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 247 | return Time::TryConvertTime(value_ptr, value_size, pos, dummy_value, true); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 255 | int16_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 256 | return TryDecimalStringCast<int16_t, ','>(value_ptr, value_size, dummy_value, width, scale); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 260 | int32_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 261 | return TryDecimalStringCast<int32_t, ','>(value_ptr, value_size, dummy_value, width, scale); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 265 | int64_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 266 | return TryDecimalStringCast<int64_t, ','>(value_ptr, value_size, dummy_value, width, scale); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 270 | hugeint_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 271 | return TryDecimalStringCast<hugeint_t, ','>(value_ptr, value_size, dummy_value, width, scale); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 282 | int16_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 283 | return TryDecimalStringCast(value_ptr, value_size, dummy_value, width, scale); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 287 | int32_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 288 | return TryDecimalStringCast(value_ptr, value_size, dummy_value, width, scale); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 292 | int64_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 293 | return TryDecimalStringCast(value_ptr, value_size, dummy_value, width, scale); | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 297 | hugeint_t dummy_value; | CODE |
| LOW⚡ | …cution/operator/csv_scanner/sniffer/type_detection.cpp | 298 | return TryDecimalStringCast(value_ptr, value_size, dummy_value, width, scale); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/py/test_temp_dir_contract.py | 34 | # Dumps the substituted contract vars so the harness can assert on them from outside. | STRING |
| MEDIUM | third_party/httplib/httplib.hpp | 14563 | // Cross-host/scheme redirect - create new client with robust setup | COMMENT |
| MEDIUM | third_party/httplib/httplib.hpp | 14568 | // New method for robust redirect client creation | COMMENT |
| MEDIUM | third_party/httplib/httplib.hpp | 14630 | // Setup client with robust configuration | COMMENT |
| MEDIUM | third_party/httplib/httplib.hpp | 14638 | // New method for robust client setup (based on basic_manual_redirect.cpp | COMMENT |
| MEDIUM | third_party/re2/re2/prefilter_tree.h | 114 | // These are all the nodes formed by Compile. Essentially, there is | COMMENT |
| LOW | scripts/generate_extensions_function.py | 145 | # Otherwise, just add the character if we're inside braces. | COMMENT |
| MEDIUM | scripts/test_zero_initialize.py | 146 | # generated DB files (otherwise the harness deletes loaded DBs under TEMP_DIR, leaving | COMMENT |
| MEDIUM | api_spec/v1/metadata.yaml | 81 | # Hand rolled types here; leverage primitive to materialize in the spec, but | COMMENT |
| MEDIUM | …nclude/duckdb/parser/parsed_data/create_macro_info.hpp | 29 | //! Essentially we used to only support a single function in the CreateMacroInfo | COMMENT |
| MEDIUM | src/include/duckdb/parser/peg/matcher.hpp | 226 | //! Essentially a std::variant<MatchInput, MatcherResult> | COMMENT |
| MEDIUM | …lude/duckdb/parser/peg/transformer/peg_transformer.hpp | 293 | //! Essentially a std::variant<TransformInput, arena_ptr<TransformResultValue>>. | COMMENT |
| MEDIUM | src/include/duckdb/main/secret/secret_storage.hpp | 191 | //! That gives automatic, crash-robust cleanup (the secrets die with the ClientContext) and full isolation between | COMMENT |
| MEDIUM | src/function/table/direct_file_reader.cpp | 92 | // We utilize projection pushdown to avoid potentially expensive fs operations. | COMMENT |
| MEDIUM | src/execution/physical_plan/plan_asof_join.cpp | 365 | // Check to see if we can leverage partitioning | COMMENT |
| MEDIUM | src/execution/operator/join/physical_iejoin.cpp | 1324 | // We can't leverage any more threads than tasks. | COMMENT |
| MEDIUM | src/main/secret/secret_storage.cpp | 340 | //! when the connection (its ClientContext) goes away - giving automatic, crash-robust cleanup with no cooperation. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/bwc/utils/duckdb_cli.py | 100 | except Exception: | CODE |
| HIGH | test/bwc/utils/duckdb_cli.py | 106 | except Exception: | CODE |
| HIGH | test/bwc/utils/duckdb_cli.py | 118 | except Exception: | CODE |
| HIGH | scripts/test_zero_initialize.py | 133 | except FileNotFoundError as e: | CODE |
| HIGH | scripts/test_compile.py | 27 | except: | CODE |
| HIGH | scripts/generate_plan_storage_version.py | 17 | except: | CODE |
| HIGH | scripts/run-clangd-tidy.py | 158 | except OSError: | CODE |
| HIGH | scripts/ci/retry.py | 103 | except (PermissionError, ProcessLookupError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …es/3. Visualizing Data.xcplaygroundpage/Contents.swift | 31 | ## Step 1: Extracting Data | COMMENT |
| LOW | …es/3. Visualizing Data.xcplaygroundpage/Contents.swift | 120 | ## Step 2: Making Charts | STRING |
| LOW | …ges/2. Getting Started.xcplaygroundpage/Contents.swift | 36 | ## Step 1: Fetching Data | COMMENT |
| LOW | …ges/2. Getting Started.xcplaygroundpage/Contents.swift | 79 | ## Step 2: Rendering Data | COMMENT |
| LOW | extension/json/json_reader.cpp | 1026 | // we need to check if there is data available within our current reader | COMMENT |
| LOW⚡ | extension/icu/icu_extension.cpp | 281 | // Step 1: Strip leading zeros | COMMENT |
| LOW⚡ | extension/icu/icu_extension.cpp | 288 | // Step 2: Parse hours based on whether colon is present | COMMENT |
| LOW | third_party/catch/catch.hpp | 12787 | // No children have started. We need to check if they _can_ | COMMENT |
| LOW | src/function/table/arrow_conversion.cpp | 1409 | //! We need to check if our indexes fit in a uint32_t | COMMENT |
| LOW | src/function/table/arrow_conversion.cpp | 1417 | //! We need to check if our indexes fit in a uint32_t | COMMENT |
| LOW | src/execution/sample/base_reservoir_sample.cpp | 31 | //! first we need to check if the reservoir already has "m" elements | COMMENT |
| LOW⚡ | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 611 | // Step 1: Generate state machines | COMMENT |
| LOW⚡ | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 613 | // Step 2: Analyze all candidates on the first chunk | COMMENT |
| LOW⚡ | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 617 | // Step 3: Loop over candidates and find if they can still produce good results for the remaining chunks | COMMENT |
| LOW | …/operator/csv_scanner/scanner/string_value_scanner.cpp | 890 | // We need to check if we are getting the correct number of columns here. | COMMENT |
| LOW | src/main/database_manager.cpp | 478 | // If we are loading a database type from an extension, then we need to check if that extension is loaded. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …es/3. Visualizing Data.xcplaygroundpage/Contents.swift | 31 | ## Step 1: Extracting Data | COMMENT |
| LOW | …es/3. Visualizing Data.xcplaygroundpage/Contents.swift | 120 | ## Step 2: Making Charts | STRING |
| LOW | …ges/2. Getting Started.xcplaygroundpage/Contents.swift | 36 | ## Step 1: Fetching Data | COMMENT |
| LOW | …ges/2. Getting Started.xcplaygroundpage/Contents.swift | 79 | ## Step 2: Rendering Data | COMMENT |
| LOW⚡ | extension/icu/icu_extension.cpp | 281 | // Step 1: Strip leading zeros | COMMENT |
| LOW⚡ | extension/icu/icu_extension.cpp | 288 | // Step 2: Parse hours based on whether colon is present | COMMENT |
| LOW | .github/workflows/OnPR.yml | 24 | # WARNING: This workflow runs with base-repository privileges. | COMMENT |
| LOW⚡ | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 611 | // Step 1: Generate state machines | COMMENT |
| LOW⚡ | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 613 | // Step 2: Analyze all candidates on the first chunk | COMMENT |
| LOW⚡ | …ion/operator/csv_scanner/sniffer/dialect_detection.cpp | 617 | // Step 3: Loop over candidates and find if they can still produce good results for the remaining chunks | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/shell/tests/test_autocomplete.py | 304 | # Create the files | COMMENT |
| MEDIUM | extension/icu/scripts/generate_collation_tests.py | 87 | "# This file is generated by extension/icu/scripts/generate_collation_tests.py", | CODE |
| MEDIUM | test/bwc/runner.py | 332 | # Create the report database | COMMENT |
| MEDIUM | third_party/mbedtls/mbedtls_wrapper.cpp | 28 | # Create a new key | COMMENT |
| MEDIUM | scripts/regression_test_python.py | 340 | # Create the DataFrame with the specified data and column type as object | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/bwc/utils/test_report.py | 76 | # Check if `self.comparison_results_file_name` exists | COMMENT |
| LOW | test/bwc/utils/duckdb_installer.py | 20 | # Check if the cli already exists | COMMENT |
| LOW | scripts/merge_vcpkg_deps.py | 88 | # Print output | COMMENT |
| LOW | scripts/generate_serialization.py | 977 | # Check if is a templated class | COMMENT |
| LOW | scripts/cleanup_config_skip_tests.py | 44 | # Check if this config inherits from another | COMMENT |
| LOW | scripts/capi_v1_regen.sh | 4 | # Set CAPIGEN_PYTHON to a Python that has capigen installed (make generate-files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/shell/tests/test_read_from_stdin.py | 220 | CODE | |
| MEDIUM | tools/shell/tests/test_read_from_stdin.py | 241 | CODE | |
| MEDIUM | tools/shell/tests/test_read_from_stdin.py | 242 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CONTRIBUTING.md | 133 | Please do not submit pull requests generated by AI (LLMs). | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | extension/json/json_functions/json_contains.cpp | 150 | // TODO: implement json_contains that accepts path argument as well | COMMENT |
| LOW | src/include/duckdb/function/window_function.hpp | 286 | auto HasSerializationCallbacks() const -> bool { return false; } // TODO: implement this | CODE |
| LOW | src/logging/log_manager.cpp | 25 | // TODO: implement ThreadLocalLogger and return it here | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/shell/tests/test_format.py | 66 | CODE | |
| LOW | test/bwc/utils/query_exclusions.py | 60 | CODE | |
| LOW | scripts/regression/test_comparison.py | 417 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | third_party/thrift/thrift/transport/TBufferTransports.h | 481 | // Don't forget to update constrctors, initCommon, and swap if | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/generate_extensions_function.py | 15 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/generate_metrics.py | 126 | def update_source(data: dict, source_path: str) -> None: | CODE |