in src/main/java/com/aliyun/odps/jdbc/OdpsAsyncStatement.java [59:100]
private void runSQL(String sql, Properties properties) throws SQLException {
SQLExecutor executor = this.sqlExecutor;
try {
// If the client forget to end with a semi-colon, append it.
if (!sql.endsWith(";")) {
sql += ";";
}
Map<String, String> settings = new HashMap<>();
for (String key : sqlTaskProperties.stringPropertyNames()) {
settings.put(key, sqlTaskProperties.getProperty(key));
}
inputProperties = new Properties();
if (properties != null && !properties.isEmpty()) {
for (String key : properties.stringPropertyNames()) {
settings.put(key, properties.getProperty(key));
inputProperties.put(key, properties.getProperty(key));
}
}
if (!settings.isEmpty()) {
connHandle.log.info("Enabled SQL task properties: " + settings);
}
long begin = System.currentTimeMillis();
if (queryTimeout != -1 && !settings.containsKey("odps.sql.session.query.timeout")) {
settings.put("odps.sql.session.query.timeout", String.valueOf(queryTimeout));
}
Long autoSelectLimit = connHandle.getAutoSelectLimit();
if (autoSelectLimit != null && autoSelectLimit > 0) {
settings.put("odps.sql.select.auto.limit", autoSelectLimit.toString());
}
executor.run(sql, settings);
connHandle.log.info("Run SQL: [" + sql + "],submit cost: " + (System.currentTimeMillis() - begin) + "ms");
logviewUrl = executor.getLogView();
connHandle.log.info("LogView: " + logviewUrl);
executeInstance = executor.getInstance();
if (executeInstance != null) {
connHandle.log.info("InstanceId: " + executeInstance.getId());
}
} catch (OdpsException e) {
throwSQLException(e, sql, executor.getInstance(), executor.getLogView());
}
}