需求描述
为更多数据源类型实现库表元数据扫描任务(SchemaMeta AuditPlan)。
当前仅支持 MySQL、PostgreSQL、DB2、TDSQL For InnoDB 的库表元数据扫描,需要扩展支持以下数据源:
- Oracle — 通过 Plugin.Query() + DBMS_METADATA.GET_DDL 获取建表 DDL
- OceanBase For MySQL — 复用 MySQL executor 直连方式
- TiDB — 复用 MySQL executor 直连方式
- OceanBase For Oracle — 通过 Plugin.Query() + Oracle 兼容系统视图获取 DDL
- DM(达梦) — 通过 Plugin.Query() + DBMS_METADATA.GET_DDL 获取建表 DDL
- SQL Server — 需先在 sqle-ms-plugin 中启用 OptionalModule.Query,再通过系统视图拼接 DDL
- openGauss / GaussDB — 复用 PostgreSQL 实现(需确认插件可用性)
实现方案
每个数据源新增一个文件 task_type__schema_meta_ee.go,嵌入 BaseSchemaMetaTaskV2 基类,只需实现 extractSQL() 和 InstanceType() 方法。
分阶段实施
- P0(高优先级):TiDB、OceanBase For MySQL、Oracle
- P1(中优先级):OceanBase For Oracle、DM(达梦)
- P2(低优先级):SQL Server(需插件改造)、openGauss(需确认插件)
涉及文件
- sqle-ee/sqle/server/auditplan/meta_ee.go — 注册新任务类型
- sqle-ee/sqle/server/auditplan/task_type_*_schema_meta_ee.go — 各数据源实现(新增 7 个文件)
- sqle-ms-plugin — SQL Server 插件需启用 Query 模块(P2 阶段)
详细方案设计见 docs/spec/requirements.md。
需求描述
为更多数据源类型实现库表元数据扫描任务(SchemaMeta AuditPlan)。
当前仅支持 MySQL、PostgreSQL、DB2、TDSQL For InnoDB 的库表元数据扫描,需要扩展支持以下数据源:
实现方案
每个数据源新增一个文件 task_type__schema_meta_ee.go,嵌入 BaseSchemaMetaTaskV2 基类,只需实现 extractSQL() 和 InstanceType() 方法。
分阶段实施
涉及文件
详细方案设计见 docs/spec/requirements.md。