AI Slop Code RIsk Monitor

getredash/redash

Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data.

10.4 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for getredash/redash, a Python project with 28,831 GitHub stars. SynthScan examined 128,659 lines of code across 1064 source files, recording 1147 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 10.4 (Moderate 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.

10.4
Adjusted Signal
10.4
Raw Pattern Score
100%
Time Factor
2026-10-08
Last Push
28.8K
Stars
Python
Language
128.7K
Lines of Code
1.1K
Files
1.1K
Pattern Hits
2026-10-12
Scan Date
0.02
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 31.2/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 5.8/100 · LOW

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

Agent Over-Engineering Ratio 34.8/100 · MEDIUM

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

PR Review Velocity Impact 39.7/100 · MEDIUM

Which changes need focused human review? 1147 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 19MEDIUM 29LOW 1099

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 1147 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 Identifiers789 hits · 863 pts
SeverityFileLineSnippetContext
LOWviz-lib/README.md139function wrapComponentWithSettings(WrappedComponent) {CODE
LOWviz-lib/src/visualizations/visualizationsSettings.tsx60export function updateVisualizationsSettings(options: any) {CODE
LOWviz-lib/src/visualizations/registeredVisualizations.ts56function validateVisualizationConfig(config: any) {CODE
LOWviz-lib/src/visualizations/chart/plotly/updateData.ts23function defaultFormatSeriesTextForPie(item: any) {CODE
LOW…ib/src/visualizations/chart/plotly/customChartUtils.ts22export function createCustomChartRenderer(code: any, logErrorsToConsole = false) {CODE
LOW…ib/src/visualizations/chart/Editor/GeneralSettings.tsx11function getAvailableColumnMappingTypes(options: any) {CODE
LOW…ib/src/visualizations/chart/Editor/GeneralSettings.tsx65function mappedColumnsToColumnMappings(mappedColumns: any) {CODE
LOW…ib/src/visualizations/chart/Editor/GeneralSettings.tsx89 function handleGlobalSeriesTypeChange(globalSeriesType: any) {CODE
LOW…ib/src/visualizations/chart/Editor/GeneralSettings.tsx101 function handleColumnMappingChange(column: any, type: any) {CODE
LOW…ib/src/visualizations/chart/Editor/GeneralSettings.tsx109 function handleLegendPlacementChange(value: any) {CODE
LOWviz-lib/src/visualizations/shared/columnUtils.ts28export function getColumnContentAlignment(type: any) {CODE
LOWviz-lib/src/visualizations/map/Editor/StyleSettings.tsx64function getCustomIconOptionFields(iconShape: any) {CODE
LOWviz-lib/src/visualizations/sunburst/initSunburst.ts29function buildNodesFromHierarchyData(data: any) {CODE
LOWviz-lib/src/lib/referenceCountingCache.ts3export default function createReferenceCountingCache({ cleanupDelay = 2000 } = {}) {CODE
LOWviz-lib/src/lib/chooseTextColorForBackground.ts4export default function chooseTextColorForBackground(backgroundColor: any, textColors = ["#ffffff", "#333333"]) {CODE
LOWtests/test_monitor.py7def test_rq_job_ids_uses_rq_redis_connection():CODE
LOW⚡tests/test_utils.py43 def test_uses_current_request_port(self):CODE
LOW⚡tests/test_utils.py49 def test_uses_current_request_schema(self):CODE
LOW⚡tests/test_utils.py55 def test_skips_port_for_default_ports(self):CODE
LOWtests/test_utils.py75 def test_ignores_non_prefixed_values(self):CODE
LOWtests/test_utils.py78 def test_takes_prefixed_values(self):CODE
LOWtests/test_utils.py141def test_get_column_types_from_dataframe(mock_dataframe):CODE
LOW⚡tests/test_handlers.py15 def test_returns_content_when_authenticated(self):CODE
LOW⚡tests/test_handlers.py22 def test_responds_with_success_for_signed_in_user(self):CODE
LOW⚡tests/test_handlers.py30 def test_redirects_for_nonsigned_in_user(self):CODE
LOW⚡tests/test_handlers.py34 def test_redirects_for_invalid_session_identifier(self):CODE
LOW⚡tests/test_handlers.py60 def test_redirect_to_login_when_not_authenticated(self):CODE
LOW⚡tests/test_handlers.py65 def test_returns_content_when_authenticated(self):CODE
LOW⚡tests/test_handlers.py72 def test_returns_data_for_super_admin(self):CODE
LOW⚡tests/test_handlers.py82 def test_redirects_non_authenticated_user(self):CODE
LOW⚡tests/test_handlers.py203 def test_submit_empty_password(self):CODE
LOW⚡tests/test_handlers.py211 def test_user_already_loggedin(self):CODE
LOW⚡tests/test_handlers.py217 def test_correct_user_and_password_when_password_login_disabled(self):CODE
LOWtests/test_handlers.py102 def test_get_login_form_remote_auth(self):CODE
LOWtests/test_handlers.py118 def test_submit_non_existing_user(self):CODE
LOWtests/test_handlers.py124 def test_submit_correct_user_and_password(self):CODE
LOWtests/test_handlers.py136 def test_submit_case_insensitive_user_and_password(self):CODE
LOWtests/test_handlers.py151 def test_submit_correct_user_and_password_and_remember_me(self):CODE
LOWtests/test_handlers.py166 def test_submit_correct_user_and_password_with_next(self):CODE
LOWtests/test_handlers.py182 def test_submit_incorrect_user(self):CODE
LOWtests/test_handlers.py188 def test_submit_incorrect_password(self):CODE
LOWtests/test_handlers.py233 def test_logout_when_not_loggedin(self):CODE
LOWtests/test_handlers.py239 def test_logout_when_loggedin(self):CODE
LOWtests/test_configuration.py27 def test_raises_exception_when_no_schema_set(self):CODE
LOWtests/test_configuration.py31 def test_returns_dict_with_masked_secrets(self):CODE
LOW⚡tests/test_configuration.py45 def test_rejects_invalid_new_config(self):CODE
LOW⚡tests/test_configuration.py48 def test_fails_if_no_schema_set(self):CODE
LOW⚡tests/test_configuration.py52 def test_ignores_secret_placehodler(self):CODE
LOW⚡tests/test_configuration.py61 def test_doesnt_leave_leftovers(self):CODE
LOW⚡tests/test_configuration.py71 def test_works_for_schema_without_secret(self):CODE
LOWtests/test_migrations.py7def test_only_single_head_revision_in_migrations():CODE
LOWtests/factories.py248 def create_alert_subscription(self, **kwargs):CODE
LOWtests/factories.py307 def create_visualization_with_params(self, **kwargs):CODE
LOW⚡tests/test_authentication.py208 def test_no_domain_allowed_for_org(self):CODE
LOW⚡tests/test_authentication.py212 def test_domain_not_in_org_domains_list(self):CODE
LOW⚡tests/test_authentication.py217 def test_domain_in_org_domains_list(self):CODE
LOW⚡tests/test_authentication.py228 def test_org_in_public_mode_accepts_any_domain(self):CODE
LOW⚡tests/test_authentication.py234 def test_user_not_in_domain_but_account_exists(self):CODE
LOW⚡tests/test_authentication.py242 def test_when_multi_org_enabled_and_org_exists(self):CODE
LOW⚡tests/test_authentication.py246 def test_when_multi_org_enabled_and_org_doesnt_exist(self):CODE
729 more matches not shown…
Excessive Try-Catch Wrapping98 hits · 118 pts
SeverityFileLineSnippetContext
LOW⚡tests/query_runner/test_google_spreadsheets.py189 except Exception:CODE
MEDIUMtests/query_runner/test_google_spreadsheets.py183def test_connect_succuess(self, mock_client, _mock_auth_default):CODE
LOWtests/handlers/test_query_results.py48 except Exception as e:CODE
LOWredash/metrics/database.py41 except Exception:CODE
LOWredash/tasks/alerts.py16 except Exception:CODE
LOWredash/tasks/databricks.py17 except Exception:CODE
LOW⚡redash/tasks/databricks.py34 except Exception:CODE
LOW⚡redash/tasks/databricks.py44 except Exception:CODE
LOW⚡redash/tasks/databricks.py53 except Exception:CODE
MEDIUMredash/tasks/databricks.py10def get_databricks_databases(data_source_id, redis_key):CODE
MEDIUMredash/tasks/databricks.py22def get_database_tables_with_columns(data_source_id, database_name, redis_key):CODE
MEDIUMredash/tasks/databricks.py39def get_databricks_tables(data_source_id, database_name):CODE
MEDIUMredash/tasks/databricks.py49def get_databricks_table_columns(data_source_id, database_name, table_name):CODE
LOWredash/tasks/general.py29 except Exception:CODE
LOWredash/tasks/general.py60 except Exception:CODE
LOWredash/tasks/general.py69 except Exception as e:CODE
LOWredash/tasks/general.py87 except Exception as e:CODE
MEDIUMredash/tasks/general.py55def send_mail(to, subject, html, text):CODE
MEDIUMredash/tasks/general.py65def test_connection(data_source_id):CODE
MEDIUMredash/tasks/general.py76def get_schema(data_source_id, refresh):CODE
LOWredash/tasks/queries/execution.py209 except Exception as e:CODE
LOWredash/tasks/queries/maintenance.py103 except Exception as e:CODE
LOWredash/tasks/queries/maintenance.py183 except Exception:CODE
LOWredash/destinations/microsoft_teams_webhook.py110 except Exception:CODE
LOWredash/destinations/hangoutschat.py92 except Exception:CODE
MEDIUMredash/destinations/hangoutschat.py40def notify(self, alert, query, user, new_state, app, host, metadata, options):CODE
LOWredash/destinations/asana.py60 except Exception as e:STRING
LOWredash/destinations/webhook.py52 except Exception:CODE
MEDIUMredash/destinations/webhook.py29def notify(self, alert, query, user, new_state, app, host, metadata, options):CODE
LOWredash/destinations/discord.py66 except Exception as e:CODE
LOWredash/destinations/mattermost.py52 except Exception:CODE
LOWredash/destinations/chatwork.py60 except Exception:CODE
MEDIUMredash/destinations/chatwork.py32def notify(self, alert, query, user, new_state, app, host, metadata, options):CODE
LOWredash/destinations/email.py53 except Exception:CODE
LOWredash/destinations/webex.py226 except Exception as e:CODE
MEDIUMredash/destinations/webex.py215def post_message(self, payload, headers):CODE
LOWredash/destinations/pagerduty.py78 except Exception:CODE
LOWredash/destinations/slack.py57 except Exception:CODE
LOWredash/destinations/datadog.py89 except Exception as e:CODE
LOWredash/models/__init__.py221 except Exception:CODE
LOWredash/models/__init__.py635 except Exception as e:CODE
LOWredash/models/parameterized_query.py184 except Exception:CODE
LOWredash/cli/users.py115 except Exception as e:CODE
LOWredash/cli/users.py187 except Exception as e:CODE
LOWredash/cli/organization.py43 except Exception as e:CODE
LOWredash/cli/groups.py41 except Exception as e:CODE
LOWredash/cli/groups.py74 except Exception as e:CODE
LOWredash/cli/data_sources.py78 except Exception as e:CODE
MEDIUMredash/cli/data_sources.py159 print("Error: invalid configuration.")CODE
LOWredash/query_runner/d1.py116 except Exception as e:CODE
LOWredash/query_runner/d1.py140 except Exception as e:CODE
MEDIUMredash/query_runner/d1.py91def run_query(self, query, user):CODE
LOWredash/query_runner/corporate_memory.py163 except Exception as error:CODE
LOWredash/query_runner/corporate_memory.py174 except Exception:CODE
LOWredash/query_runner/influx_db_v2.py139 except Exception:CODE
LOWredash/query_runner/influx_db_v2.py206 except Exception as ex:CODE
LOWredash/query_runner/tinybird.py79 except Exception:CODE
LOWredash/query_runner/clickhouse.py227 except Exception as e:STRING
LOWredash/query_runner/yandex_disk.py146 except Exception as e:CODE
LOWredash/query_runner/treasuredata.py89 except Exception:CODE
38 more matches not shown…
Unused Imports72 hits · 72 pts
SeverityFileLineSnippetContext
LOWredash/__init__.py13CODE
LOWredash/settings/__init__.py3CODE
LOWredash/settings/__init__.py8CODE
LOWredash/settings/__init__.py17CODE
LOWredash/settings/__init__.py17CODE
LOWredash/tasks/__init__.py4CODE
LOWredash/tasks/__init__.py5CODE
LOWredash/tasks/__init__.py6CODE
LOWredash/tasks/__init__.py6CODE
LOWredash/tasks/__init__.py6CODE
LOWredash/tasks/__init__.py6CODE
LOWredash/tasks/__init__.py12CODE
LOWredash/tasks/__init__.py12CODE
LOWredash/tasks/__init__.py12CODE
LOWredash/tasks/__init__.py12CODE
LOWredash/tasks/__init__.py12CODE
LOWredash/tasks/__init__.py12CODE
LOWredash/tasks/__init__.py12CODE
LOWredash/tasks/__init__.py21CODE
LOWredash/tasks/__init__.py21CODE
LOWredash/tasks/__init__.py21CODE
LOWredash/tasks/__init__.py26CODE
LOWredash/tasks/__init__.py26CODE
LOWredash/tasks/__init__.py26CODE
LOWredash/tasks/queries/__init__.py1CODE
LOWredash/tasks/queries/__init__.py1CODE
LOWredash/tasks/queries/__init__.py2CODE
LOWredash/tasks/queries/__init__.py2CODE
LOWredash/tasks/queries/__init__.py2CODE
LOWredash/tasks/queries/__init__.py2CODE
LOWredash/tasks/queries/__init__.py2CODE
LOWredash/utils/__init__.py13CODE
LOWredash/utils/__init__.py18CODE
LOWredash/utils/__init__.py25CODE
LOWredash/utils/requests_session.py11CODE
LOWredash/models/__init__.py13CODE
LOWredash/models/__init__.py20CODE
LOWredash/models/__init__.py31CODE
LOWredash/models/__init__.py41CODE
LOWredash/models/__init__.py49CODE
LOWredash/models/__init__.py57CODE
LOWredash/models/__init__.py57CODE
LOWredash/models/__init__.py57CODE
LOWredash/models/__init__.py64CODE
LOWredash/models/__init__.py64CODE
LOWredash/models/__init__.py64CODE
LOWredash/models/__init__.py73CODE
LOWredash/cli/__init__.py86CODE
LOWredash/query_runner/corporate_memory.py17CODE
LOWredash/query_runner/corporate_memory.py17CODE
LOWredash/query_runner/yandex_disk.py13CODE
LOWredash/query_runner/sparql_endpoint.py17CODE
LOWredash/query_runner/__init__.py9CODE
LOWredash/query_runner/excel.py15CODE
LOWredash/query_runner/excel.py17CODE
LOWredash/query_runner/db2.py68CODE
LOWredash/query_runner/cloudwatch_insights.py11CODE
LOWredash/query_runner/couchbase.py16CODE
LOWredash/query_runner/arango.py57CODE
LOWredash/serializers/__init__.py10CODE
12 more matches not shown…
Modern Structural Boilerplate61 hits · 61 pts
SeverityFileLineSnippetContext
LOWredash/tasks/schedule.py21logger = logging.getLogger(__name__)CODE
LOWredash/destinations/__init__.py3logger = logging.getLogger(__name__)CODE
LOWredash/destinations/__init__.py5__all__ = ["BaseDestination", "register", "get_destination", "import_destinations"]CODE
LOWredash/utils/pandas.py13logger = logging.getLogger(__name__)CODE
LOWredash/models/users.py22logger = logging.getLogger(__name__)CODE
LOWredash/models/__init__.py85logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/elasticsearch2.py15logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/elasticsearch.py27logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/corporate_memory.py27logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/influx_db_v2.py24logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/tinybird.py8logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/pg.py24logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/clickhouse.py19logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/trino.py19logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/yandex_disk.py29logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/mssql.py12logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/big_query.py22logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/axibase_tsd.py18logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/impala_ds.py14logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/treasuredata.py13logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/salesforce.py16logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/sparql_endpoint.py23logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/graphite.py14logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/mongodb.py18logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/memsql_ds.py14logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/__init__.py20logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/__init__.py32__all__ = [CODE
LOWredash/query_runner/excel.py11logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/sqlite.py10logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/mssql_odbc.py10logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/query_results.py21logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/db2.py15logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/google_search_console.py16logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/csv.py12logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/python.py43logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/google_spreadsheets.py21logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/drill.py17logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/google_analytics4.py18logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/presto.py15logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/pinot.py23logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/databricks.py38logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/yandex_metrica.py17logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/oracle.py37logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/vertica.py14logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/nz.py15logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/phoenix.py13logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/duckdb.py15logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/athena.py16logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/hive_ds.py16logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/kylin.py19logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/ignite.py20logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/cass.py9logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/google_analytics.py17logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/influx_db.py11logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/couchbase.py14logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/arango.py11logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/uptycs.py10logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/mysql.py25logger = logging.getLogger(__name__)CODE
LOWredash/query_runner/e6data.py23logger = logging.getLogger(__name__)CODE
LOWredash/authentication/account.py10logger = logging.getLogger(__name__)CODE
1 more matches not shown…
Cross-Language Confusion10 hits · 56 pts
SeverityFileLineSnippetContext
HIGHtests/test_utils.py162 assert mock_dataframe.equals(pd.DataFrame(result["rows"]))CODE
HIGHtests/__init__.py53 self.app_ctx.push()CODE
HIGH⚡tests/query_runner/test_yandex_disk.py227 assert test_df.equals(EXTENSIONS_READERS["xlsx"](output))STRING
HIGH⚡tests/query_runner/test_yandex_disk.py236 assert test_df.equals(EXTENSIONS_READERS["csv"](output))STRING
HIGH⚡tests/query_runner/test_yandex_disk.py245 assert test_df.equals(EXTENSIONS_READERS["tsv"](output))STRING
HIGH⚡redash/authentication/remote_user_auth.py30 # Some Apache auth configurations will, stupidly, set (null) instead of aCOMMENT
HIGH⚡redash/authentication/remote_user_auth.py32 # '(null)' should never really be a value that anyone wants to legitimatelyCOMMENT
HIGH⚡redash/authentication/remote_user_auth.py34 if email == "(null)":CODE
HIGHredash/handlers/queries.py224 :>json string retrieved_at: Time when query results were last retrieved, in ISO format (may be null)STRING
HIGHredash/handlers/queries.py225 :>json number runtime: Runtime of last query execution, in seconds (may be null)STRING
Deep Nesting55 hits · 54 pts
SeverityFileLineSnippetContext
LOWtests/query_runner/test_json_ds.py11CODE
LOWtests/handlers/test_query_results.py330CODE
LOWtests/handlers/test_query_results.py347CODE
LOWredash/tasks/worker.py116CODE
LOWredash/tasks/queries/execution.py32CODE
LOWredash/tasks/queries/execution.py150CODE
LOWredash/tasks/queries/maintenance.py33CODE
LOWredash/tasks/queries/maintenance.py193CODE
LOWredash/utils/query_order.py172CODE
LOWredash/utils/query_order.py199CODE
LOWredash/utils/pandas.py21CODE
LOWredash/utils/__init__.py83CODE
LOWredash/models/__init__.py593CODE
LOWredash/models/__init__.py649CODE
LOWredash/models/__init__.py1015CODE
LOWredash/models/parameterized_query.py54CODE
LOWredash/query_runner/elasticsearch2.py75CODE
LOWredash/query_runner/elasticsearch2.py113CODE
LOWredash/query_runner/elasticsearch2.py78CODE
LOWredash/query_runner/elasticsearch2.py143CODE
LOWredash/query_runner/elasticsearch.py123CODE
LOWredash/query_runner/elasticsearch.py180CODE
LOWredash/query_runner/elasticsearch.py356CODE
LOWredash/query_runner/elasticsearch.py206CODE
LOWredash/query_runner/pg.py58CODE
LOWredash/query_runner/clickhouse.py149CODE
LOWredash/query_runner/databend.py54CODE
LOWredash/query_runner/big_query.py46CODE
LOWredash/query_runner/treasuredata.py75CODE
LOWredash/query_runner/mongodb.py85CODE
LOWredash/query_runner/mongodb.py293CODE
LOWredash/query_runner/excel.py45CODE
LOWredash/query_runner/query_results.py60CODE
LOWredash/query_runner/query_results.py173CODE
LOWredash/query_runner/google_search_console.py38CODE
LOWredash/query_runner/google_search_console.py78CODE
LOWredash/query_runner/csv.py48CODE
LOWredash/query_runner/google_spreadsheets.py60CODE
LOWredash/query_runner/google_analytics4.py41CODE
LOWredash/query_runner/json_ds.py101CODE
LOWredash/query_runner/exasol.py14CODE
LOWredash/query_runner/duckdb.py88CODE
LOWredash/query_runner/athena.py190CODE
LOWredash/query_runner/jql.py35CODE
LOWredash/query_runner/google_analytics.py39CODE
LOWredash/query_runner/google_analytics.py128CODE
LOWredash/query_runner/rockset.py13CODE
LOWredash/query_runner/influx_db.py33CODE
LOWredash/query_runner/couchbase.py40CODE
LOWredash/serializers/__init__.py209CODE
LOWredash/serializers/__init__.py77CODE
LOWredash/serializers/__init__.py268CODE
LOWredash/authentication/__init__.py109CODE
LOWredash/handlers/query_results.py297CODE
LOWredash/handlers/authentication.py31CODE
Empty Error Handlers9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHredash/utils/query_order.py195except AttributeError:CODE
HIGHredash/query_runner/corporate_memory.py174except Exception:CODE
HIGHredash/query_runner/sparql_endpoint.py149except Exception:CODE
HIGHredash/query_runner/__init__.py497except (ValueError, OverflowError):CODE
HIGHredash/query_runner/__init__.py503except (ValueError, OverflowError):CODE
HIGHredash/query_runner/__init__.py512except (ValueError, OverflowError):CODE
HIGHredash/query_runner/excel.py56except Exception:CODE
HIGHredash/query_runner/prometheus.py65except ValueError:CODE
HIGHredash/query_runner/csv.py58except Exception:CODE
Fake / Example Data22 hits · 24 pts
SeverityFileLineSnippetContext
LOWviz-lib/src/visualizations/details/Renderer.test.tsx24 name: "John Doe",CODE
LOWviz-lib/src/visualizations/details/Renderer.test.tsx46 expect(el.text()).toContain("John Doe"); // name valueCODE
LOWviz-lib/src/visualizations/details/Renderer.test.tsx166 expect(el.text()).toContain("John Doe");CODE
LOWtests/factories.py46 name="John Doe",CODE
LOW⚡tests/models/test_parameterized_query.py341 "rows": [{"id": 5, "Name": "John", "Value": "John Doe"}],CODE
LOW⚡tests/models/test_parameterized_query.py346 self.assertEqual(values, [{"name": "John", "value": "John Doe"}])CODE
LOW⚡tests/query_runner/test_basequeryrunner.py17 "Username": "*/ SELECT 999; --@example.org",CODE
LOW⚡tests/handlers/test_query_results.py207 email = "*/ SELECT 999; --@example.org"CODE
LOW⚡tests/handlers/test_users.py43 test_user = {"name": "User", "email": "user@example.com", "password": "test"}CODE
LOW⚡tests/handlers/test_users.py54 test_user = {"name": "User", "email": "user@example.com"}CODE
LOW⚡tests/handlers/test_users.py64 test_user = {"name": "User", "email": "user@example.com"}CODE
LOW⚡tests/handlers/test_users.py78 self.assertEqual(rv.json["email"], "user@example.com")CODE
LOWtests/handlers/test_users.py91 test_user1 = {"name": "User", "email": "user@example.com", "password": "test"}CODE
LOWtests/handlers/test_users.py95 self.assertEqual(rv.json["email"], "user@example.com")CODE
LOWclient/cypress/integration/dashboard/widget_spec.js162 query: "select 'lorem ipsum' FROM generate_series(1,50)",CODE
LOW…/cypress/integration/visualizations/word_cloud_spec.js4 SELECT 'Lorem ipsum dolor' AS a, 'ipsum' AS b, 2 AS c UNION ALLCODE
LOW…egration/visualizations/table/.mocks/all-cell-types.js10 '[{"a": 3.14, "b": "test", "c": [], "d": {}}, false, [null, 123], "Lorem ipsum dolor sit amet, consectetur adipiscinCODE
LOW…egration/visualizations/table/.mocks/all-cell-types.js10 '[{"a": 3.14, "b": "test", "c": [], "d": {}}, false, [null, 123], "Lorem ipsum dolor sit amet, consectetur adipiscinCODE
LOW…tegration/visualizations/table/.mocks/large-dataset.js2 "Lorem ipsum dolor sit amet consectetur adipiscing elit" +CODE
LOW…tegration/visualizations/table/.mocks/large-dataset.js2 "Lorem ipsum dolor sit amet consectetur adipiscing elit" +CODE
LOW…egration/visualizations/table/.mocks/search-in-data.js4 SELECT 'lorem ipsum' AS a, 'but TEST is here' AS b, 'none' AS c UNION ALLCODE
LOW…app/pages/users/components/ReadOnlyUserProfile.test.js13 name: "John Doe",CODE
Self-Referential Comments5 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMtests/destinations/test_webhook.py9 # Create a mock alert with all the properties needed by serialize_alertCOMMENT
MEDIUM⚡tests/handlers/test_query_results.py257 # Create a sensitive data source the default user does NOT have access toCOMMENT
MEDIUMredash/destinations/webex.py60 # Create a table for the Adaptive CardCOMMENT
MEDIUMredash/destinations/webex.py73 # Create the body of the card with the tableCOMMENT
MEDIUMredash/handlers/query_results.py314 # This method handles two cases: retrieving result by id & retrieving result by query id.COMMENT
Over-Commented Block8 hits · 8 pts
SeverityFileLineSnippetContext
LOW.restyled.yaml21#COMMENT
LOWredash/settings/__init__.py161# Enables the use of an externally-provided and trusted remote user via an HTTPCOMMENT
LOWredash/settings/__init__.py181# If you also set the organization setting auth_password_login_enabled to false,COMMENT
LOWredash/settings/__init__.py461# to bound the CPU it will spend on a single statement. The defaults matchCOMMENT
LOWredash/utils/query_order.py1# Copyright (c) 2012, Konsta VesterinenCOMMENT
LOWredash/query_runner/memsql_ds.py101 cursor = NoneCOMMENT
LOWclient/app/assets/less/inc/font.less1///* --------------------------------------------------------COMMENT
LOWclient/app/assets/less/inc/font.less21//-----------------------------------------------------------*/COMMENT
AI Structural Patterns7 hits · 7 pts
SeverityFileLineSnippetContext
LOWtests/__init__.py106CODE
LOWtests/handlers/test_widgets.py16CODE
LOWredash/query_runner/big_query.py267CODE
LOWredash/query_runner/snowflake.py145CODE
LOWredash/query_runner/google_spreadsheets.py132CODE
LOWredash/query_runner/google_analytics4.py71CODE
LOWredash/handlers/queries.py435CODE
AI Slop Vocabulary4 hits · 6 pts
SeverityFileLineSnippetContext
LOWtests/query_runner/test_yandex_metrica.py85 # before/after we get to the Nth call, just return successCOMMENT
MEDIUMredash/settings/__init__.py182# then your authentication will be seamless. Otherwise a link will be presentedCOMMENT
LOWredash/settings/dynamic_settings.py64# To do so, simply add the name of the extension you'd like to load to this list.COMMENT
LOWredash/query_runner/ignite.py101 # if it's a datetime, just return the millisecondsSTRING
Decorative Section Separators2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMredash/query_runner/memsql_ds.py121 # ====================================================================================================COMMENT
MEDIUMredash/query_runner/memsql_ds.py123 # ====================================================================================================COMMENT
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOWredash/destinations/webex.py58 # Check if it's a 2D arrayCOMMENT
LOWredash/destinations/webex.py208 if not destination_id: # Check if the destination_id is empty or blankCODE
LOWredash/models/mixins.py13 # Check if we really want to update the updated_at valueCOMMENT
LOW.github/workflows/periodic-snapshot.yml51 # Check if both bump and specific version are providedCOMMENT
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippetContext
LOWclient/app/components/DialogWrapper.jsx83 If you want to override behavior of `onOk`/`onCancel` - don't forget to close dialog:CODE