public ResultSet executeQuery()

in src/main/java/com/aliyun/ha3engine/jdbc/Ha3Statement.java [57:83]


    public ResultSet executeQuery(String sql) throws SQLException {
        sql = sql.trim();

        sql = sql.replaceAll("\r", " ").replaceAll("\n", " ");
        String sqlNorm = sql.trim().toLowerCase();
        if (sqlNorm.startsWith("query=")) {
            sqlNorm = sqlNorm.replaceFirst("query=", "");
        }
        int startOfStmtPos = findStartOfStatement(sqlNorm);
        char firstStmtChar = Character.toUpperCase(sqlNorm.charAt(startOfStmtPos));
        if (firstStmtChar == 'S') {
            String fromIndex = null;
            String[] sqlParts = sql.split(" ");
            for (int i = 0; i < sqlParts.length; i++) {
                if ("from".equals(sqlParts[i].toLowerCase())) {
                    fromIndex = sqlParts[i + 1];
                    break;
                }
            }
            ha3Connection.setSchema(fromIndex);
            this.execute(sql);
            return ha3ResultSet;
        } else {
            throw new SQLException(
                "Provided query type '" + firstStmtChar + "' is not supported!");
        }
    }