This is an automated email from the ASF dual-hosted git repository.
terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 3b0cb59111e Support parsing Oracle RMAN CHANGE DB_UNIQUE_NAME SQL
(#39585)
3b0cb59111e is described below
commit 3b0cb59111edc75a4b67443f76df02326bd353c7
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Aug 23 22:47:52 2026 +0800
Support parsing Oracle RMAN CHANGE DB_UNIQUE_NAME SQL (#39585)
- Add the CHANGE DB_UNIQUE_NAME FROM identifier TO identifier branch to the
Oracle DAL change rule introduced for RMAN CHANGE statements, covering the
rename form requested by issue #27017
- Reuse the field-less OracleChangeStatement passthrough model and existing
CHANGE visitor rule, so no statement, visitor or assert change is required
- Add the CHANGE DB_UNIQUE_NAME FROM BOSTON_A TO BOSTON_B parser IT case
Fixes #27017
---
.../dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4 | 3 ++-
test/it/parser/src/main/resources/case/dal/change.xml | 1 +
test/it/parser/src/main/resources/sql/supported/dal/change.xml | 1 +
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git
a/parser/sql/engine/dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4
b/parser/sql/engine/dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4
index 4b7b6911b6c..d42097b87bf 100644
---
a/parser/sql/engine/dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4
+++
b/parser/sql/engine/dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4
@@ -205,7 +205,8 @@ report
;
change
- : CHANGE BACKUPSET numberLiterals changeOption?
+ : CHANGE DB_UNIQUE_NAME FROM identifier TO identifier
+ | CHANGE BACKUPSET numberLiterals changeOption?
| CHANGE DATAFILECOPY (stringLiterals | numberLiterals) changeOption?
| CHANGE COPY OF ARCHIVELOG SEQUENCE BETWEEN numberLiterals AND
numberLiterals changeOption?
| CHANGE BACKUP OF SPFILE TAG (stringLiterals | DOUBLE_QUOTED_TEXT)
changeOption?
diff --git a/test/it/parser/src/main/resources/case/dal/change.xml
b/test/it/parser/src/main/resources/case/dal/change.xml
index 6d653c4ab06..8c76fbd1220 100644
--- a/test/it/parser/src/main/resources/case/dal/change.xml
+++ b/test/it/parser/src/main/resources/case/dal/change.xml
@@ -17,6 +17,7 @@
-->
<sql-parser-test-cases>
+ <change sql-case-id="change_db_unique_name_oracle" />
<change sql-case-id="change_backupset_nokeep_oracle" />
<change sql-case-id="change_backupset_unavailable_oracle" />
<change sql-case-id="change_backupset_available_oracle" />
diff --git a/test/it/parser/src/main/resources/sql/supported/dal/change.xml
b/test/it/parser/src/main/resources/sql/supported/dal/change.xml
index 354f72f9146..fa9102d4757 100644
--- a/test/it/parser/src/main/resources/sql/supported/dal/change.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dal/change.xml
@@ -17,6 +17,7 @@
-->
<sql-cases>
+ <sql-case id="change_db_unique_name_oracle" value="CHANGE DB_UNIQUE_NAME
FROM BOSTON_A TO BOSTON_B" db-types="Oracle" />
<sql-case id="change_backupset_nokeep_oracle" value="CHANGE BACKUPSET 231
NOKEEP" db-types="Oracle" />
<sql-case id="change_backupset_unavailable_oracle" value="CHANGE BACKUPSET
12 UNAVAILABLE" db-types="Oracle" />
<sql-case id="change_backupset_available_oracle" value="CHANGE BACKUPSET
12 AVAILABLE" db-types="Oracle" />