Chat2DB is a free, cross-platform, local-first database client and SQL workspace for developers, DBAs, analysts, and data teams. Connect to 40+ databases, manage data, edit and run SQL, and use your own AI model to generate, explain, and optimize queries. Available on desktop, web, Docker, and CLI, with MCP support.
This report summarizes scanner evidence for OtterMind/Chat2DB, a Java project with 28,347 GitHub stars. SynthScan examined 481,226 lines of code across 4178 source files, recording 679 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 3.4 (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.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 581 finding(s).
Are imports declared and package/API names verified? 86 finding(s).
Are wrappers, guards, and repeated structures necessary? 567 finding(s).
Which changes need focused human review? 679 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 679 distinct pattern matches across 11 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 |
|---|---|---|---|---|
| CRITICAL | …mmunity/test/spi/model/JDBCDataValueLargeCellTest.java | 120 | org.junit.jupiter.api.Assertions.assertSame(handle, cell.getRawValue(), | CODE |
| CRITICAL | …st/spi/sql/DefaultSQLExecutorExecutionMetricsTest.java | 456 | statement.setSqlType(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.USE_DATABASE.name()); | CODE |
| CRITICAL | …st/spi/sql/DefaultSQLExecutorExecutionMetricsTest.java | 465 | statement.setSqlType(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.SET_SCHEMA.name()); | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 887 | if (!ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.USE_DATABASE.name() | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 994 | if (type == null || !StringUtils.equals(type, ai.chat2db.community.domain.api.enums.parser.SqlTypeEn | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 1014 | if (type != null && StringUtils.equalsAnyIgnoreCase(type, ai.chat2db.community.domain.api.enums.parser.S | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 1015 | ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.ANONYMOUS_BLOCK.name())) { | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 1073 | if (type == null || !StringUtils.equals(type, ai.chat2db.community.domain.api.enums.parser.SqlTypeEn | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 1095 | if (type != null && StringUtils.equalsAnyIgnoreCase(type, ai.chat2db.community.domain.api.enums.parser.S | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 1096 | ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.ANONYMOUS_BLOCK.name())) { | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 1174 | if (type == null || !StringUtils.equals(type, ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.S | CODE |
| CRITICAL | …i/src/main/java/ai/chat2db/spi/DefaultSQLExecutor.java | 1259 | if (type == null || !StringUtils.equals(type, ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.S | CODE |
| CRITICAL⚡ | …y/updater/v2/runtime/UpdateStartupCoordinatorTest.java | 44 | org.junit.jupiter.api.Assertions.assertTrue(audit.contains("actor=CANDIDATE")); | CODE |
| CRITICAL⚡ | …y/updater/v2/runtime/UpdateStartupCoordinatorTest.java | 45 | org.junit.jupiter.api.Assertions.assertTrue(audit.contains("event=PROCESS_START_FAILED")); | CODE |
| CRITICAL⚡ | …y/updater/v2/runtime/UpdateStartupCoordinatorTest.java | 46 | org.junit.jupiter.api.Assertions.assertTrue(audit.contains("spring failed")); | CODE |
| CRITICAL⚡ | …y/updater/v2/runtime/UpdateStartupCoordinatorTest.java | 73 | org.junit.jupiter.api.Assertions.assertTrue(Files.readString(healthFile) | CODE |
| CRITICAL⚡ | …y/updater/v2/runtime/UpdateStartupCoordinatorTest.java | 75 | org.junit.jupiter.api.Assertions.assertTrue(Files.readString(healthFile) | CODE |
| CRITICAL⚡ | …y/updater/v2/runtime/UpdateStartupCoordinatorTest.java | 77 | org.junit.jupiter.api.Assertions.assertFalse( | CODE |
| CRITICAL | …y/updater/v2/installation/FullPackageSwitcherTest.java | 128 | Files.setPosixFilePermissions(stagedPackage, java.nio.file.attribute.PosixFilePermissions.fromString("r-xr-xr-x" | CODE |
| CRITICAL | …y/updater/v2/installation/FullPackageSwitcherTest.java | 140 | Files.setPosixFilePermissions(stagedPackage, java.nio.file.attribute.PosixFilePermissions.fromString("rwxr-x | CODE |
| CRITICAL | …va/ai/chat2db/community/tools/util/ExceptionUtils.java | 25 | Throwable thr = org.apache.commons.lang3.exception.ExceptionUtils.getRootCause(throwable); | CODE |
| CRITICAL | …a/ai/chat2db/community/tools/util/EasyStringUtils.java | 19 | if (!org.apache.commons.lang3.StringUtils.isNumeric(userId)) { | CODE |
| CRITICAL | …ai/chat2db/plugin/snowflake/SnowFlakeSyntaxPlugin.java | 11 | return ai.chat2db.community.domain.api.enums.parser.DatabaseTypeEnum.SNOWFLAKE.name(); | CODE |
| CRITICAL | …/java/ai/chat2db/plugin/oracle/OracleSyntaxPlugin.java | 10 | return ai.chat2db.community.domain.api.enums.parser.DatabaseTypeEnum.ORACLE.name(); | CODE |
| CRITICAL | …va/ai/chat2db/plugin/oracle/OracleCommandExecutor.java | 86 | statement.setSqlType(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.EXPLAIN.name()); | CODE |
| CRITICAL | …/ai/chat2db/plugin/db2/Db2IdentifierProcessorTest.java | 224 | ai.chat2db.spi.model.request.DropTableRequest drop = new ai.chat2db.spi.model.request.DropTableRequest(); | CODE |
| CRITICAL | …/ai/chat2db/plugin/db2/Db2IdentifierProcessorTest.java | 229 | ai.chat2db.spi.model.request.TruncateTableRequest truncate = new ai.chat2db.spi.model.request.TruncateTableReque | CODE |
| CRITICAL | …/ai/chat2db/plugin/db2/Db2IdentifierProcessorTest.java | 244 | new ai.chat2db.community.domain.api.model.metadata.TableIndexColumn(); | CODE |
| CRITICAL | …/ai/chat2db/plugin/db2/Db2IdentifierProcessorTest.java | 342 | new ai.chat2db.community.domain.api.model.metadata.TableIndexColumn(); | CODE |
| CRITICAL | …db/plugin/informix/builder/InformixSqlBuilderTest.java | 138 | info.setDriverConfig(new ai.chat2db.community.domain.api.config.DriverConfig()); | CODE |
| CRITICAL | …i/chat2db/plugin/informix/InformixCommandExecutor.java | 90 | statement.setSqlType(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.EXPLAIN.name()); | CODE |
| CRITICAL | …i/chat2db/plugin/informix/InformixCommandExecutor.java | 112 | .sqlType(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.EXPLAIN.name()) | CODE |
| CRITICAL | …n/java/ai/chat2db/plugin/redis/type/SetTypeScript.java | 122 | if (skipDeleted && ai.chat2db.plugin.redis.constant.ActionConstants.DELETE.equals(value.getAction())) { | CODE |
| CRITICAL⚡ | …ava/ai/chat2db/plugin/redis/type/StreamTypeScript.java | 109 | if (ai.chat2db.plugin.redis.constant.ActionConstants.DELETE.equals(field.getAction())) { | CODE |
| CRITICAL⚡ | …ava/ai/chat2db/plugin/redis/type/StreamTypeScript.java | 113 | if (ai.chat2db.plugin.redis.constant.ActionConstants.CREATE.equals(field.getAction())) { | CODE |
| CRITICAL⚡ | …ava/ai/chat2db/plugin/redis/type/StreamTypeScript.java | 117 | if (ai.chat2db.plugin.redis.constant.ActionConstants.UPDATE.equals(field.getAction())) { | CODE |
| CRITICAL | …/java/ai/chat2db/plugin/redis/type/ListTypeScript.java | 114 | .filter(value -> !ai.chat2db.plugin.redis.constant.ActionConstants.DELETE.equals(value.getAction())) | CODE |
| CRITICAL | …/java/ai/chat2db/plugin/redis/type/HashTypeScript.java | 131 | if (skipDeleted && ai.chat2db.plugin.redis.constant.ActionConstants.DELETE.equals(value.getAction())) { | CODE |
| CRITICAL | …/java/ai/chat2db/plugin/redis/type/ZSetTypeScript.java | 119 | if (skipDeleted && ai.chat2db.plugin.redis.constant.ActionConstants.DELETE.equals(value.getAction())) { | CODE |
| CRITICAL | …t/java/ai/chat2db/plugin/dm/DMCommandExecutorTest.java | 151 | assertEquals(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.EXPLAIN.name(), | CODE |
| CRITICAL | …t/java/ai/chat2db/plugin/dm/DMCommandExecutorTest.java | 177 | assertEquals(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.EXPLAIN.name(), | CODE |
| CRITICAL | …t/java/ai/chat2db/plugin/dm/DMCommandExecutorTest.java | 202 | assertEquals(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.EXPLAIN.name(), response.getSqlType()); | CODE |
| CRITICAL | …/main/java/ai/chat2db/plugin/dm/DMCommandExecutor.java | 93 | statement.setSqlType(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.EXPLAIN.name()); | CODE |
| CRITICAL | …/main/java/ai/chat2db/plugin/dm/DMCommandExecutor.java | 124 | .sqlType(ai.chat2db.community.domain.api.enums.parser.SqlTypeEnum.EXPLAIN.name()) | CODE |
| CRITICAL | …chat2db/plugin/sundb/SUNDBIdentifierProcessorTest.java | 309 | new ai.chat2db.community.domain.api.model.metadata.Table(); | CODE |
| CRITICAL | …chat2db/plugin/sundb/SUNDBIdentifierProcessorTest.java | 313 | new ai.chat2db.community.domain.api.model.metadata.Table(); | CODE |
| CRITICAL | …ugin/postgresql/PostgreSQLIdentifierProcessorTest.java | 408 | org.junit.jupiter.api.Assertions.assertNull(processor.quoteIdentifier(null)); | CODE |
| CRITICAL⚡ | …/ai/chat2db/community/jcef/utils/NetworkProxyUtil.java | 17 | NetworkProxySettings settings = ai.chat2db.community.tools.network.NetworkProxyUtil.getSettings(); | CODE |
| CRITICAL⚡ | …/ai/chat2db/community/jcef/utils/NetworkProxyUtil.java | 25 | ai.chat2db.community.tools.network.NetworkProxyUtil.validate(settings); | CODE |
| CRITICAL⚡ | …/ai/chat2db/community/jcef/utils/NetworkProxyUtil.java | 27 | ai.chat2db.community.tools.network.NetworkProxyUtil.toChromiumProxyServer(settings)); | CODE |
| CRITICAL⚡ | …/ai/chat2db/community/jcef/utils/NetworkProxyUtil.java | 28 | String bypassList = ai.chat2db.community.tools.network.NetworkProxyUtil.toChromiumBypassList(settings.getNoProxy | CODE |
| CRITICAL⚡ | …i/chat2db/community/jcef/utils/SystemSettingsUtil.java | 21 | return ai.chat2db.community.tools.util.SystemSettingsUtil.getCachePath(); | CODE |
| CRITICAL⚡ | …i/chat2db/community/jcef/utils/SystemSettingsUtil.java | 25 | ai.chat2db.community.tools.util.SystemSettingsUtil.setProperty(key, newValue); | CODE |
| CRITICAL⚡ | …i/chat2db/community/jcef/utils/SystemSettingsUtil.java | 29 | return ai.chat2db.community.tools.util.SystemSettingsUtil.getProperty(key); | CODE |
| CRITICAL⚡ | …i/chat2db/community/jcef/utils/SystemSettingsUtil.java | 33 | return ai.chat2db.community.tools.util.SystemSettingsUtil.getBooleanProperty(key, defaultValue); | CODE |
| CRITICAL⚡ | …i/chat2db/community/jcef/utils/SystemSettingsUtil.java | 37 | return ai.chat2db.community.tools.util.SystemSettingsUtil.isMcpEnabled(); | CODE |
| CRITICAL⚡ | …i/chat2db/community/jcef/utils/SystemSettingsUtil.java | 41 | return ai.chat2db.community.tools.util.SystemSettingsUtil.getOrCreateMcpAuthToken(); | CODE |
| CRITICAL⚡ | …i/chat2db/community/jcef/utils/SystemSettingsUtil.java | 45 | return ai.chat2db.community.tools.util.SystemSettingsUtil.resetMcpAuthToken(); | CODE |
| CRITICAL | …b/api/model/response/db/SqlCompletionResponseTest.java | 18 | ai.chat2db.community.domain.api.model.completion.result.SqlCompletionResponse.success(7, 10, | CODE |
| CRITICAL | …nity/web/api/converter/cli/CliDatasourceConverter.java | 35 | new ai.chat2db.community.domain.api.model.request.cli.CliConnectionTestRequest(); | CODE |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …db/plugin/oracle/value/sub/OracleAnyDataProcessor.java | 8 | public class OracleAnyDataProcessor extends DefaultValueProcessor { | CODE |
| LOW⚡ | script/github/test_notify_qq.py | 473 | def test_relay_url_must_use_https(self): | CODE |
| LOW⚡ | script/github/test_notify_qq.py | 483 | def test_api_error_is_sanitized(self): | CODE |
| LOW⚡ | script/github/test_notify_qq.py | 492 | def test_manual_dry_run_does_not_require_secrets(self): | CODE |
| LOW | script/github/test_notify_qq.py | 36 | def test_issue_label_change_includes_label(self): | CODE |
| LOW | script/github/test_notify_qq.py | 51 | def test_merged_pull_request_is_distinct_from_closed(self): | CODE |
| LOW | script/github/test_notify_qq.py | 70 | def test_pull_request_synchronize_includes_commit_range(self): | CODE |
| LOW | script/github/test_notify_qq.py | 86 | def test_release_published_includes_metadata_but_not_body(self): | CODE |
| LOW | script/github/test_notify_qq.py | 116 | def test_deployment_created_includes_environment_and_ref(self): | CODE |
| LOW | script/github/test_notify_qq.py | 142 | def test_deployment_status_uses_environment_url_without_query_credentials(self): | CODE |
| LOW | script/github/test_notify_qq.py | 171 | def test_discussion_includes_category_and_status_but_not_body(self): | CODE |
| LOW | script/github/test_notify_qq.py | 203 | def test_issue_comment_includes_bounded_excerpt(self): | CODE |
| LOW | script/github/test_notify_qq.py | 238 | def test_deleted_pull_request_comment_does_not_echo_body(self): | CODE |
| LOW | script/github/test_notify_qq.py | 269 | def test_submitted_pull_request_review_states_are_distinct(self): | CODE |
| LOW | script/github/test_notify_qq.py | 308 | def test_dismissed_review_does_not_echo_body(self): | CODE |
| LOW | script/github/test_notify_qq.py | 334 | def test_line_review_comment_includes_location_but_not_diff(self): | CODE |
| LOW | script/github/test_notify_qq.py | 368 | def test_untrusted_title_is_bounded_and_control_characters_are_removed(self): | CODE |
| LOW | script/github/test_notify_qq.py | 383 | def test_untrusted_title_cannot_create_extra_message_lines(self): | CODE |
| LOW | script/github/test_notify_qq.py | 401 | def test_manual_dry_run_message(self): | CODE |
| LOW | script/github/test_notify_qq.py | 438 | def test_http_client_sets_explicit_user_agent(self, urlopen_mock): | CODE |
| LOW | script/github/test_notify_qq.py | 451 | def test_relay_request_uses_bearer_token_and_delivery_id(self, post_json): | CODE |
| LOW | script/github/test_notify_qq.py | 508 | def test_comment_collector_writes_message_without_secrets(self): | CODE |
| LOW | script/github/test_notify_qq.py | 546 | def test_prepared_sender_uses_original_run_as_delivery_id(self, send_message): | CODE |
| LOW | script/github/test_notify_qq.py | 586 | def test_prepared_sender_rejects_wrong_repository(self): | CODE |
| LOW | script/github/test_notify_qq.py | 604 | def test_prepared_sender_rejects_onebot_cq_code(self): | CODE |
| LOW | script/github/test_notify_qq.py | 622 | def test_prepared_sender_rejects_unallowed_event_and_oversized_message(self): | CODE |
| LOW | script/github/qq_relay/test_relay_server.py | 14 | def test_rejects_requests_over_window_limit(self): | CODE |
| LOW | script/github/qq_relay/test_relay_server.py | 25 | def test_group_number_is_fixed_by_server_configuration(self, urlopen_mock): | CODE |
| LOW | script/github/qq_relay/test_relay_server.py | 45 | def test_explicit_onebot_rejection_is_distinguishable(self, urlopen_mock): | CODE |
| LOW⚡ | script/github/qq_relay/test_relay_server.py | 101 | def test_health_check_does_not_require_authentication(self): | CODE |
| LOW⚡ | script/github/qq_relay/test_relay_server.py | 106 | def test_authenticated_message_is_forwarded(self): | CODE |
| LOW⚡ | script/github/qq_relay/test_relay_server.py | 115 | def test_onebot_rejection_retries_once_without_urls(self): | CODE |
| LOW | script/github/qq_relay/test_relay_server.py | 138 | def test_onebot_rejection_without_url_is_not_retried(self): | CODE |
| LOW | script/github/qq_relay/test_relay_server.py | 149 | def test_duplicate_delivery_is_not_sent_twice(self): | CODE |
| LOW | script/github/qq_relay/test_relay_server.py | 156 | def test_in_flight_duplicate_is_retryable_until_delivery_completes(self): | CODE |
| LOW⚡ | script/github/qq_relay/test_relay_server.py | 171 | def test_invalid_token_is_rejected(self): | CODE |
| LOW⚡ | script/github/qq_relay/test_relay_server.py | 178 | def test_other_repository_is_rejected(self): | CODE |
| LOW⚡ | script/github/qq_relay/test_relay_server.py | 187 | def test_message_length_is_bounded(self): | CODE |
| LOW⚡ | script/github/qq_relay/test_relay_server.py | 193 | def test_rate_limit_releases_rejected_delivery(self): | CODE |
| LOW | script/package/tests/release-deletion-guard-test.py | 39 | def test_workflows_and_scripts_are_discovered(self): | CODE |
| LOW | script/package/tests/release-deletion-guard-test.py | 44 | def test_no_destructive_release_commands(self): | CODE |
| LOW | chat2db-community-client/src/blocks/AI/index.tsx | 58 | function splitIncompleteChartBlock(text: string): { textBeforeChart: string; hasIncompleteChart: boolean } { | CODE |
| LOW | chat2db-community-client/src/blocks/AI/index.tsx | 478 | function truncateCollapsedThoughtPreview(text?: string, maxLength = COLLAPSED_THOUGHT_PREVIEW_MAX_LENGTH) { | CODE |
| LOW | chat2db-community-client/src/blocks/AI/index.tsx | 489 | function isLikelySameSessionFromPrefix(serverMessages: IChatItem[], snapshotMessages: IChatItem[]) { | CODE |
| LOW | …db-community-client/src/blocks/AI/dataSourceContext.ts | 15 | export function resolveAIDataSourceContext( | CODE |
| LOW | …db-community-client/src/blocks/AI/messageNavigation.ts | 23 | export function getMessageNavigationRailWidth(itemIndex: number, selectedIndex: number) { | CODE |
| LOW | …db-community-client/src/blocks/AI/messageNavigation.ts | 33 | export function buildUserMessageNavigationItems( | CODE |
| LOW | …rc/blocks/ImportAndExport/utils/importPolicies.test.ts | 9 | function defaultsAreInsertAndAbort() { | CODE |
| LOW | …rc/blocks/ImportAndExport/utils/importPolicies.test.ts | 34 | function dropsRestoredIgnoreOnUnsupportedTargets() { | CODE |
| LOW | …c/blocks/ImportAndExport/utils/restoreTaskSpec.test.ts | 20 | function restoresADomainImportSpec() { | CODE |
| LOW | …c/blocks/ImportAndExport/utils/restoreTaskSpec.test.ts | 66 | function restoresASqlImportSpecWithItsEncoding() { | CODE |
| LOW | …c/blocks/ImportAndExport/utils/restoreTaskSpec.test.ts | 92 | function restoresADomainExportSpec() { | CODE |
| LOW | …c/blocks/ImportAndExport/utils/restoreTaskSpec.test.ts | 127 | function restoresTheFlatRequestLayout() { | CODE |
| LOW | …c/blocks/ImportAndExport/utils/restoreTaskSpec.test.ts | 150 | function fallsBackToTheTaskRowTarget() { | CODE |
| LOW | …c/blocks/ImportAndExport/utils/restoreTaskSpec.test.ts | 177 | function damagedSnapshotsAreReportedInsteadOfOpeningAnEmptyWizard() { | CODE |
| LOW | …c/blocks/ImportAndExport/utils/restoreTaskSpec.test.ts | 206 | function specsTheWizardCannotReproduceAreRejected() { | CODE |
| LOW | …c/blocks/ImportAndExport/utils/restoreTaskSpec.test.ts | 256 | function unknownFormatsFallBackToTheWizardDefault() { | CODE |
| LOW | …-client/src/blocks/ImportAndExport/utils/csvOptions.ts | 123 | export function buildCsvOptionsForTaskSubmit(isCsv: boolean, options: ICsvOptions): ICsvOptions | undefined { | CODE |
| LOW | …-client/src/blocks/ImportAndExport/utils/csvOptions.ts | 149 | export function supportsCsvMappingPreview(format?: ImportExportFileType): boolean { | CODE |
| LOW | …ocks/BI/ChartCardBox/EditorChartSql/executionResult.ts | 11 | export function buildChartExecutionResult({ | CODE |
| 495 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/src/test/java/PrestoCompletionSyntaxCoverageTest.java | 0 | commit; rollback; explain select * from events; show tables; describe events; call refresh_stats(); with daily as (selec | STRING |
| HIGH | …ve/src/test/java/HiveCompletionSyntaxCoverageTest.java | 0 | commit; rollback; explain select * from events; show tables; describe events; call refresh_stats(); with daily as (selec | STRING |
| HIGH | …c/test/java/SnowFlakeCompletionSyntaxCoverageTest.java | 0 | commit; rollback; explain select * from events; show tables; describe events; call refresh_stats(); with daily as (selec | STRING |
| HIGH | …/src/test/java/DuckDBCompletionSyntaxCoverageTest.java | 0 | commit; rollback; explain select * from events; show tables; describe events; call refresh_stats(); with daily as (selec | STRING |
| HIGH | …c/test/java/SnowFlakeCompletionSyntaxCoverageTest.java | 0 | merge into target_table t using source_table s on t.id = s.id when matched then update set name = s.name; | STRING |
| HIGH | …ve/src/test/java/HiveCompletionSyntaxCoverageTest.java | 0 | merge into target_table t using source_table s on t.id = s.id when matched then update set name = s.name; | STRING |
| HIGH | …c/test/java/StarrocksCompletionSyntaxCoverageTest.java | 0 | merge into target_table t using source_table s on t.id = s.id when matched then update set name = s.name; | STRING |
| HIGH | …completion/MysqlSqlCompletionScenarioCoverageTest.java | 0 | with paid_orders as( select * from orders where status='paid' ) select * from pa{caret} | STRING |
| HIGH | …lver/MysqlSqlCompletionLocalResultSetResolverTest.java | 0 | with paid_orders as( select * from orders where status='paid' ) select * from pa{caret} | STRING |
| HIGH | …olver/MysqlSqlCompletionRelationScopeResolverTest.java | 0 | with paid_orders as( select * from orders where status='paid' ) select * from pa{caret} | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | script/test/start-test-databases.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .github/workflows/ai-issue-assistant.lock.yml | 1 | # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"fdf122fdc1e2a1f1ea2401841db35802b4ff0449946bf61c90632c02234 | COMMENT |
| LOW | .github/workflows/ai-issue-assistant.lock.yml | 21 | # gh aw compile | COMMENT |
| LOW | .github/workflows/ai-issue-assistant.lock.yml | 41 | # - actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 | COMMENT |
| LOW | …ent/src/blocks/BI/Chart/form/config/wordCloudConfig.ts | 21 | // component: 'ChartOptionCheckbox', | COMMENT |
| LOW | …client/src/blocks/BI/Chart/form/config/funnelConfig.ts | 21 | name: 'chartOptionCheckbox', | COMMENT |
| LOW | …ty-client/src/blocks/BI/Chart/form/config/pieConfig.ts | 41 | // { | COMMENT |
| LOW | chat2db-community-client/src/blocks/NewTree/index.tsx | 281 | blockNode: true, | COMMENT |
| LOW | chat2db-community-client/src/typings/chat.ts | 221 | // * chat id | COMMENT |
| LOW | chat2db-community-client/src/typings/chat.ts | 241 | // * Dashboard id, when the answer result type is dashboard, this field has a value | COMMENT |
| LOW | chat2db-community-client/src/typings/dashboard.ts | 41 | // Don’t worry about the type of refresh data now, it’s not used. | COMMENT |
| LOW | chat2db-community-client/src/typings/dashboard.ts | 61 | // /** Database type */ | COMMENT |
| LOW | chat2db-community-client/src/utils/index.ts | 441 | // const result: TreeNodeData[] = []; | COMMENT |
| LOW | chat2db-community-client/src/utils/clear.ts | 1 | // import { clearOrgStore } from '@/store/workspaceContext'; | COMMENT |
| LOW | …at2db-community-client/src/utils/sql/refreshTargets.ts | 61 | // if (sqlType === SqlTypeEnum.USE_DATABASE) { | COMMENT |
| LOW | …client/src/components/SQLEditor/core/setDecorations.ts | 221 | } | COMMENT |
| LOW | …-client/src/layouts/GlobalLayout/AppTitleBar/index.tsx | 121 | if (!isMac && !useIntegratedTitleBar) { | COMMENT |
| LOW | chat2db-community-client/src/hooks/useAbortRequest.ts | 61 | // .then((res) => { | COMMENT |
| LOW | …unity-client/src/store/global/slices/misc/selectors.ts | 1 | // import { GlobalStore } from '@/store/global'; | COMMENT |
| LOW | …-client/src/store/global/slices/hotUpdate/selectors.ts | 1 | // import { GlobalStore } from '@/store/global'; | COMMENT |
| LOW | …ity-client/src/store/global/slices/common/selectors.ts | 1 | // import { GlobalStore } from '@/store/global'; | COMMENT |
| LOW | …ty-client/src/store/global/slices/request/selectors.ts | 1 | // import { GlobalStore } from '@/store/global'; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | script/github/notify_qq.py | 506 | except (ValueError, TypeError, json.JSONDecodeError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | script/github/notify_qq.py | 4 | CODE | |
| LOW | script/github/qq_relay/relay_server.py | 4 | CODE | |
| LOW | script/github/qq_relay/deploy/configure.py | 4 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …db-community-oracle/src/main/resources/TEST_USER_1.sql | 220 | INSERT INTO "DEMO_TABLE" ("TEST_ID","TEST_VARCHAR2","TEST_NUMBER","TEST_DECIMAL","TEST_DATE","TEST_TIMESTAMP","TEST_CHAR | CODE |
| LOW | …ent/src/components/SQLEditor/helper/keywords/oracle.ts | 1405 | example: "SELECT JSON_OBJECT('id' VALUE 1, 'name' VALUE 'John Doe') AS json_object FROM DUAL;", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | script/test/start-test-databases.sh | 7 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | script/github/test_notify_qq.py | 622 | CODE | |
| LOW | script/github/notify_qq.py | 511 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/jcef_release.yml | 588 | except Exception as exc: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …mmunity-client/src/components/ConnectionEdit/index.tsx | 479 | function getData() { | CODE |