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

diwu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-kafka-connector.git


The following commit(s) were added to refs/heads/master by this push:
     new dc02d7d  [Improve]Optimize to determine whether table in doris exists 
(#26)
dc02d7d is described below

commit dc02d7d0b015bc76823965cddeee69d0406d3671
Author: wudongliang <46414265+donglian...@users.noreply.github.com>
AuthorDate: Wed Jun 5 14:22:15 2024 +0800

    [Improve]Optimize to determine whether table in doris exists (#26)
---
 .../connector/service/DorisSystemService.java      | 28 ++++++++++++----------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git 
a/src/main/java/org/apache/doris/kafka/connector/service/DorisSystemService.java
 
b/src/main/java/org/apache/doris/kafka/connector/service/DorisSystemService.java
index b627daf..3622400 100644
--- 
a/src/main/java/org/apache/doris/kafka/connector/service/DorisSystemService.java
+++ 
b/src/main/java/org/apache/doris/kafka/connector/service/DorisSystemService.java
@@ -22,8 +22,10 @@ package org.apache.doris.kafka.connector.service;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Objects;
+import java.util.Set;
 import java.util.function.Predicate;
 import org.apache.commons.compress.utils.Lists;
 import org.apache.doris.kafka.connector.cfg.DorisOptions;
@@ -47,29 +49,31 @@ public class DorisSystemService {
             Collections.singletonList("information_schema");
 
     public boolean tableExists(String database, String table) {
-        return databaseExists(database) && 
listTables(database).contains(table);
+        return listTables(database).contains(table);
     }
 
     public boolean databaseExists(String database) {
         return listDatabases().contains(database);
     }
 
-    public List<String> listDatabases() {
-        return extractColumnValuesBySQL(
-                "SELECT `SCHEMA_NAME` FROM `INFORMATION_SCHEMA`.`SCHEMATA`;",
-                1,
-                dbName -> !builtinDatabases.contains(dbName));
+    public Set<String> listDatabases() {
+        return new HashSet<>(
+                extractColumnValuesBySQL(
+                        "SELECT `SCHEMA_NAME` FROM 
`INFORMATION_SCHEMA`.`SCHEMATA`;",
+                        1,
+                        dbName -> !builtinDatabases.contains(dbName)));
     }
 
-    public List<String> listTables(String databaseName) {
+    public Set<String> listTables(String databaseName) {
         if (!databaseExists(databaseName)) {
             throw new DorisException("database" + databaseName + " is not 
exists");
         }
-        return extractColumnValuesBySQL(
-                "SELECT TABLE_NAME FROM information_schema.`TABLES` WHERE 
TABLE_SCHEMA = ?",
-                1,
-                null,
-                databaseName);
+        return new HashSet<>(
+                extractColumnValuesBySQL(
+                        "SELECT TABLE_NAME FROM information_schema.`TABLES` 
WHERE TABLE_SCHEMA = ?",
+                        1,
+                        null,
+                        databaseName));
     }
 
     public boolean isColumnExist(String database, String tableName, String 
columnName) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to