GitHub user lkskjjk added a comment to the discussion: [DISCUSS] [GSoC 2026] Proposal on Enhancing Multi-Database AT Mode Support for Apache Seata-Go
1. parser ,go没有java 专业的类似druid的库,之前说的如果通过预处理(库都是专门为mysql设计),感觉还是需要专门对Oracle,不能这样简单套壳。打算先写最简单的DML,借鉴 TiDB Parser 的 Lexer,将 Oracle SQL 拆分为 Token。再Specialized Parser 建立一个简单的状态机。针对 UPDATE,INSERT, DELETE。 2. Metadata 通过 Go 的 database/sql 包和 Oracle 驱动(如 godrora)获取ALL_TABLES, ALL_TAB_COLUMNS, ALL_CONSTRAINTS, ALL_CONS_COLUMNS,注意Oracle的标识符与大小写,NUMBER(p, s)数据类型映射到go,以及ROWID 的特性 3. undolog 在 Seata-Go 中建立 UndoExecutor 接口,参考 Java 版生成 INSERT/UPDATE/DELETE 回滚语句的逻辑,以及Java 版中处理 ROWID 的部分。 GitHub link: https://github.com/apache/incubator-seata-go/discussions/1110#discussioncomment-16743151 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
