Skip to content

Commit 6632a40

Browse files
authored
[Improve] Improve StarRocks Catalog Base Url (#4215)
1 parent 8d5712c commit 6632a40

File tree

1 file changed

+21
-13
lines changed
  • seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog

1 file changed

+21
-13
lines changed

seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCatalog.java

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@
6262
public class StarRocksCatalog implements Catalog {
6363

6464
protected final String catalogName;
65-
protected final String defaultDatabase;
65+
protected String defaultDatabase = "default";
6666
protected final String username;
6767
protected final String pwd;
6868
protected final String baseUrl;
69-
protected final String defaultUrl;
69+
protected String defaultUrl;
7070

7171
private static final Set<String> SYS_DATABASES = new HashSet<>();
7272
private static final Logger LOG = LoggerFactory.getLogger(StarRocksCatalog.class);
@@ -87,14 +87,17 @@ public StarRocksCatalog(
8787
checkArgument(StringUtils.isNotBlank(defaultUrl));
8888

8989
defaultUrl = defaultUrl.trim();
90-
validateJdbcUrlWithDatabase(defaultUrl);
90+
if (validateJdbcUrlWithDatabase(defaultUrl)) {
91+
String[] strings = splitDefaultUrl(defaultUrl);
92+
this.baseUrl = strings[0];
93+
this.defaultDatabase = strings[1];
94+
} else {
95+
this.baseUrl = defaultUrl;
96+
}
9197
this.catalogName = catalogName;
9298
this.username = username;
9399
this.pwd = pwd;
94100
this.defaultUrl = defaultUrl;
95-
String[] strings = splitDefaultUrl(defaultUrl);
96-
this.baseUrl = strings[0];
97-
this.defaultDatabase = strings[1];
98101
}
99102

100103
public StarRocksCatalog(
@@ -109,13 +112,18 @@ public StarRocksCatalog(
109112
checkArgument(StringUtils.isNotBlank(baseUrl));
110113

111114
baseUrl = baseUrl.trim();
112-
validateJdbcUrlWithoutDatabase(baseUrl);
115+
if (validateJdbcUrlWithoutDatabase(baseUrl)) {
116+
this.baseUrl = baseUrl.endsWith("/") ? baseUrl : baseUrl + "/";
117+
this.defaultUrl = this.baseUrl + defaultDatabase;
118+
} else {
119+
String[] strings = splitDefaultUrl(baseUrl);
120+
this.baseUrl = strings[0];
121+
}
113122
this.catalogName = catalogName;
114123
this.defaultDatabase = defaultDatabase;
115124
this.username = username;
116125
this.pwd = pwd;
117-
this.baseUrl = baseUrl.endsWith("/") ? baseUrl : baseUrl + "/";
118-
this.defaultUrl = this.baseUrl + defaultDatabase;
126+
119127
}
120128

121129
@Override
@@ -326,19 +334,19 @@ public void createTable(String sql) throws TableAlreadyExistException, DatabaseN
326334
* URL has to be without database, like "jdbc:mysql://localhost:5432/" or
327335
* "jdbc:mysql://localhost:5432" rather than "jdbc:mysql://localhost:5432/db".
328336
*/
329-
public static void validateJdbcUrlWithoutDatabase(String url) {
337+
public static boolean validateJdbcUrlWithoutDatabase(String url) {
330338
String[] parts = url.trim().split("\\/+");
331339

332-
checkArgument(parts.length == 2);
340+
return parts.length == 2;
333341
}
334342

335343
/**
336344
* URL has to be with database, like "jdbc:mysql://localhost:5432/db" rather than "jdbc:mysql://localhost:5432/".
337345
*/
338346
@SuppressWarnings("MagicNumber")
339-
public static void validateJdbcUrlWithDatabase(String url) {
347+
public static boolean validateJdbcUrlWithDatabase(String url) {
340348
String[] parts = url.trim().split("\\/+");
341-
checkArgument(parts.length == 3);
349+
return parts.length == 3;
342350
}
343351

344352
/**

0 commit comments

Comments
 (0)