This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 7ac818b74c6b1f5c778717513ab0bf7f6140acb0 Author: zy-kkk <zhongy...@gmail.com> AuthorDate: Thu Jul 27 10:18:37 2023 +0800 [improvement](jdbc catalog) improve mysql jdbc catalog read bytea`s types & else improve (#22233) --- .../src/main/java/org/apache/doris/jdbc/JdbcExecutor.java | 7 ++++--- .../main/java/org/apache/doris/external/jdbc/JdbcMySQLClient.java | 3 --- regression-test/data/jdbc_catalog_p0/test_mysql_jdbc_catalog.out | 8 ++++---- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/JdbcExecutor.java b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/JdbcExecutor.java index cc1071233e..42ade80066 100644 --- a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/JdbcExecutor.java +++ b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/JdbcExecutor.java @@ -460,7 +460,7 @@ public class JdbcExecutor { } private void setValidationQuery(DruidDataSource ds, TOdbcTableType tableType) { - if (tableType == TOdbcTableType.ORACLE) { + if (tableType == TOdbcTableType.ORACLE || tableType == TOdbcTableType.OCEANBASE_ORACLE) { ds.setValidationQuery("SELECT 1 FROM dual"); } else if (tableType == TOdbcTableType.SAP_HANA) { ds.setValidationQuery("SELECT 1 FROM DUMMY"); @@ -1699,7 +1699,7 @@ public class JdbcExecutor { if (hex.length() == 1) { hexString.append('0'); } - hexString.append(hex); + hexString.append(hex.toUpperCase()); } return hexString.toString(); } @@ -1724,7 +1724,8 @@ public class JdbcExecutor { && tableType == TOdbcTableType.CLICKHOUSE) { // for clickhouse ipv4 and ipv6 type ipPutToString(column, isNullable, numRows, nullMapAddr, offsetsAddr, charsAddr); - } else if (column[firstNotNullIndex] instanceof byte[] && tableType == TOdbcTableType.MYSQL) { + } else if (column[firstNotNullIndex] instanceof byte[] && (tableType == TOdbcTableType.MYSQL + || tableType == TOdbcTableType.OCEANBASE)) { // for mysql bytea type byteaPutToMySQLString(column, isNullable, numRows, nullMapAddr, offsetsAddr, charsAddr); } else { diff --git a/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcMySQLClient.java b/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcMySQLClient.java index 5152e4b3e9..efbfcfd70c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcMySQLClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/external/jdbc/JdbcMySQLClient.java @@ -324,10 +324,7 @@ public class JdbcMySQLClient extends JdbcClient { case "BLOB": case "MEDIUMBLOB": case "LONGBLOB": - case "TINYSTRING": case "STRING": - case "MEDIUMSTRING": - case "LONGSTRING": case "SET": case "BINARY": case "VARBINARY": diff --git a/regression-test/data/jdbc_catalog_p0/test_mysql_jdbc_catalog.out b/regression-test/data/jdbc_catalog_p0/test_mysql_jdbc_catalog.out index ae3ac39fbe..81ce6f369b 100644 --- a/regression-test/data/jdbc_catalog_p0/test_mysql_jdbc_catalog.out +++ b/regression-test/data/jdbc_catalog_p0/test_mysql_jdbc_catalog.out @@ -296,10 +296,10 @@ sys {"k1":"v1", "k2":"v2"} -- !mysql_all_types -- -\N 302 \N 502 602 4.14159 \N 6.14159 \N -124 -302 2013 -402 -502 -602 \N 2012-10-26T02:08:39.345700 2013-10-26T08:09:18 -5.14145 \N -7.1400 row2 \N 09:11:09.567 text2 0xe86f6c6c6f20576f726c67 \N \N 0x2f \N 0x88656c6c9f Value3 -201 301 401 501 601 3.14159 4.1415926 5.14159 1 -123 -301 2012 -401 -501 -601 2012-10-30 2012-10-25T12:05:36.345700 2012-10-25T08:08:08 -4.14145 -5.1400000001 -6.1400 row1 line1 09:09:09.567 text1 0x48656c6c6f20576f726c64 {"age":30,"city":"London","name":"Alice"} Option1,Option3 0x2a 0x48656c6c6f00000000000000 0x48656c6c6f Value2 -202 302 402 502 602 4.14159 5.1415926 6.14159 0 -124 -302 2013 -402 -502 -602 2012-11-01 2012-10-26T02:08:39.345700 2013-10-26T08:09:18 -5.14145 -6.1400000001 -7.1400 row2 line2 09:11:09.567 text2 0xe86f6c6c6f20576f726c67 {"age":18,"city":"ChongQing","name":"Gaoxin"} Option1,Option2 0x2f 0x58676c6c6f00000000000000 0x88656c6c9f Value3 -203 303 403 503 603 7.14159 8.1415926 9.14159 0 \N -402 2017 -602 -902 -1102 2012-11-02 \N 2013-10-27T08:11:18 -5.14145 -6.1400000000001 -7.1400 row3 line3 09:11:09.567 text3 0xe86f6c6c6f20576f726c67 {"age":24,"city":"ChongQing","name":"ChenQi"} Option2 0x2f 0x58676c6c6f00000000000000 \N Value1 +\N 302 \N 502 602 4.14159 \N 6.14159 \N -124 -302 2013 -402 -502 -602 \N 2012-10-26T02:08:39.345700 2013-10-26T08:09:18 -5.14145 \N -7.1400 row2 \N 09:11:09.567 text2 0xE86F6C6C6F20576F726C67 \N \N 0x2F \N 0x88656C6C9F Value3 +201 301 401 501 601 3.14159 4.1415926 5.14159 1 -123 -301 2012 -401 -501 -601 2012-10-30 2012-10-25T12:05:36.345700 2012-10-25T08:08:08 -4.14145 -5.1400000001 -6.1400 row1 line1 09:09:09.567 text1 0x48656C6C6F20576F726C64 {"age":30,"city":"London","name":"Alice"} Option1,Option3 0x2A 0x48656C6C6F00000000000000 0x48656C6C6F Value2 +202 302 402 502 602 4.14159 5.1415926 6.14159 0 -124 -302 2013 -402 -502 -602 2012-11-01 2012-10-26T02:08:39.345700 2013-10-26T08:09:18 -5.14145 -6.1400000001 -7.1400 row2 line2 09:11:09.567 text2 0xE86F6C6C6F20576F726C67 {"age":18,"city":"ChongQing","name":"Gaoxin"} Option1,Option2 0x2F 0x58676C6C6F00000000000000 0x88656C6C9F Value3 +203 303 403 503 603 7.14159 8.1415926 9.14159 0 \N -402 2017 -602 -902 -1102 2012-11-02 \N 2013-10-27T08:11:18 -5.14145 -6.1400000000001 -7.1400 row3 line3 09:11:09.567 text3 0xE86F6C6C6F20576F726C67 {"age":24,"city":"ChongQing","name":"ChenQi"} Option2 0x2F 0x58676C6C6F00000000000000 \N Value1 -- !mysql_view -- 10086 4294967295 201 --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org