AI Slop Code RIsk Monitor

dbcli/mycli

Rich MySQL Terminal Client with AutoCompletion, Syntax Highlighting, and Dataframes

36.5 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for dbcli/mycli, a Python project with 11,980 GitHub stars. SynthScan examined 63,054 lines of code across 189 source files, recording 2396 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 36.5 (High 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.

36.5
Adjusted Signal
36.5
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
12.0K
Stars
Python
Language
63.1K
Lines of Code
189
Files
2.4K
Pattern Hits
2026-10-12
Scan Date
0.31
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 75.2/100 · CRITICAL

Can maintainers explain intent, assumptions, and trade-offs? 2092 finding(s).

Hallucinated Dependency & Supply Chain Risk 13.1/100 · LOW

Are imports declared and package/API names verified? 139 finding(s).

Agent Over-Engineering Ratio 80.4/100 · CRITICAL

Are wrappers, guards, and repeated structures necessary? 2187 finding(s).

PR Review Velocity Impact 88.4/100 · CRITICAL

Which changes need focused human review? 2396 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 58MEDIUM 16LOW 2322

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 2396 distinct pattern matches across 15 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.

Hyper-Verbose Identifiers2015 hits · 1681 pts
SeverityFileLineSnippetContext
LOWmycli/cli_runner.py100def expand_dsn_alias_env_vars(CODE
LOWmycli/config.py239def read_and_decrypt_mylogin_cnf(f: BinaryIO) -> BytesIO | None:CODE
LOW⚡mycli/client.py252 def _invalidate_prompt_session(self) -> None:CODE
LOWmycli/client_commands.py64def get_config_property_names(config: Mapping[str, Any]) -> list[str]:CODE
LOWmycli/client_commands.py111 def register_special_commands(self) -> None:CODE
LOWmycli/client_query.py74 def _on_completions_refreshed(self, new_completer: SQLCompleter) -> None:CODE
LOWmycli/app_state.py76def destructive_keywords_from_config(config: ConfigObj) -> list[str]:CODE
LOWmycli/packages/dataframes/completion.py35def complete_polars_transform(command: str) -> list[PolarsCompletion] | None:CODE
LOWmycli/packages/dataframes/transform.py156def _pipeline_operator_indexes(CODE
LOWmycli/packages/completion/completion_refresher.py179 def _invalidate_after_visibility_deadline(self) -> None:CODE
LOWmycli/packages/completion/schema_prefetcher.py170 def _invalidate_after_visibility_deadline(self) -> None:CODE
LOWmycli/packages/completion/sql_completer.py1273 def _register_schema_completions(CODE
LOWmycli/packages/completion/sql_completer.py1313 def quote_collection_if_needed(CODE
LOWmycli/packages/completion/sql_completer.py2047 def populate_scoped_indexed_columns(self, scoped_tbls: list[tuple[str | None, str, str | None]]) -> set[str]:CODE
LOWmycli/packages/completion/completion_engine.py83def _keyword_and_special_suggestions() -> list[Suggestion]:CODE
LOWmycli/packages/completion/completion_engine.py88def _parse_suggestion_statement(text_before_cursor: str) -> sqlparse.sql.Statement:CODE
LOWmycli/packages/completion/completion_engine.py136def _is_single_or_double_quoted(ctx: SuggestContext) -> bool:CODE
LOWmycli/packages/completion/completion_engine.py396def _emit_quoted_enum_value_or_nothing(ctx: SuggestContext) -> list[Suggestion]:CODE
LOW⚡mycli/packages/completion/completion_engine.py444def _word_starts_with_digit_or_dot(ctx: SuggestContext) -> bool:CODE
LOW⚡mycli/packages/completion/completion_engine.py452def _word_inside_single_or_double_quotes(ctx: SuggestContext) -> bool:CODE
LOW⚡mycli/packages/completion/completion_engine.py456def _word_inside_or_starts_with_quote(ctx: SuggestContext) -> bool:CODE
LOW⚡mycli/packages/completion/completion_engine.py460def _word_could_be_enum_value(ctx: SuggestContext) -> bool:CODE
LOWmycli/packages/completion/completion_engine.py484def _token_is_relation_keyword(ctx: SuggestContext) -> bool:CODE
LOWmycli/packages/completion/completion_engine.py492def _token_is_binary_or_comma(ctx: SuggestContext) -> bool:CODE
LOWmycli/packages/completion/completion_engine.py1074def suggest_favorite_query_with_template(text: str, arg: str) -> list[dict[str, Any]]:CODE
LOWmycli/packages/completion/completion_engine.py1122def suggest_based_on_last_token(CODE
LOWmycli/packages/utils/cli_utils.py22def is_valid_connection_scheme(text: str) -> tuple[bool, str | None]:CODE
LOWmycli/packages/utils/interactive_utils.py28def confirm_destructive_query(keywords: list[str], queries: str) -> bool | None:CODE
LOWmycli/packages/utils/batch_utils.py9def statements_from_filehandle(file_h: IO) -> Generator[tuple[str, int], None, None]:CODE
LOWmycli/packages/utils/key_binding_utils.py123def handle_unprettify_binding(STRING
LOWmycli/packages/utils/keyring_utils.py7def _set_password_with_backend(backend: KeyringBackend, service: str, account: str, password: str) -> None:CODE
LOWmycli/packages/utils/sql_utils.py173def extract_table_identifiers(token_stream: Generator[Any, None, None]) -> Generator[tuple[str | None, str, str], None, STRING
LOWmycli/packages/utils/sql_utils.py221def extract_columns_from_select(sql: str) -> list[str]:CODE
LOWmycli/packages/utils/sql_utils.py271def extract_tables_from_complete_statements(sql: str) -> list[tuple[str | None, str, str | None]]:CODE
LOWmycli/packages/utils/sql_utils.py362def query_is_single_table_update(query: str) -> bool:CODE
LOWmycli/packages/utils/sql_utils.py488def classify_sandbox_statement(text: str) -> tuple[str | None, str | None]:CODE
LOWmycli/packages/integrations/boundary/boundary_tunnel.py52def _prompt_for_authentication(terminal_input: IO[str], terminal_output: IO[str], prompt: str) -> str:CODE
LOWmycli/packages/integrations/boundary/boundary_tunnel.py232 def _parse_authentication_command(command: str, name: str) -> list[str]:CODE
LOWmycli/packages/integrations/openssh/ssh_tunnel.py39def _check_local_socket_path_limit(path: str) -> None:CODE
LOWmycli/packages/integrations/vault/vault_credentials.py16def _ensure_vault_user_logged_in(CODE
LOWmycli/packages/prompt_toolkit/style.py141def style_factory_prompt_toolkit(name: str, cli_style: dict[str, str]) -> _MergedStyle:CODE
LOWmycli/packages/prompt_toolkit/toolbar.py22def create_toolbar_tokens_func(CODE
LOWmycli/packages/prompt_toolkit/history.py35def _normalize_frecency_token(token: Token) -> str | None:CODE
LOWmycli/packages/prompt_toolkit/history.py105 def _request_frecency_refresh(self) -> None:CODE
LOWmycli/packages/prompt_toolkit/history.py166 def load_history_with_timestamp(self) -> list[tuple[str, str]]:CODE
LOW⚡mycli/packages/special_commands/io_commands.py105def set_show_warnings_enabled(val: bool) -> None:CODE
LOW⚡mycli/packages/special_commands/io_commands.py215def set_forced_horizontal_output(val: bool) -> None:CODE
LOWmycli/packages/special_commands/io_commands.py403def _reset_one_time_redirects() -> None:CODE
LOWmycli/packages/special_commands/io_commands.py520def parse_favorite_query_args(arg_str: str) -> tuple[list[str], dict[str, str]]:CODE
LOWmycli/packages/special_commands/io_commands.py591def _terminate_favorite_eval_query(query: str) -> str:CODE
LOWmycli/packages/special_commands/io_commands.py614def restore_favorite_query_args(query: str, positional_values: dict[str, str]) -> str:CODE
LOWmycli/packages/special_commands/io_commands.py620def prepare_favorite_query_args(query: str, args: list[str]) -> tuple[str | None, dict[str, str], str | None]:CODE
LOWmycli/packages/special_commands/io_commands.py645def subst_favorite_query_args(query: str, args: list[str]) -> list[str | None]:CODE
LOWmycli/packages/special_commands/io_commands.py1074def flush_pipe_once_if_written(CODE
LOWmycli/packages/special_commands/favorite_queries.py83def analyze_favorite_query_template(query: str) -> tuple[set[str], bool]:CODE
LOWmycli/packages/special_commands/favorite_queries.py128def find_favorite_query_template_keys(query: str) -> set[str]:CODE
LOW⚡mycli/packages/special_commands/source.py93def _registered_special_command(query: str) -> tuple[str, str] | None:CODE
LOW⚡mycli/packages/special_commands/source.py103def _favorite_source_command_is_safe(arg: str) -> bool:CODE
LOW⚡mycli/packages/special_commands/source.py110def _create_source_argument_parser() -> _SourceArgumentParser:CODE
LOWmycli/packages/special_commands/source.py146def source_special_command_is_safe(query: str) -> bool:CODE
1955 more matches not shown…
Empty Error Handlers42 hits · 210 pts
SeverityFileLineSnippetContext
HIGHmycli/client.py259except Exception:CODE
HIGHmycli/client.py263except Exception:CODE
HIGHmycli/client.py268except Exception:CODE
HIGHmycli/client.py273except Exception:CODE
HIGHmycli/client.py278except Exception:CODE
HIGHmycli/client.py283except Exception:CODE
HIGHmycli/client_connection.py35except ImportError:CODE
HIGHmycli/client_connection.py532except pymysql.err.Error:CODE
HIGHmycli/client_connection.py249except (TypeError, ValueError):CODE
HIGHmycli/client_connection.py136except Exception:CODE
HIGHmycli/client_connection.py158except Exception:CODE
HIGHmycli/client_connection.py199except Exception:CODE
HIGHmycli/packages/dataframes/completion.py100except (IndentationError, tokenize.TokenError):CODE
HIGHmycli/packages/dataframes/transform.py278except StopIteration:CODE
HIGHmycli/packages/completion/completion_refresher.py85except Exception:CODE
HIGHmycli/packages/completion/schema_prefetcher.py267except Exception: # pragma: no cover - defensiveCODE
HIGHmycli/packages/completion/schema_prefetcher.py155except Exception: # pragma: no cover - defensiveCODE
HIGHmycli/packages/completion/sql_completer.py2042except KeyError:CODE
HIGHmycli/packages/completion/sql_completer.py2037except KeyError:CODE
HIGHmycli/packages/utils/sql_utils.py290except sqlglot.errors.ParseError:CODE
HIGHmycli/packages/integrations/boundary/boundary_tunnel.py251except ProcessLookupError:CODE
HIGHmycli/packages/integrations/openssh/ssh_tunnel.py180except FileNotFoundError:CODE
HIGHmycli/packages/integrations/fzf/fzf.py68except BrokenPipeError:CODE
HIGHmycli/packages/prompt_toolkit/utils.py22except RuntimeError:CODE
HIGH…cli/packages/special_commands/special_command_utils.py73except pymysql.err.OperationalError:CODE
HIGH…cli/packages/special_commands/special_command_utils.py89except pymysql.err.OperationalError:CODE
HIGH…cli/packages/special_commands/special_command_utils.py113except pymysql.err.OperationalError:CODE
HIGH…cli/packages/special_commands/special_command_utils.py129except pymysql.err.OperationalError:CODE
HIGHmycli/packages/special_commands/io_commands.py1054except ProcessLookupError:CODE
HIGHmycli/packages/special_commands/io_commands.py1148except ValueError:CODE
HIGHmycli/packages/execution/background_runner.py400except OSError:CODE
HIGHmycli/packages/execution/sql_execute.py315except pymysql.err.Error:CODE
HIGHmycli/packages/execution/sql_execute.py713except pymysql.err.Error:CODE
HIGHmycli/main_modes/repl.py259except FileNotFoundError:CODE
HIGHmycli/main_modes/repl.py1173except FileNotFoundError:CODE
HIGHmycli/main_modes/repl.py1189except FileNotFoundError:CODE
HIGHmycli/main_modes/repl.py1209except FileNotFoundError:CODE
HIGHmycli/main_modes/repl.py546except KeyboardInterrupt:CODE
HIGHmycli_test/utils.py279except Exception:CODE
HIGHmycli_test/features/environment.py84except Exception:CODE
HIGHmycli_test/features/environment.py88except FileNotFoundError:CODE
HIGHmycli_test/pytests/test_main.py363except OperationalError:CODE
Unused Imports121 hits · 96 pts
SeverityFileLineSnippetContext
LOWmycli/cli_runner.py1CODE
LOWmycli/cli_runner.py50CODE
LOWmycli/client.py1CODE
LOWmycli/client_commands.py1CODE
LOWmycli/client_connection.py1CODE
LOWmycli/client_query.py1CODE
LOWmycli/app_state.py1CODE
LOWmycli/main.py1CODE
LOWmycli/output.py1CODE
LOWmycli/packages/dataframes/transform.py1CODE
LOWmycli/packages/dataframes/transform.py254CODE
LOWmycli/packages/tabular_output/sql_format.py3CODE
LOWmycli/packages/completion/schema_prefetcher.py10CODE
LOWmycli/packages/completion/schema_prefetcher.py21CODE
LOWmycli/packages/completion/schema_prefetcher.py22CODE
LOWmycli/packages/completion/sql_completer.py1CODE
LOWmycli/packages/utils/cli_utils.py1CODE
LOWmycli/packages/utils/key_binding_utils.py1CODE
LOWmycli/packages/utils/key_binding_utils.py14CODE
LOWmycli/packages/utils/sql_utils.py1CODE
LOWmycli/packages/integrations/boundary/boundary_tunnel.py1CODE
LOWmycli/packages/integrations/openssh/ssh_tunnel.py1CODE
LOW…cli/packages/integrations/kubernetes/kubectl_tunnel.py1CODE
LOWmycli/packages/integrations/vault/vault_credentials.py1CODE
LOWmycli/packages/special_commands/io_commands.py1CODE
LOWmycli/packages/special_commands/delimiter_command.py1CODE
LOWmycli/packages/special_commands/favorite_queries.py1CODE
LOWmycli/packages/special_commands/__init__.py3CODE
LOWmycli/packages/special_commands/__init__.py3CODE
LOWmycli/packages/special_commands/__init__.py3CODE
LOWmycli/packages/special_commands/__init__.py3CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
LOWmycli/packages/special_commands/__init__.py9CODE
61 more matches not shown…
Excessive Try-Catch Wrapping83 hits · 91 pts
SeverityFileLineSnippetContext
MEDIUM⚡mycli/client.py245 print("Error: Unable to read login path file.")CODE
LOW⚡mycli/client.py259 except Exception:CODE
LOW⚡mycli/client.py263 except Exception:CODE
LOW⚡mycli/client.py268 except Exception:CODE
LOW⚡mycli/client.py273 except Exception:CODE
LOW⚡mycli/client.py278 except Exception:CODE
LOW⚡mycli/client.py283 except Exception:CODE
MEDIUMmycli/client.py256def close(self) -> None:CODE
LOWmycli/client_connection.py136 except Exception:CODE
LOWmycli/client_connection.py158 except Exception:CODE
LOWmycli/client_connection.py199 except Exception:CODE
LOWmycli/client_connection.py391 except Exception as e:CODE
LOWmycli/client_connection.py507 except Exception as e: # Connecting to a database could fail.CODE
LOWmycli/main.py416 except Exception as e:CODE
LOW⚡mycli/packages/dataframes/transform.py297 except Exception as exc:CODE
LOW⚡mycli/packages/dataframes/transform.py303 except Exception as exc:CODE
LOW⚡mycli/packages/dataframes/transform.py308 except Exception as exc:CODE
LOW⚡mycli/packages/dataframes/transform.py313 except Exception as exc:CODE
LOW⚡mycli/packages/dataframes/transform.py322 except Exception as exc:CODE
LOWmycli/packages/dataframes/transform.py334 except Exception as exc:CODE
LOWmycli/packages/dataframes/transform.py350 except Exception as exc:CODE
LOWmycli/packages/dataframes/transform.py363 except Exception as exc:CODE
LOWmycli/packages/dataframes/transform.py377 except Exception as exc:CODE
MEDIUMmycli/packages/dataframes/transform.py236def _load_polars() -> Any:CODE
LOWmycli/packages/completion/completion_refresher.py85 except Exception:CODE
LOWmycli/packages/completion/completion_refresher.py153 except Exception:CODE
LOWmycli/packages/completion/completion_refresher.py162 except Exception:CODE
LOWmycli/packages/completion/schema_prefetcher.py130 except Exception as e: # pragma: no cover - defensiveCODE
LOWmycli/packages/completion/schema_prefetcher.py138 except Exception as e:CODE
LOWmycli/packages/completion/schema_prefetcher.py150 except Exception as e:CODE
LOWmycli/packages/completion/schema_prefetcher.py155 except Exception: # pragma: no cover - defensiveCODE
LOWmycli/packages/completion/schema_prefetcher.py267 except Exception: # pragma: no cover - defensiveCODE
LOWmycli/packages/completion/sql_completer.py1174 except Exception:CODE
LOWmycli/packages/utils/key_binding_utils.py109 except Exception:STRING
LOWmycli/packages/utils/key_binding_utils.py131 except Exception:STRING
LOWmycli/packages/utils/sql_utils.py449 except Exception:CODE
LOWmycli/packages/utils/sql_utils.py467 except Exception:CODE
LOWmycli/packages/prompt_toolkit/history.py115 except Exception:CODE
LOWmycli/packages/prompt_toolkit/history.py136 except Exception:CODE
LOWmycli/packages/special_commands/io_commands.py585 except Exception as exc:CODE
LOWmycli/packages/special_commands/io_commands.py1008 except Exception as e:CODE
LOWmycli/packages/special_commands/favorite_queries.py324 except Exception:STRING
LOWmycli/packages/special_commands/favorite_queries.py348 except Exception:STRING
LOWmycli/packages/special_commands/llm.py80 except Exception as e:CODE
LOWmycli/packages/special_commands/llm.py287 except Exception as e:STRING
LOWmycli/packages/special_commands/llm.py362 except Exception:STRING
LOWmycli/packages/special_commands/dsn_aliases.py225 except Exception:STRING
LOWmycli/packages/special_commands/dsn_aliases.py252 except Exception:STRING
LOWmycli/packages/execution/background_runner.py231 except Exception:CODE
LOWmycli/packages/execution/background_runner.py264 except Exception:CODE
LOWmycli/packages/execution/sql_execute.py390 except Exception as e:CODE
LOWmycli/packages/execution/sql_execute.py503 except Exception as e:CODE
LOWmycli/packages/execution/sql_execute.py527 except Exception as e:CODE
LOWmycli/packages/execution/sql_execute.py642 except Exception as e:CODE
LOWmycli/main_modes/repl.py807 except Exception as e:CODE
LOWmycli/main_modes/repl.py1101 except Exception as e2:CODE
LOWmycli/main_modes/repl.py1129 except Exception as e:CODE
LOWmycli/main_modes/repl.py1143 except Exception as e:CODE
LOWmycli/main_modes/execute.py53 except Exception as e:CODE
LOWmycli/main_modes/list_dsn.py19 except Exception as e:CODE
23 more matches not shown…
Cross-Language Confusion11 hits · 75 pts
SeverityFileLineSnippetContext
HIGHmycli_test/features/steps/crud_table.py109 context.cli.sendline("select null;")CODE
HIGHmycli_test/pytests/test_bash_completion.py27 [candidate, '-c', '(( BASH_VERSINFO[0] > 4 || (BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] >= 4) ))'],CODE
HIGHmycli_test/pytests/test_completion_engine.py1541 suggestion = suggest_type("SELECT MAX(col1 || FROM tbl", "SELECT MAX(col1 || ")CODE
HIGH⚡mycli_test/pytests/test_sql_execute.py359 run(executor, """create table ts_null(a timestamp null)""")CODE
HIGH⚡mycli_test/pytests/test_sql_execute.py360 run(executor, """insert into ts_null values(null)""")CODE
HIGH⚡mycli_test/pytests/test_sql_execute.py367 run(executor, """create table dt_null(a datetime null)""")CODE
HIGH⚡mycli_test/pytests/test_sql_execute.py368 run(executor, """insert into dt_null values(null)""")CODE
HIGH⚡mycli_test/pytests/test_sql_execute.py375 run(executor, """create table date_null(a date null)""")CODE
HIGH⚡mycli_test/pytests/test_sql_execute.py376 run(executor, """insert into date_null values(null)""")CODE
HIGH⚡mycli_test/pytests/test_sql_execute.py383 run(executor, """create table time_null(a time null)""")CODE
HIGH⚡mycli_test/pytests/test_sql_execute.py384 run(executor, """insert into time_null values(null)""")CODE
Deep Nesting61 hits · 56 pts
SeverityFileLineSnippetContext
LOWmycli/cli_runner.py127CODE
LOWmycli/config.py22CODE
LOWmycli/client_commands.py69CODE
LOWmycli/client_commands.py291CODE
LOWmycli/client_connection.py55CODE
LOWmycli/client_connection.py394CODE
LOWmycli/client_query.py89CODE
LOWmycli/output.py114CODE
LOWmycli/output.py251CODE
LOWmycli/packages/dataframes/completion.py88CODE
LOWmycli/packages/dataframes/completion.py273CODE
LOWmycli/packages/dataframes/transform.py259CODE
LOWmycli/packages/tabular_output/sql_format.py30CODE
LOWmycli/packages/completion/completion_refresher.py94CODE
LOWmycli/packages/completion/sql_completer.py1358CODE
LOWmycli/packages/completion/sql_completer.py1483CODE
LOWmycli/packages/completion/sql_completer.py2114CODE
LOWmycli/packages/completion/completion_engine.py396CODE
LOWmycli/packages/completion/completion_engine.py710CODE
LOWmycli/packages/completion/completion_engine.py766CODE
LOWmycli/packages/completion/completion_engine.py848CODE
LOWmycli/packages/completion/completion_engine.py1074CODE
LOWmycli/packages/utils/batch_utils.py9CODE
LOWmycli/packages/utils/sql_utils.py128CODE
LOWmycli/packages/utils/sql_utils.py173CODE
LOWmycli/packages/utils/sql_utils.py221CODE
LOWmycli/packages/utils/path_utils.py12CODE
LOWmycli/packages/utils/path_utils.py99CODE
LOWmycli/packages/utils/path_utils.py172CODE
LOWmycli/packages/integrations/openssh/ssh_tunnel.py218CODE
LOWmycli/packages/prompt_toolkit/style.py141CODE
LOWmycli/packages/prompt_toolkit/style.py171CODE
LOWmycli/packages/prompt_toolkit/history.py129CODE
LOWmycli/packages/prompt_toolkit/history.py166CODE
LOWmycli/packages/special_commands/io_commands.py520CODE
LOWmycli/packages/special_commands/io_commands.py738CODE
LOWmycli/packages/special_commands/io_commands.py1060CODE
LOWmycli/packages/special_commands/io_commands.py1074CODE
LOWmycli/packages/special_commands/io_commands.py1125CODE
LOWmycli/packages/special_commands/delimiter_command.py38CODE
LOWmycli/packages/special_commands/favorite_queries.py83CODE
LOWmycli/packages/special_commands/llm.py51CODE
LOWmycli/packages/special_commands/llm.py224CODE
LOWmycli/packages/execution/background_runner.py171CODE
LOWmycli/packages/execution/background_runner.py240CODE
LOWmycli/packages/execution/background_runner.py344CODE
LOWmycli/packages/execution/sql_execute.py131CODE
LOWmycli/packages/execution/sql_execute.py394CODE
LOWmycli/packages/execution/sql_execute.py675CODE
LOWmycli/main_modes/checkup.py84CODE
LOWmycli/main_modes/repl.py520CODE
LOWmycli/main_modes/repl.py670CODE
LOWmycli/main_modes/repl.py876CODE
LOWmycli/main_modes/repl.py1199CODE
LOWmycli/main_modes/repl.py1215CODE
LOWmycli/main_modes/batch.py28CODE
LOWmycli/main_modes/batch.py92CODE
LOWmycli/main_modes/batch.py132CODE
LOWmycli/main_modes/execute.py16CODE
LOWmycli_test/pytests/test_special_io_commands.py745CODE
1 more matches not shown…
Modern Structural Boilerplate32 hits · 35 pts
SeverityFileLineSnippetContext
LOWmycli/config.py14logger = logging.getLogger(__name__)CODE
LOWmycli/packages/redirection/hybrid_redirection.py15logger = logging.getLogger(__name__)CODE
LOWmycli/packages/completion/sql_completer.py1217 def set_dbname(self, dbname: str | None) -> None:CODE
LOWmycli/packages/utils/keyring_utils.py7def _set_password_with_backend(backend: KeyringBackend, service: str, account: str, password: str) -> None:CODE
LOWmycli/packages/utils/keyring_utils.py18def set_keyring_password(service: str, account: str, password: str) -> None:CODE
LOWmycli/packages/integrations/macos/macos_keychain.py13def set_password(service: str, account: str, password: str) -> None:CODE
LOWmycli/packages/prompt_toolkit/style.py12logger = logging.getLogger(__name__)CODE
LOWmycli/packages/prompt_toolkit/history.py16logger = logging.getLogger(__name__)CODE
LOW…cli/packages/special_commands/special_command_utils.py12logger = logging.getLogger(__name__)CODE
LOW⚡mycli/packages/special_commands/io_commands.py77def set_timing_enabled(val: bool) -> None:CODE
LOW⚡mycli/packages/special_commands/io_commands.py82def set_pager_enabled(val: bool) -> None:CODE
LOW⚡mycli/packages/special_commands/io_commands.py91def set_show_favorite_query(val: bool) -> None:CODE
LOW⚡mycli/packages/special_commands/io_commands.py100def set_destructive_keywords(val: list[str]) -> None:CODE
LOW⚡mycli/packages/special_commands/io_commands.py105def set_show_warnings_enabled(val: bool) -> None:CODE
LOW⚡mycli/packages/special_commands/io_commands.py206def set_expanded_output(val: bool) -> None:CODE
LOW⚡mycli/packages/special_commands/io_commands.py215def set_forced_horizontal_output(val: bool) -> None:CODE
LOW⚡mycli/packages/special_commands/io_commands.py224def set_explorer_output(val: bool) -> None:CODE
LOWmycli/packages/special_commands/favorite_queries.py15logger = logging.getLogger(__name__)CODE
LOWmycli/packages/special_commands/favorite_queries.py304 def _set_query(self, config: Any, name: str, query: str) -> None:STRING
LOWmycli/packages/special_commands/dsn_aliases.py11logger = logging.getLogger(__name__)CODE
LOWmycli/packages/special_commands/dsn_aliases.py151 def _set_alias(self, config: Any, alias: str, dsn: str) -> None:STRING
LOWmycli/packages/special_commands/main.py22logger = logging.getLogger(__name__)CODE
LOWmycli/packages/special_commands/db_commands.py20logger = logging.getLogger(__name__)CODE
LOWmycli/packages/execution/background_runner.py28logger = logging.getLogger(__name__)CODE
LOWmycli/packages/execution/sql_execute.py360 def set_background_runner(self, runner: BackgroundRunner | None) -> None:CODE
LOW⚡mycli/main_modes/repl.py194def set_all_external_titles(mycli: 'MyCli') -> None:CODE
LOW⚡mycli/main_modes/repl.py201def set_external_terminal_tab_title(mycli: 'MyCli') -> None:CODE
LOWmycli/main_modes/repl.py219def set_external_terminal_window_title(mycli: 'MyCli') -> None:CODE
LOWmycli/main_modes/repl.py237def set_external_multiplex_window_title(mycli: 'MyCli') -> None:CODE
LOWmycli/main_modes/repl.py263def set_external_multiplex_pane_title(mycli: 'MyCli') -> None:CODE
LOWmycli_test/pytests/test_sql_execute.py632 def set_ciphers(self, cipher_string: str) -> None:CODE
LOWmycli_test/pytests/test_sql_execute.py1022 def set_character_set(self, *args, **kwargs) -> None:CODE
Cross-File Repetition5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHmycli_test/features/steps/crud_database.py0steps for behavioral style tests are defined in this module. each step is defined by the string decorating it. this striSTRING
HIGHmycli_test/features/steps/named_queries.py0steps for behavioral style tests are defined in this module. each step is defined by the string decorating it. this striSTRING
HIGHmycli_test/features/steps/crud_table.py0steps for behavioral style tests are defined in this module. each step is defined by the string decorating it. this striSTRING
HIGHmycli_test/features/steps/basic_commands.py0steps for behavioral style tests are defined in this module. each step is defined by the string decorating it. this striSTRING
HIGHmycli_test/features/steps/specials.py0steps for behavioral style tests are defined in this module. each step is defined by the string decorating it. this striSTRING
AI Structural Patterns7 hits · 6 pts
SeverityFileLineSnippetContext
LOWmycli/client.py69CODE
LOWmycli/client_connection.py55CODE
LOWmycli/packages/completion/sql_completer.py950CODE
LOWmycli/packages/integrations/boundary/boundary_tunnel.py61CODE
LOW…cli/packages/special_commands/special_command_utils.py150CODE
LOWmycli/packages/execution/sql_execute.py199CODE
LOWmycli_test/pytests/test_sql_execute.py22CODE
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMmycli/config.py280 # Create a bytes buffer to hold the plaintext.COMMENT
MEDIUMmycli/packages/completion/completion_refresher.py102 # Create a new sql_execute method to populate the completions.COMMENT
Dead Code3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMmycli_test/pytests/test_sqlcompleter.py906CODE
MEDIUMmycli_test/pytests/test_main_modes_batch.py279CODE
MEDIUMmycli_test/pytests/test_main_modes_batch.py300CODE
Fake / Example Data7 hits · 6 pts
SeverityFileLineSnippetContext
LOW⚡mycli_test/pytests/test_boundary_tunnel.py332 r'"C:\Program Files\Boundary\boundary.exe" authenticate -name "Jane Doe"',CODE
LOW⚡mycli_test/pytests/test_boundary_tunnel.py333 [r'C:\Program Files\Boundary\boundary.exe', 'authenticate', '-name', 'Jane Doe'],CODE
LOWmycli_test/pytests/test_boundary_tunnel.py206 boundary_auth_command='boundary authenticate password -login-name "Jane Doe"',CODE
LOWmycli_test/pytests/test_boundary_tunnel.py224 ['boundary', 'authenticate', 'password', '-login-name', 'Jane Doe'],CODE
LOWmycli_test/pytests/test_main.py865 testdata = "Lorem ipsum dolor sit amet consectetur adipiscing elit sed do".split(" ")CODE
LOWmycli_test/pytests/test_main.py865 testdata = "Lorem ipsum dolor sit amet consectetur adipiscing elit sed do".split(" ")CODE
LOWmycli_test/pytests/test_special_utils.py288 user='user@example.com',CODE
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippetContext
LOWmycli/packages/completion/sql_completer.py2001 # if scoped tables is empty, this is just after a SELECT so weCOMMENT
LOWmycli/packages/completion/completion_engine.py21_ENUM_VALUE_RE = re.compile(COMMENT
LOWmycli/packages/completion/completion_engine.py161COMMENT
LOWmycli/packages/integrations/fzf/fzf.py1"""Inspired byCOMMENT
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWmycli/client_connection.py499 # Check if SQLExecute detected sandbox mode during connectionCOMMENT
LOWmycli_test/pytests/test_completion_refresher.py137 # Set refreshers to 0: we're not testing refresh logic hereCOMMENT
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOWmycli/packages/integrations/fzf/fzf.py75 # just return the first itemCOMMENT