[FEATURE]:add oceanbase oracle supprot #7280
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ⅰ. Describe what this PR did
Oceanbase's MySQL mode is directly driven by MySQL connections. Due to the coding model, it is not convenient to distinguish between the specific patterns of querying the database according to connect, and only the oracle mode is adapted here. The code logic of Oracle is basically reused, and the reason why this part of the code is added is that the Oracle mode of OceanBase can only be connected through the OceanBase protocol. Due to the driver problem, the oracle mode of OceanBase cannot obtain the value of the auto-increment primary key in the oracle mode through getGenerateKeys, so the transaction control of the auto-increment SQL statement by sequence number is not supported.
Ⅱ. Does this pull request fix one issue?
close #7279
Ⅲ. Why don't you add test cases (unit test/integration test)?
Test code that basically reuses the oracle schema
org.apache.seata.rm.datasource.exec.OceanBaseInsertExecutorTest
org.apache.seata.rm.datasource.sql.struct.TableMetaCacheFactoryTest
Ⅳ. Describe how to verify it
use https://github.com/apache/incubator-seata-samples
Ⅴ. Special notes for reviews
oceanbase is ant group open source products.
the oracle mode of OceanBase cannot obtain the value of the auto-increment primary key in the oracle mode through getGenerateKeys, so the transaction control of the auto-increment SQL statement by sequence number is not supported.