in src/main/java/com/aliyun/odps/jdbc/OdpsStatement.java [208:237]
public synchronized ResultSet executeQuery(String query) throws SQLException {
Properties properties = new Properties();
if (!connHandle.isSkipSqlCheck()) {
SettingParser.ParseResult parseResult = SettingParser.parse(query);
query = parseResult.getRemainingQuery();
properties.putAll(parseResult.getSettings());
}
if (StringUtils.isBlank(query)) {
// only settings, just set properties
processSetClause(properties);
return EMPTY_RESULT_SET;
} else {
try {
processSetClauseExtra(properties);
} catch (OdpsException e) {
throw new SQLException(e.getMessage(), e);
}
}
// otherwise those properties is just for this query
if (processUseClause(query)) {
return EMPTY_RESULT_SET;
}
checkClosed();
beforeExecute();
runSQL(query, properties, false);
return hasResultSet() ? getResultSet() : EMPTY_RESULT_SET;
}