private static int findStartOfStatement()

in src/main/java/com/aliyun/ha3engine/jdbc/Ha3Statement.java [89:121]


    private static int findStartOfStatement(String sql, int pos) {
        int statementStartPos = pos;
        while (Character.isWhitespace(sql.charAt(statementStartPos))) {
            statementStartPos++;
        }
        if (Ha3ToolUtils.startsWithIgnoreCaseAndWs(sql, "/*", statementStartPos)) {
            statementStartPos = statementStartPos + 2;
            statementStartPos = sql.indexOf("*/", statementStartPos);
            if (statementStartPos == -1) {
                statementStartPos = 0;
            } else {
                statementStartPos += 2;
            }
        } else if (Ha3ToolUtils.startsWithIgnoreCaseAndWs(sql, "--", statementStartPos)
            || Ha3ToolUtils.startsWithIgnoreCaseAndWs(sql, "#", statementStartPos)) {
            statementStartPos = sql.indexOf('\n', statementStartPos);

            if (statementStartPos == -1) {
                statementStartPos = sql.indexOf('\r', statementStartPos);
                if (statementStartPos == -1) {
                    statementStartPos = 0;
                }
            }
        }

        char ch = sql.charAt(statementStartPos);
        int ich = (int)ch;
        if ((ich >= 65 && ich <= 90) || (ich >= 97 && ich <= 122)) {
            return statementStartPos;
        } else {
            return findStartOfStatement(sql, statementStartPos);
        }
    }