in src/main/java/com/aliyun/ha3engine/jdbc/Ha3PreparedStatement.java [61:90]
public Ha3PreparedStatement(Ha3Connection ha3Connection, CloudClient cloudClient, String sql)
throws SQLException {
super(ha3Connection, cloudClient);
preparedSql = sql.trim();
preparedSql = preparedSql.replaceAll("\r", " ").replaceAll("\n", " ");
String sqlNorm = preparedSql.trim().toLowerCase();
if (sqlNorm.startsWith("query=")) {
sqlNorm = sqlNorm.replaceFirst("query=", "");
}
int startOfStmtPos = findStartOfStatement(sqlNorm);
firstStmtChar = Character.toUpperCase(sqlNorm.charAt(startOfStmtPos));
String fromIndex = null;
String[] sqlParts = preparedSql.trim().split(" ");
for (int i = 0; i < sqlParts.length; i++) {
if (firstStmtChar == 'S') {
if ("from".equals(sqlParts[i].toLowerCase())) {
fromIndex = sqlParts[i + 1];
ha3Connection.setSchema(fromIndex);
break;
}
} else {
throw new SQLException(
"Provided query type '" + firstStmtChar + "' is not supported!");
}
}
String[] parts = (sql + ";").split("\\?");
this.sqlAndParams = new Object[parts.length];
}