Skip to content

Commit

Permalink
fix: print like problem (DataLinkDC#2780)
Browse files Browse the repository at this point in the history
Signed-off-by: licho <lecho.sun@gmail.com>
  • Loading branch information
leechor authored Dec 25, 2023
1 parent 005e092 commit efd8cbb
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 10 deletions.
6 changes: 2 additions & 4 deletions dinky-core/src/main/java/org/dinky/explainer/Explainer.java
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,8 @@ public JobParam pretreatStatements(String[] statements) {
int port = Integer.parseInt(config.getOrDefault("dinky.dinkyPrintPort", "7125"));
String[] tableNames = PrintStatementExplainer.getTableNames(statement);
for (String tableName : tableNames) {
ddl.add(new StatementParam(
PrintStatementExplainer.getCreateStatement(tableName, host, port), SqlType.CREATE));
trans.add(
new StatementParam(PrintStatementExplainer.getInsertStatement(tableName), SqlType.INSERT));
trans.add(new StatementParam(
PrintStatementExplainer.getCreateStatement(tableName, host, port), SqlType.CTAS));
}
} else {
UDF udf = UDFUtil.toUDF(statement, jobManager.getDinkyClassLoader());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ public class PrintStatementExplainer {

public static final String CREATE_SQL_TEMPLATE = "CREATE TABLE print_{0} WITH (''connector'' = ''printnet'', "
+ "''port''=''{2,number,#}'', ''hostName'' = ''{1}'')\n"
+ "LIKE {0};";
public static final String INSERT_SQL_TEMPLATE = "insert into print_{0} select * from {0};";
+ "AS SELECT * FROM {0}";
public static final int DEFAULT_PORT = 7125;

public static String[] getTableNames(String statement) {
Expand All @@ -55,10 +54,6 @@ public static String[] splitTableNames(String statement) {
throw new IllegalArgumentException("Invalid print statement: " + statement);
}

public static String getInsertStatement(String tableName) {
return MessageFormat.format(INSERT_SQL_TEMPLATE, tableName);
}

public static String getCreateStatement(String tableName, String localIp, Integer localPort) {
String ip = Strings.isNullOrEmpty(localIp)
? getSystemLocalIp().map(InetAddress::getHostAddress).orElse("127.0.0.1")
Expand Down

0 comments on commit efd8cbb

Please sign in to comment.