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>