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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]