These engines have already been refactored to use the consistent pattern:
- ClickHouse -
/backend/plugin/db/clickhouse/clickhouse.go - DM -
/backend/plugin/db/dm/dm.go - MySQL -
/backend/plugin/db/mysql/mysql.go - MSSQL -
/backend/plugin/db/mssql/mssql.go - Oracle -
/backend/plugin/db/oracle/oracle.go - Redshift -
/backend/plugin/db/redshift/redshift.go - Snowflake -
/backend/plugin/db/snowflake/snowflake.go - TiDB -
/backend/plugin/db/tidb/tidb.go
These engines still use the old if-else pattern and need to be refactored:
- CockroachDB -
/backend/plugin/db/cockroachdb/cockroachdb.go - Databricks -
/backend/plugin/db/databricks/databricks.go - PostgreSQL -
/backend/plugin/db/pg/pg.go - RisingWave -
/backend/plugin/db/risingwave/risingwave.go - Spanner -
/backend/plugin/db/spanner/spanner.go - StarRocks -
/backend/plugin/db/starrocks/starrocks.go
These engines don't implement transaction mode handling (might not need it):
- BigQuery - No transaction mode pattern found
- Cassandra - No transaction mode pattern found
- CosmosDB - No transaction mode pattern found
- Hive - No transaction mode pattern found (explicitly notes transactions not supported)
- OceanBase (OBO) - No transaction mode pattern found
- SQLite - No transaction mode pattern found
- Trino - No transaction mode pattern found
- StarRocks - Has Begin/Commit/Rollback but no transaction logging
- RisingWave - Has Begin/Commit/Rollback but no transaction logging
- OceanBase (OBO) - Has Begin/Commit/Rollback in obo.go but no transaction logging
- ClickHouse - Has logging (but uses old API format)
- CockroachDB - Has proper logging
- DM - Has proper logging
- MSSQL - Has proper logging
- MySQL - Has proper logging
- Oracle - Has proper logging
- PostgreSQL - Has proper logging
- Redshift - Has proper logging
- Snowflake - Has proper logging
- TiDB - Has proper logging
- CockroachDB
- PostgreSQL
- RisingWave
- StarRocks
- Spanner
- Databricks
- StarRocks
- RisingWave
- OceanBase (OBO)
- ClickHouse uses old API format:
opts.LogTransactionControl("BEGIN") - Should be:
opts.LogTransactionControl(storepb.TaskRunLog_TransactionControl_BEGIN, "")