You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/02/11 12:21:29 UTC

[shardingsphere] branch master updated: Fix chines character encode exception when execute select with sql federation engine (#24120)

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

zhonghongsheng 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 ba612e4b758 Fix chines character encode exception when execute select with sql federation engine (#24120)
ba612e4b758 is described below

commit ba612e4b758aa3f1b3657c24cae0060c1a1d154a
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Sat Feb 11 20:21:23 2023 +0800

    Fix chines character encode exception when execute select with sql federation engine (#24120)
---
 .../executor/core/src/main/resources/saffron.properties | 17 +++++++++++++++++
 .../resources/cases/dql/dql-integration-test-cases.xml  |  4 ++++
 .../resources/env/scenario/db/data/actual/dataset.xml   | 10 ++++++++++
 .../resources/env/scenario/db/data/expected/dataset.xml | 10 ++++++++++
 4 files changed, 41 insertions(+)

diff --git a/kernel/sql-federation/executor/core/src/main/resources/saffron.properties b/kernel/sql-federation/executor/core/src/main/resources/saffron.properties
new file mode 100644
index 00000000000..383b9680584
--- /dev/null
+++ b/kernel/sql-federation/executor/core/src/main/resources/saffron.properties
@@ -0,0 +1,17 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+calcite.default.charset = UTF8
diff --git a/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml b/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
index 7e2c1ebf4df..2ddaa0dd036 100644
--- a/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
+++ b/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
@@ -1227,6 +1227,10 @@
     <test-case sql="SELECT * FROM t_order o INNER JOIN t_order_item i ON o.order_id = i.order_id ORDER BY o.order_id ASC NULLS LAST, i.item_id DESC" db-types="PostgreSQL,openGauss,Oracle" scenario-types="db">
         <assertion expected-data-source-name="read_dataset" />
     </test-case>
+
+    <test-case sql="SELECT * FROM t_order o INNER JOIN t_user i ON o.user_id = i.user_id WHERE user_name LIKE '张%'" db-types="MySQL,PostgreSQL,openGauss" scenario-types="db">
+        <assertion expected-data-source-name="read_dataset" />
+    </test-case>
     
     <test-case sql="SELECT * FROM (SELECT count(*) as count, id from t_single_table group by id) as temp_table" db-types="MySQL" scenario-types="db">
         <assertion expected-data-source-name="read_dataset" />
diff --git a/test/e2e/suite/src/test/resources/env/scenario/db/data/actual/dataset.xml b/test/e2e/suite/src/test/resources/env/scenario/db/data/actual/dataset.xml
index ea7bd2c7dd0..06779945d7e 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/db/data/actual/dataset.xml
+++ b/test/e2e/suite/src/test/resources/env/scenario/db/data/actual/dataset.xml
@@ -247,6 +247,16 @@
     <row data-node="db_0.t_user" values="27, jack, 222333, jack@gmail.com, 12345678917, 2017-08-08" />
     <row data-node="db_0.t_user" values="28, jordan, 333444, jordan@gmail.com, 12345678918, 2017-08-08" />
     <row data-node="db_0.t_user" values="29, julie, 444555, julie@gmail.com, 12345678919, 2017-08-08" />
+    <row data-node="db_0.t_user" values="30, 张三, 123456, zhangsan@gmail.com, 18012312345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="31, 张飞, 234567, zhangfei@gmail.com, 18012412345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="32, 张翼, 345678, zhangyi@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="33, 李四, 456789, lisi@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="34, 李靖, 123123, lijing@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="35, 王献之, 234234, wangxianzhi@qq.com, 18012512345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="36, 王安石, 345345, jeff@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="37, 王羲之, 345345, wangxizhi@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="38, 王莽, 456456, wangmang@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="db_0.t_user" values="39, 王勃, 567567, wangbo@gmail.com, 18012512345, 2017-08-08" />
     <row data-node="db_1.t_merchant" values="1, 86, tencent, 86000001, 86100000001, 2017-08-08" />
     <row data-node="db_1.t_merchant" values="2, 86, haier, 86000002, 86100000002, 2017-08-08" />
     <row data-node="db_1.t_merchant" values="3, 86, huawei, 86000003, 86100000003, 2017-08-08" />
diff --git a/test/e2e/suite/src/test/resources/env/scenario/db/data/expected/dataset.xml b/test/e2e/suite/src/test/resources/env/scenario/db/data/expected/dataset.xml
index 53d483b5d4a..278e8e5bd3c 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/db/data/expected/dataset.xml
+++ b/test/e2e/suite/src/test/resources/env/scenario/db/data/expected/dataset.xml
@@ -247,6 +247,16 @@
     <row data-node="expected_dataset.t_user" values="27, jack, 222333, jack@gmail.com, 12345678917, 2017-08-08" />
     <row data-node="expected_dataset.t_user" values="28, jordan, 333444, jordan@gmail.com, 12345678918, 2017-08-08" />
     <row data-node="expected_dataset.t_user" values="29, julie, 444555, julie@gmail.com, 12345678919, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="30, 张三, 123456, zhangsan@gmail.com, 18012312345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="31, 张飞, 234567, zhangfei@gmail.com, 18012412345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="32, 张翼, 345678, zhangyi@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="33, 李四, 456789, lisi@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="34, 李靖, 123123, lijing@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="35, 王献之, 234234, wangxianzhi@qq.com, 18012512345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="36, 王安石, 345345, jeff@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="37, 王羲之, 345345, wangxizhi@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="38, 王莽, 456456, wangmang@gmail.com, 18012512345, 2017-08-08" />
+    <row data-node="expected_dataset.t_user" values="39, 王勃, 567567, wangbo@gmail.com, 18012512345, 2017-08-08" />
     <row data-node="expected_dataset.t_merchant" values="1, 86, tencent, 86000001, 86100000001, 2017-08-08" />
     <row data-node="expected_dataset.t_merchant" values="2, 86, haier, 86000002, 86100000002, 2017-08-08" />
     <row data-node="expected_dataset.t_merchant" values="3, 86, huawei, 86000003, 86100000003, 2017-08-08" />