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 c91a31a5ad2 Fix oracle does not support the content keyword (#26874)
c91a31a5ad2 is described below

commit c91a31a5ad26e75805a0397e59c0dceaca70db39
Author: ZhangCheng <[email protected]>
AuthorDate: Mon Jul 10 14:50:21 2023 +0800

    Fix oracle does not support the content keyword (#26874)
    
    * Fix oracle does not support the content keyword
    
    * fix
---
 .../oracle/src/main/antlr4/imports/oracle/BaseRule.g4  |  2 +-
 test/it/parser/src/main/resources/case/dml/insert.xml  | 18 ++++++++++++++++++
 .../src/main/resources/sql/supported/dml/insert.xml    |  1 +
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
index 9c2815ebdd1..0db385569eb 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
@@ -163,7 +163,7 @@ unreservedWord
     | HOST | PORT | EVERY | MINUTES | HOURS | NORELOCATE | SAVE | DISCARD | 
APPLICATION | INSTALL
     | MINIMUM | VERSION | UNINSTALL | COMPATIBILITY | MATERIALIZE | SUBTYPE | 
RECORD | CONSTANT | CURSOR
     | OTHERS | EXCEPTION | CPU_PER_SESSION | CONNECT_TIME | 
LOGICAL_READS_PER_SESSION | PRIVATE_SGA | PERCENT_RANK | ROWID
-    | LPAD | ZONE | SESSIONTIMEZONE | TO_CHAR | XMLELEMENT | COLUMN_VALUE | 
EVALNAME | LEVEL
+    | LPAD | ZONE | SESSIONTIMEZONE | TO_CHAR | XMLELEMENT | COLUMN_VALUE | 
EVALNAME | LEVEL | CONTENT
     ;
 
 schemaName
diff --git a/test/it/parser/src/main/resources/case/dml/insert.xml 
b/test/it/parser/src/main/resources/case/dml/insert.xml
index 281da0ec2f9..bdf6fdd2fbf 100644
--- a/test/it/parser/src/main/resources/case/dml/insert.xml
+++ b/test/it/parser/src/main/resources/case/dml/insert.xml
@@ -2269,4 +2269,22 @@
             </value>
         </values>
     </insert>
+    
+    <insert sql-case-id="insert_with_content_keyword">
+        <table name="SYS_MQ_MSG" start-index="12" stop-index="21" />
+        <columns start-index="23" stop-index="35">
+            <column name="ID" start-index="24" stop-index="25" />
+            <column name="CONTENT" start-index="28" stop-index="34" />
+        </columns>
+        <values>
+            <value>
+                <assignment-value>
+                    <literal-expression value="1" start-index="45" 
stop-index="45" />
+                </assignment-value>
+                <assignment-value>
+                    <literal-expression value="test" start-index="48" 
stop-index="53" />
+                </assignment-value>
+            </value>
+        </values>
+    </insert>
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/dml/insert.xml 
b/test/it/parser/src/main/resources/sql/supported/dml/insert.xml
index 47b748cf8cc..5a5ad3e4e13 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/insert.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/insert.xml
@@ -91,4 +91,5 @@
     <sql-case id="insert_on_duplicate_key_update_multi_column" value="INSERT 
INTO t_order (order_id, user_id, status) VALUES (1, 1, 'insert') ON DUPLICATE 
KEY UPDATE user_id = user_id + 1, status='update'" db-types="MySQL,openGauss" />
     <sql-case id="insert_with_negative_value" value="insert into t_order 
(order_id, user_id, status) values (?, ?, ?)" />
     <sql-case id="insert_datetime_literals" value="INSERT INTO date_tab VALUES 
( TIMESTAMP'1999-12-01 10:00:00', TIMESTAMP'1999-12-01 10:00:00', 
TIMESTAMP'1999-12-01 10:00:00');" db-types="Oracle" />
+    <sql-case id="insert_with_content_keyword" value="INSERT INTO SYS_MQ_MSG 
(ID, CONTENT) VALUES (1, 'test');" db-types="Oracle" />
 </sql-cases>

Reply via email to