diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlSelectParser.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlSelectParser.java index 178fc9cadf..77b29ec445 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlSelectParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlSelectParser.java @@ -40,7 +40,7 @@ public class MySqlSelectParser extends SQLSelectParser { } @Override - protected SQLSelectQuery query() throws ParserException { + public SQLSelectQuery query() throws ParserException { if (lexer.token() == (Token.LPAREN)) { lexer.nextToken(); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java index d77fb75b71..d04bb95128 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java @@ -229,7 +229,7 @@ public class OracleSelectParser extends SQLSelectParser { return select; } - protected SQLSelectQuery query() { + public SQLSelectQuery query() { if (lexer.token() == (Token.LPAREN)) { lexer.nextToken(); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGSelectParser.java b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGSelectParser.java index 76a8a16812..a2c3af317e 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGSelectParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGSelectParser.java @@ -23,7 +23,7 @@ public class PGSelectParser extends SQLSelectParser { } @Override - protected SQLSelectQuery query() throws ParserException { + public SQLSelectQuery query() throws ParserException { PGSelectQueryBlock queryBlock = new PGSelectQueryBlock(); accept(Token.SELECT); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerSelectParser.java b/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerSelectParser.java index 6b6571b3c1..47515e9871 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerSelectParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerSelectParser.java @@ -35,7 +35,7 @@ public class SQLServerSelectParser extends SQLSelectParser { return select; } - protected SQLSelectQuery query() throws ParserException { + public SQLSelectQuery query() throws ParserException { if (lexer.token() == Token.LPAREN) { lexer.nextToken(); diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLParser.java index a1ebfa8051..045868897f 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLParser.java @@ -28,6 +28,10 @@ public class SQLParser { this.lexer = lexer; } + public final Lexer getLexer() { + return lexer; + } + protected boolean identifierEquals(String text) { return lexer.token() == Token.IDENTIFIER && lexer.stringVal().equalsIgnoreCase(text); } diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLSelectParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLSelectParser.java index e48d34a8ee..a48be92831 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLSelectParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLSelectParser.java @@ -102,7 +102,7 @@ public class SQLSelectParser extends SQLParser { return selectQuery; } - protected SQLSelectQuery query() throws ParserException { + public SQLSelectQuery query() throws ParserException { if (lexer.token() == Token.LPAREN) { lexer.nextToken();