CAICAIIs opened a new issue, #1056: URL: https://github.com/apache/incubator-seata-go/issues/1056
### ✅ 验证清单 - [x] 🔍 我已经搜索过 [现有 Issues](https://github.com/apache/incubator-seata-go/issues),确信这不是重复问题 - [x] 🛠️ 我愿意自己处理这个议题 ### 🚀 Go 版本 1.20 ### 📦 Seata-go 版本 v2.0.0 ### 💾 操作系统 🍎 macOS ### 📝 Bug 描述 The Oracle XA connection implementation in `pkg/datasource/sql/xa/oracle_xa_connection.go` has **5 methods that panic** with `"implement me"` instead of providing actual functionality. This makes Oracle XA mode completely unusable - any attempt to use Oracle database with XA distributed transactions will crash immediately. ### 🔄 重现步骤 1 ### ✅ 预期行为 These 5 methods should implement the Oracle XA protocol operations: 1. Forget(xid string) error: Remove heuristically completed transaction branch from Oracle - Execute: XA FORGET '{xid}' 2. GetTransactionTimeout() time.Duration: Return current transaction timeout value - Return stored timeout value (default or configured) 3. IsSameRM(resource XAResource) bool: Check if two XA resources point to same Oracle instance - Compare connection parameters (host, port, service name) 4. Recover(flag int) []string: Return list of prepared transaction XIDs - Execute: XA RECOVER and parse results 5. SetTransactionTimeout(duration time.Duration) bool: Set transaction timeout - Store timeout value for future use ### ❌ 实际行为 All 5 methods panic with "implement me", making Oracle XA mode completely broken: func (c *OracleXAConn) Forget(xid string) error { // TODO implement me panic("implement me") } ### 💡 可能的解决方案 _No response_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
