Skip to content

Commit 51ff665

Browse files
committed
Merge remote-tracking branch 'origin/v1.5.0_dev' into v1.8.0_dev
2 parents ffc4da5 + f9a373d commit 51ff665

File tree

3 files changed

+37
-2
lines changed

3 files changed

+37
-2
lines changed

core/src/main/java/com/dtstack/flink/sql/side/SideSqlExec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ private SqlNode replaceSelectFieldName(SqlNode selectNode, HashBasedTable<String
436436
SqlIdentifier sqlIdentifier = (SqlIdentifier) selectNode;
437437

438438
if(sqlIdentifier.names.size() == 1){
439-
return null;
439+
return selectNode;
440440
}
441441

442442
String mappingFieldName = mappingTable.get(sqlIdentifier.getComponent(0).getSimple(), sqlIdentifier.getComponent(1).getSimple());
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.dtstack.flink.sql.util;
2+
3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
5+
6+
import java.sql.DriverManager;
7+
8+
public class JDBCUtils {
9+
10+
private static final Logger LOG = LoggerFactory.getLogger(ClassUtil.class);
11+
12+
public final static String lock_str = "jdbc_lock_str";
13+
14+
public static void forName(String clazz, ClassLoader classLoader) {
15+
synchronized (lock_str){
16+
try {
17+
Class.forName(clazz, true, classLoader);
18+
DriverManager.setLoginTimeout(10);
19+
} catch (Exception e) {
20+
throw new RuntimeException(e);
21+
}
22+
}
23+
}
24+
25+
26+
public synchronized static void forName(String clazz) {
27+
try {
28+
Class<?> driverClass = Class.forName(clazz);
29+
driverClass.newInstance();
30+
} catch (Exception e) {
31+
throw new RuntimeException(e);
32+
}
33+
}
34+
}

rdb/rdb-sink/src/main/java/com/dtstack/flink/sql/sink/rdb/format/RetractJDBCOutputFormat.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package com.dtstack.flink.sql.sink.rdb.format;
2020

2121
import com.dtstack.flink.sql.sink.rdb.RdbSink;
22+
import com.dtstack.flink.sql.util.JDBCUtils;
2223
import org.apache.commons.lang3.StringUtils;
2324
import org.apache.flink.api.java.tuple.Tuple2;
2425
import org.apache.flink.configuration.Configuration;
@@ -136,7 +137,7 @@ public void open(int taskNumber, int numTasks) throws IOException {
136137

137138
private Connection establishConnection() throws SQLException, ClassNotFoundException {
138139
Connection connection ;
139-
Class.forName(drivername);
140+
JDBCUtils.forName(drivername, getClass().getClassLoader());
140141
if (username == null) {
141142
connection = DriverManager.getConnection(dbURL);
142143
} else {

0 commit comments

Comments
 (0)