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 34bcec230639bbd8beee611e1967dac4ef697be1
Author: zy-kkk <[email protected]>
AuthorDate: Mon Aug 28 10:30:10 2023 +0800

    [improve](jdbc catalog) support sqlserver uniqueidentifier data type 
(#23297)
---
 docker/thirdparties/docker-compose/sqlserver/init/03-create-table.sql | 4 ++++
 docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql       | 3 +++
 .../org/apache/doris/datasource/jdbc/client/JdbcSQLServerClient.java  | 1 +
 .../data/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.out       | 3 +++
 .../suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy  | 1 +
 5 files changed, 12 insertions(+)

diff --git 
a/docker/thirdparties/docker-compose/sqlserver/init/03-create-table.sql 
b/docker/thirdparties/docker-compose/sqlserver/init/03-create-table.sql
index 09b1cd06e7..a491647e78 100644
--- a/docker/thirdparties/docker-compose/sqlserver/init/03-create-table.sql
+++ b/docker/thirdparties/docker-compose/sqlserver/init/03-create-table.sql
@@ -96,4 +96,8 @@ CREATE TABLE dbo.DateAndTime
     DateTimeOffsetColumn DATETIMEOFFSET
 );
 
+CREATE TABLE dbo.t_id (
+    ID uniqueidentifier PRIMARY KEY,
+    Name nvarchar(100)
+);
 
diff --git a/docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql 
b/docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql
index 4a9b4d2298..3c1f54515c 100644
--- a/docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql
+++ b/docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql
@@ -59,3 +59,6 @@ VALUES (
     '2023-06-25 14:30:45.1234567 -07:00' -- DATETIMEOFFSET
 );
 
+INSERT INTO dbo.t_id (ID, Name) VALUES (NEWID(), 'Data 1');
+INSERT INTO dbo.t_id (ID, Name) VALUES (NEWID(), 'Data 2');
+
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcSQLServerClient.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcSQLServerClient.java
index 0f4b287698..8657b381b0 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcSQLServerClient.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcSQLServerClient.java
@@ -81,6 +81,7 @@ public class JdbcSQLServerClient extends JdbcClient {
             case "ntext":
             case "time":
             case "datetimeoffset":
+            case "uniqueidentifier":
                 return ScalarType.createStringType();
             case "image":
             case "binary":
diff --git 
a/regression-test/data/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.out 
b/regression-test/data/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.out
index d689f4cf6c..c8053812c1 100644
--- 
a/regression-test/data/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.out
+++ 
b/regression-test/data/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.out
@@ -53,3 +53,6 @@
 -- !filter3 --
 1      Make Doris Great!       Make Doris Great!       Make Doris Great!       
Make Doris Great!       Make Doris Great!       Make Doris Great!
 
+-- !id --
+2
+
diff --git 
a/regression-test/suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy
 
b/regression-test/suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy
index 65fa53695e..e532931ce5 100644
--- 
a/regression-test/suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy
+++ 
b/regression-test/suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy
@@ -64,6 +64,7 @@ suite("test_sqlserver_jdbc_catalog", "p0") {
         order_qt_filter1  """ select * from test_char where 1 = 1 order by id; 
"""
         order_qt_filter2  """ select * from test_char where 1 = 1 and id = 1  
order by id; """
         order_qt_filter3  """ select * from test_char where id = 1  order by 
id; """
+        order_qt_id """ select count(*) from (select * from t_id) as a; """
 
 
         sql """ drop catalog if exists ${catalog_name} """


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to