Repository Analysis

alibaba/druid

阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池

0.5 Likely human-written View on GitHub
0.5
Adjusted Score
0.5
Raw Score
100%
Time Factor
2026-05-12
Last Push
28,184
Stars
Java
Language
687,953
Lines of Code
6416
Files
146
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 16HIGH 4MEDIUM 10LOW 116

Pattern Findings

146 matches across 8 categories. Click a row to expand file-level details.

Hallucination Indicators16 hits · 160 pts
SeverityFileLineSnippet
CRITICAL…est/java/com/alibaba/druid/postgresql/PGLimitTest.java17 String sqlLimit = com.alibaba.druid.sql.PagerUtils.limit(sql, dbType,
CRITICAL…est/java/com/alibaba/druid/postgresql/PGLimitTest.java20 String sqlCount = com.alibaba.druid.sql.PagerUtils.count(sql, dbType);
CRITICAL…/test/java/com/alibaba/druid/benckmark/pool/Case1.java187 org.apache.tomcat.jdbc.pool.DataSource dataSource = new org.apache.tomcat.jdbc.pool.DataSource();
CRITICAL…/test/java/com/alibaba/druid/benckmark/pool/Case0.java151 org.apache.tomcat.jdbc.pool.DataSource dataSource = new org.apache.tomcat.jdbc.pool.DataSource();
CRITICAL…src/test/java/com/alibaba/druid/bvt/bug/Issue1898.java13 String formatted = com.alibaba.druid.sql.SQLUtils.format(sql, "mysql");
CRITICAL…/test/java/com/alibaba/druid/bvt/sql/TestNewSpout.java351 public static final String filterDbs = org.apache.commons.lang3.StringUtils.join(SqlUtil.filterDb, ",");
CRITICAL…ram/MySqlParameterizedOutputVisitorTest_restore_0.java19 String formattedSql = com.alibaba.druid.bvt.sql.mysql.param.ParseUtil.restore(sqlTemplate, table, params);
CRITICAL…main/resources/support/http/resources/js/jquery.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f
CRITICAL…/com/alibaba/druid/wall/spi/SQLServerWallProvider.java52 return new com.alibaba.druid.wall.spi.SQLServerWallVisitor(this);
CRITICAL…in/java/com/alibaba/druid/wall/spi/PGWallProvider.java46 return new com.alibaba.druid.wall.spi.PGWallVisitor(this);
CRITICAL…aba/druid/support/calcite/CalciteMySqlNodeVisitor.java585 this.sqlNode = new com.alibaba.druid.support.calcite.TDDLSqlSelect(
CRITICAL…aba/druid/support/calcite/CalciteMySqlNodeVisitor.java640 this.sqlNode = new com.alibaba.druid.support.calcite.TDDLSqlSelect(
CRITICAL…aba/druid/support/calcite/CalciteMySqlNodeVisitor.java710 this.sqlNode = new com.alibaba.druid.support.calcite.CalciteSqlBasicCall(
CRITICAL…aba/druid/support/calcite/CalciteMySqlNodeVisitor.java1414 this.sqlNode = new com.alibaba.druid.support.calcite.CalciteSqlBasicCall(functionOperator,
CRITICAL…aba/druid/support/calcite/CalciteMySqlNodeVisitor.java1452 this.sqlNode = new com.alibaba.druid.support.calcite.CalciteSqlBasicCall(functionOperator,
CRITICAL…ibaba/druid/support/ibatis/DruidDataSourceFactory.java28 dataSource = com.alibaba.druid.pool.DruidDataSourceFactory.createDataSource(map);
Over-Commented Block111 hits · 111 pts
SeverityFileLineSnippet
LOW…va/com/alibaba/druid/demo/sql/SchemaStatTest_odps.java41// System.out.println(statVisitor.getColumns());
LOW…st/java/com/alibaba/druid/benckmark/sql/SqlHolder.java41 static {
LOW…st/java/com/alibaba/druid/benckmark/sql/SqlHolder.java101
LOW…src/test/java/com/alibaba/druid/bvt/bug/Issue5847.java21 sql = "select a.*, (a.swanav-lead(a.swanav,1,null::numeric) over w)/lead(a.swanav,1,null::numeric) over w as roe
LOW…a/com/alibaba/druid/bvt/stat/DruidStatServiceTest.java221 assertThat(first, is(not(nullValue())));
LOW…a/com/alibaba/druid/bvt/stat/DruidStatServiceTest.java241// Map<String, Object> dataSourceStat = dataSourceList.get(0);
LOW…ba/druid/bvt/filter/wall/WallStatTest_alter_table.java41// }
LOW…re/src/test/java/com/alibaba/druid/bvt/pool/Case3.java21import java.sql.Connection;
LOW…re/src/test/java/com/alibaba/druid/bvt/pool/Case3.java41 // Connection conn = dataSource.getConnection();
LOW…rc/test/java/com/alibaba/druid/bvt/pool/Issue4316.java1package com.alibaba.druid.bvt.pool;
LOW…rc/test/java/com/alibaba/druid/bvt/pool/Issue4316.java21// DruidPooledConnection connection1 = druidDataSource.getConnection();
LOW…alibaba/druid/bvt/sql/schemaStat/SchemaStatTest23.java41 assertEquals(4, statVisitor.getConditions().size());
LOW…alibaba/druid/bvt/sql/postgresql/issues/Issue5780.java21 public void test_parse_alter_table_sql() {
LOW…alibaba/druid/bvt/sql/postgresql/issues/Issue5752.java81// + " timestamp with time zone 'epoch' + foo_timestamp * interval '1 second';",
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DDLParserTest.java261 // dst = parser.ddlStmt();
LOW…com/alibaba/druid/bvt/sql/cobar/DMLCallParserTest.java61 assertEquals("CALL p()", output);
LOW…com/alibaba/druid/bvt/sql/cobar/DMLCallParserTest.java81// sql = "call p()";
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1461// public void testShow() throws Exception {
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1481//
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1501// parser = new DALParser(lexer, new SQLExprParser(lexer));
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1521// assertEquals("SHOW GLOBAL STATUS LIKE 'expr'", output);
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1541// parser = new DALParser(lexer, new SQLExprParser(lexer));
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1561// assertEquals("SHOW SESSION STATUS WHERE b'10' ^ b'11'", output);
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1581// parser = new DALParser(lexer, new SQLExprParser(lexer));
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1601// assertEquals("SHOW TABLE STATUS FROM db WHERE (SELECT a) > (SELECT b)", output);
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1621// parser = new DALParser(lexer, new SQLExprParser(lexer));
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1641// assertEquals("SHOW TABLES LIKE 'expr'", output);
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1661// parser = new DALParser(lexer, new SQLExprParser(lexer));
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1681// assertEquals("SHOW FULL TABLES", output);
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1701// parser = new DALParser(lexer, new SQLExprParser(lexer));
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1721// assertEquals("SHOW GLOBAL VARIABLES WHERE ~ a IS NULL", output);
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1741// parser = new DALParser(lexer, new SQLExprParser(lexer));
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1761// assertEquals("SHOW SESSION VARIABLES", output);
LOW…ava/com/alibaba/druid/bvt/sql/cobar/DALParserTest.java1781// parser = new DALParser(lexer, new SQLExprParser(lexer));
LOW…com/alibaba/druid/bvt/sql/oracle/OracleMergeTest7.java61 // assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "employee_id")));
LOW…m/alibaba/druid/bvt/sql/oracle/pl/Oracle_pl_for_1.java61 }
LOW…baba/druid/bvt/sql/oracle/pl/Oracle_pl_open_for_0.java81// System.out.println("Tables : " + visitor.getTables());
LOW…a/com/alibaba/druid/bvt/sql/oracle/pl/Oracle_pl_2.java41 }
LOW…/alibaba/druid/bvt/sql/oracle/pl/oracle_pl_open_1.java41
LOW…om/alibaba/druid/bvt/sql/oracle/pl/Oracle_pl_if_0.java41 for (SQLStatement statement : statementList) {
LOW…a/com/alibaba/druid/bvt/sql/oracle/pl/Oracle_pl_4.java41 statement.accept(visitor);
LOW…baba/druid/bvt/sql/oracle/pl/Oracle_pl_while_loop.java41 SchemaStatVisitor visitor = SQLUtils.createSchemaStatVisitor(JdbcConstants.ORACLE);
LOW…druid/bvt/sql/oracle/alter/OracleAlterTableTest20.java61
LOW…t/sql/oracle/visitor/OracleSchemaStatVisitorTest6.java61//
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest111.java121// + " NVL(D.JCFS, 0),\n" + " 0,\n"
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest111.java141// + " NVL(SUM(B.FPSL), 0) AS BYYMFS\n"
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest111.java161//
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest111.java181// System.out.println("orderBy : " + visitor.getOrderByColumns());
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest107.java21
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest107.java41// + " \"stop\")), NULL), nvl2(object_node, xmlelement(\"node\",
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest107.java61// + " object_name,\n" + " cardinality,\n" + " bytes,\n" + " temp_space,\n"
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest107.java81//
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest107.java101// "\tJOIN b ON a.id = b.aid \n" +
LOW…/bvt/sql/oracle/select/OracleSelectTest86_comment.java81 assertEquals(0, visitor.getOrderByColumns().size());
LOW…a/druid/bvt/sql/oracle/select/OracleSelectTest109.java41// String text = SQLUtils.toOracleString(stmt);
LOW…druid/bvt/sql/oracle/select/OracleSelectTest84_as.java61 assertEquals(0, visitor.getRelationships().size());
LOW…id/bvt/sql/oracle/create/OracleCreatePackageTest1.java61 System.out.println("orderBy : " + visitor.getOrderByColumns());
LOW…id/bvt/sql/oracle/create/OracleCreatePackageTest3.java141//
LOW…vt/sql/oracle/createTable/OracleCreateTableTest72.java61 "\t\"SOURCE_CODE\" VARCHAR2(32) NOT NULL ENABLE,\n" +
LOW…vt/sql/oracle/createTable/OracleCreateTableTest69.java61//
51 more matches not shown…
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippet
HIGHcore/src/test/resources/bvt/parser/bigquery/2.txt0// assumes 'dointerestingstuff' is defined in one of the library files. return dointerestingstuff(a, b);
HIGHcore/src/test/resources/bvt/parser/bigquery/2.txt0// assumes 'dointerestingstuff' is defined in one of the library files. return dointerestingstuff(a, b);
HIGHcore/src/test/resources/bvt/parser/bigquery/0.txt0// assumes 'dointerestingstuff' is defined in one of the library files. return dointerestingstuff(a, b);
HIGHcore/src/test/resources/bvt/parser/bigquery/0.txt0// assumes 'dointerestingstuff' is defined in one of the library files. return dointerestingstuff(a, b);
AI Slop Vocabulary5 hits · 14 pts
SeverityFileLineSnippet
MEDIUM…com/alibaba/druid/sql/dialect/h2/visitor/wordpress.sql264(142, '_transient_feed_867bd5c64f85878d03a060509cd2f92c', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4
MEDIUM…com/alibaba/druid/sql/dialect/h2/visitor/wordpress.sql264(142, '_transient_feed_867bd5c64f85878d03a060509cd2f92c', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4
MEDIUM…com/alibaba/druid/sql/dialect/h2/visitor/wordpress.sql264(142, '_transient_feed_867bd5c64f85878d03a060509cd2f92c', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4
MEDIUM…com/alibaba/druid/sql/dialect/h2/visitor/wordpress.sql264(142, '_transient_feed_867bd5c64f85878d03a060509cd2f92c', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4
MEDIUM…/main/java/com/alibaba/druid/pool/DruidDataSource.java3016 final String factoryName = className + "Factory"; // XXX: not robust
Slop Phrases4 hits · 10 pts
SeverityFileLineSnippet
MEDIUM…com/alibaba/druid/sql/dialect/h2/visitor/wordpress.sql248(128, '_transient_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4
MEDIUM…com/alibaba/druid/sql/dialect/h2/visitor/wordpress.sql255(134, '_transient_feed_57bc725ad6568758915363af670fd8bc', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4
MEDIUM…com/alibaba/druid/sql/dialect/h2/visitor/wordpress.sql264(142, '_transient_feed_867bd5c64f85878d03a060509cd2f92c', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4
LOW…com/alibaba/druid/sql/dialect/h2/visitor/wordpress.sql264(142, '_transient_feed_867bd5c64f85878d03a060509cd2f92c', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4
Decorative Section Separators2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMopenspec/config.yaml3# ============================================================================
MEDIUMopenspec/config.yaml5# ============================================================================
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippet
LOWcore/src/main/java/com/alibaba/druid/sql/SQLUtils.java2496 // Step 1: Parse both SQLs and get their token lists
LOWcore/src/main/java/com/alibaba/druid/sql/SQLUtils.java2500 // Step 2: Calculate Levenshtein distance based on tokens
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippet
LOWcore/src/test/resources/bvt/parser/synapse/1.txt42VALUES ('John Doe', 'john@example.com')
LOWcore/src/test/resources/bvt/parser/synapse/1.txt46VALUES ('John Doe', 'john@example.com')