This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang 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 2bb4554e882 Enhanced Oracle alter database RECOVER syntax (#27246)
2bb4554e882 is described below

commit 2bb4554e882fe7bbf74d02b461017b4eedcb734d
Author: niu niu <[email protected]>
AuthorDate: Tue Jul 18 08:06:04 2023 +0800

    Enhanced Oracle alter database RECOVER syntax (#27246)
---
 .../sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4   | 2 +-
 test/it/parser/src/main/resources/case/ddl/alter-database.xml           | 1 +
 test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml  | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
index 7fafe245dc8..19b594951f1 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
@@ -1387,7 +1387,7 @@ generalRecovery
     ;
 
 fullDatabaseRecovery
-    : STANDBY? DATABASE
+    : STANDBY? DATABASE?
     ((UNTIL (CANCEL | TIME dateValue | CHANGE NUMBER_ | CONSISTENT)
     | USING BACKUP CONTROLFILE
     | SNAPSHOT TIME dateValue
diff --git a/test/it/parser/src/main/resources/case/ddl/alter-database.xml 
b/test/it/parser/src/main/resources/case/ddl/alter-database.xml
index 48c64a792cc..61c8b8a6ea2 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-database.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-database.xml
@@ -68,6 +68,7 @@
     <alter-database 
sql-case-id="alter_database_add_logfile_group_size_m_block_size" />
     <alter-database sql-case-id="alter_database_add_logfile_thread_group" />
     <alter-database sql-case-id="alter_database_add_logfile_with_size_m" />
+    <alter-database sql-case-id="alter_database_recover_automatic_until_time" 
/>
     <alter-database 
sql-case-id="alter_database_add_logfile_member_reuse_to_group" />
     <alter-database sql-case-id="alter_database_add_logfile_group" />
     <alter-database sql-case-id="alter_database_drop_logfile_member" />
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml
index f549c1e9082..c1dfc985b58 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml
@@ -68,6 +68,7 @@
     <sql-case id="alter_database_add_logfile_group_size_m_block_size" 
value="ALTER DATABASE ADD LOGFILE GROUP 10 ('/oracle/dbs/log1c.rdo', 
'/oracle/dbs/log2c.rdo') SIZE 100M BLOCKSIZE 512" db-types="Oracle" />
     <sql-case id="alter_database_add_logfile_thread_group" value="ALTER 
DATABASE ADD LOGFILE THREAD 5 GROUP 4 ('diska:log4.log', 'diskb:log4:log')" 
db-types="Oracle" />
     <sql-case id="alter_database_add_logfile_with_size_m" value="ALTER 
DATABASE ADD LOGFILE ('/oracle/dbs/log1c.rdo', '/oracle/dbs/log2c.rdo') SIZE 
100M" db-types="Oracle" />
+    <sql-case id="alter_database_recover_automatic_until_time" value="ALTER 
DATABASE RECOVER AUTOMATIC UNTIL TIME '2001-10-27:14:00:00'" db-types="Oracle" 
/>
     <sql-case id="alter_database_add_logfile_member_reuse_to_group" 
value="ALTER DATABASE ADD LOGFILE MEMBER '/disk1/oradata/trgt/redo02b.log' 
REUSE TO GROUP 2" db-types="Oracle" />
     <sql-case id="alter_database_add_logfile_group" value="ALTER DATABASE ADD 
LOGFILE GROUP 3 ('diska:log3.log', 'diskb:log3.log') SIZE 50K" 
db-types="Oracle" />
     <sql-case id="alter_database_drop_logfile_member" value="ALTER DATABASE 
DROP LOGFILE MEMBER 'diskb:log3.log'" db-types="Oracle" />

Reply via email to