# Changelog

## Score

- CAI 42 → 40 (-1.6)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.19) — scores are not directly comparable.

## Lenses

- Code Health 56 → 55 (-0.0)
- Architecture 99 → 99 (-0.3)
- Maturity 64 → 64 (+0.4)
- Readiness 33 → 29 (-3.6)
- Security 70 → 70 (+0.7)
- Accessibility 34 → 34 (+0.0)

## Resolved (729)

- Change coupling: BigQueryCreateTableParser.java ↔ BigQueryOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/bigquery/parser/BigQueryCreateTableParser.java)
- Change coupling: BigQueryCreateTableParser.java ↔ SQLASTOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/bigquery/parser/BigQueryCreateTableParser.java)
- Change coupling: BigQueryExprParser.java ↔ BigQueryOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/bigquery/parser/BigQueryExprParser.java)
- Change coupling: BigQueryStatementParser.java ↔ BigQueryVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/bigquery/parser/BigQueryStatementParser.java)
- Change coupling: BigQueryStatementParser.java ↔ SQLASTOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/bigquery/parser/BigQueryStatementParser.java)
- Change coupling: MySqlStatementParser.java ↔ MySqlASTVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlStatementParser.java)
- Change coupling: OdpsStatementParser.java ↔ OdpsASTVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/odps/parser/OdpsStatementParser.java)
- Change coupling: RandomDataSourceRecoverThread.java ↔ RandomDataSourceValidateThread.java (core/src/main/java/com/alibaba/druid/pool/ha/selector/RandomDataSourceRecoverThread.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxyImpl.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/expr/SQLDateExpr.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/statement/SQLGeneratedTableSource.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/statement/SQLValuesTableSource.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/bigquery/parser/BigQueryStatementParser.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/bigquery/visitor/BigQueryOutputVisitor.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/dm/parser/DmStatementParser.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/gaussdb/visitor/GaussDbOutputVisitor.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/h2/parser/H2ExprParser.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/hive/parser/HiveCreateTableParser.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/hive/parser/HiveStatementParser.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/hive/visitor/HiveOutputVisitor.java)
- …and 709 more

## New (737)

- Change coupling: CKCreateTableParser.java ↔ CKOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/clickhouse/parser/CKCreateTableParser.java)
- Change coupling: ExportParameterVisitorUtils.java ↔ ParameterizedOutputVisitorUtils.java (core/src/main/java/com/alibaba/druid/sql/visitor/ExportParameterVisitorUtils.java)
- Change coupling: OdpsCreateTableParser.java ↔ OdpsOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/odps/parser/OdpsCreateTableParser.java)
- Change coupling: OdpsSelectParser.java ↔ OdpsOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/odps/parser/OdpsSelectParser.java)
- Change coupling: OdpsStatementParser.java ↔ OdpsOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/odps/parser/OdpsStatementParser.java)
- Change coupling: SQLServerSelectParser.java ↔ SQLServerOutputVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerSelectParser.java)
- Change coupling: SQLServerStatementParser.java ↔ SQLServerASTVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerStatementParser.java)
- Change coupling: SQLServerStatementParser.java ↔ SQLServerSchemaStatVisitor.java (core/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerStatementParser.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/SQLDataTypeImpl.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/expr/SQLContainsExpr.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/expr/SQLMethodInvokeExpr.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/expr/SQLNumberExpr.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/expr/SQLTimestampExpr.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/statement/SQLCharacterDataType.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/statement/SQLLateralViewTableSource.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/ast/statement/SQLSubqueryTableSource.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/bigquery/visitor/BigQueryOutputVisitor.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/blink/parser/BlinkCreateTableParser.java)
- Duplicated block (10 lines × 2) (core/src/main/java/com/alibaba/druid/sql/dialect/clickhouse/parser/CKStatementParser.java)
- …and 717 more

## Changes since last survey

- 7 commits — 3 feature/other, 4 fixes

## By area

- core/src — 7 commits

## Notable commits

- fix: Fix oceanbase_oracle DbType mask corrupted by int sign extension (#6663)
- fix: fix(odps): preserve range-clustered bucket count (#6674)
- fix: fix: MySQL ALTER TABLE multiple ALTER INDEX ... VISIBLE/INVISIBLE clauses parse error (#6036) (#6681)
- fix: test: add regression tests for DruidDataSource (#6658)
- change: Compare filter class names case-sensitively in FilterManager.existsFilter (#6666)
- change: Implement equals()/hashCode() in SQLJSONValueExpr per the Object contract (#6660)
- change: Print usage instead of ArrayIndexOutOfBoundsException in ConfigTools.main with no args (#6667)
