You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2021/11/15 10:42:12 UTC
[shardingsphere] branch master updated: support pg/og amp operator. (#13616)
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 7a9a2d9 support pg/og amp operator. (#13616)
7a9a2d9 is described below
commit 7a9a2d9321557954cd83e5b6bcba462b55b8cc21
Author: tuichenchuxin <86...@users.noreply.github.com>
AuthorDate: Mon Nov 15 18:41:32 2021 +0800
support pg/og amp operator. (#13616)
---
.../src/main/antlr4/imports/opengauss/BaseRule.g4 | 2 ++
.../src/main/antlr4/imports/postgresql/BaseRule.g4 | 2 ++
.../src/main/resources/case/dml/select-expression.xml | 12 ++++++++++++
.../main/resources/sql/supported/dml/select-expression.xml | 2 ++
4 files changed, 18 insertions(+)
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-opengauss/src/main/antlr4/imports/opengauss/BaseRule.g4 b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-opengauss/src/main/antlr4/imports/opengauss/BaseRule.g4
index 24b5893..d50d4e1 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-opengauss/src/main/antlr4/imports/opengauss/BaseRule.g4
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-opengauss/src/main/antlr4/imports/opengauss/BaseRule.g4
@@ -543,6 +543,8 @@ aExpr
| aExpr SLASH_ aExpr
| aExpr MOD_ aExpr
| aExpr CARET_ aExpr
+ | aExpr AMPERSAND_ aExpr
+ | aExpr VERTICAL_BAR_ aExpr
| aExpr qualOp aExpr
| qualOp aExpr
| aExpr qualOp
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/antlr4/imports/postgresql/BaseRule.g4 b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/antlr4/imports/postgresql/BaseRule.g4
index 99651b1..8e09e61 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/antlr4/imports/postgresql/BaseRule.g4
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/antlr4/imports/postgresql/BaseRule.g4
@@ -543,6 +543,8 @@ aExpr
| aExpr SLASH_ aExpr
| aExpr MOD_ aExpr
| aExpr CARET_ aExpr
+ | aExpr AMPERSAND_ aExpr
+ | aExpr VERTICAL_BAR_ aExpr
| aExpr qualOp aExpr
| qualOp aExpr
| aExpr qualOp
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select-expression.xml b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select-expression.xml
index 9f63536..5a7f380 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select-expression.xml
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select-expression.xml
@@ -1816,4 +1816,16 @@
<simple-table name="t_order" start-index="65" stop-index="71" />
</from>
</select>
+
+ <select sql-case-id="select_with_amp">
+ <projections start-index="7" stop-index="11">
+ <expression-projection text="1 & 1" start-index="7" stop-index="11"/>
+ </projections>
+ </select>
+
+ <select sql-case-id="select_with_vertical_bar">
+ <projections start-index="7" stop-index="11">
+ <expression-projection text="1 | 1" start-index="7" stop-index="11"/>
+ </projections>
+ </select>
</sql-parser-test-cases>
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/select-expression.xml b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/select-expression.xml
index 19ab93a..0c1231c 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/select-expression.xml
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/select-expression.xml
@@ -80,4 +80,6 @@
<sql-case id="select_where_with_subquery" value="SELECT last_name, department_id FROM employees WHERE department_id = (SELECT department_id FROM employees WHERE last_name = 'Lorentz') ORDER BY last_name, department_id" db-types="Oracle"/>
<sql-case id="select_where_with_expr_with_not_in" value="SELECT * FROM employees WHERE department_id NOT IN (SELECT department_id FROM departments WHERE location_id = 1700) ORDER BY last_name" db-types="Oracle"/>
<sql-case id="select_projections_with_expr" value="SELECT 10+20,CASE order_id WHEN 1 THEN '11' ELSE '00' END,1 FROM t_order" db-types="MySQL"/>
+ <sql-case id="select_with_amp" value="select 1 & 1" db-types="PostgreSQL,openGauss" />
+ <sql-case id="select_with_vertical_bar" value="select 1 | 1" db-types="PostgreSQL,openGauss" />
</sql-cases>