-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
statement-compatibilityClient-side statement and system variable compatibility with java-spanner/go-sql-spannerClient-side statement and system variable compatibility with java-spanner/go-sql-spanner
Description
Rename CLI_ASYNC_DDL to DDL_EXECUTION_MODE enum variable
Context
Part of #47 (java-spanner/go-sql-spanner compatibility). Currently CLI_ASYNC_DDL is a boolean variable that doesn't match upstream naming or behavior.
Upstream References
- go-sql-spanner v1.24.0 (
connection_properties.go:328-389):ddl_execution_modeenum (SYNC/ASYNC/ASYNC_WAIT) +ddl_async_wait_timeout(default 10s) - java-spanner:
ddlExecutionModeconnection-time property
Changes Required
Variable Rename and Type Change
- Rename
CLI_ASYNC_DDL(bool) →DDL_EXECUTION_MODE(enum: SYNC, ASYNC, ASYNC_WAIT) - SYNC = current
false(default) - ASYNC = current
true - ASYNC_WAIT = new mode (wait for DDL completion with timeout)
New Companion Variable
- Add
DDL_ASYNC_WAIT_TIMEOUTduration variable (default 10s, per go-sql-spanner) - Only effective when
DDL_EXECUTION_MODE = ASYNC_WAIT
CLI Flag Update
- Update
--asyncCLI flag to map toDDL_EXECUTION_MODE = ASYNC
Backward Compatibility
- No backward compatibility required per project philosophy
Acceptance Criteria
-
SET DDL_EXECUTION_MODE = 'SYNC'/'ASYNC'/'ASYNC_WAIT'works -
SHOW VARIABLE DDL_EXECUTION_MODEworks -
SET DDL_ASYNC_WAIT_TIMEOUT = '30s'works -
SHOW VARIABLE DDL_ASYNC_WAIT_TIMEOUTworks -
--asyncCLI flag sets mode to ASYNC - ASYNC_WAIT mode waits for DDL completion with configurable timeout
-
CLI_ASYNC_DDLis fully removed -
make checkpasses
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
statement-compatibilityClient-side statement and system variable compatibility with java-spanner/go-sql-spannerClient-side statement and system variable compatibility with java-spanner/go-sql-spanner