提交 1364db4a 编写于 作者: T terrymanu

refactor select parser 8th version

上级 43ff7085
......@@ -61,7 +61,7 @@ public class MySQLSelectParser extends AbstractSelectParser {
}
@Override
protected void customizedQuery() {
protected final void customizedSelect() {
parseLimit();
if (getSqlParser().equalAny(DefaultKeyword.PROCEDURE)) {
throw new SQLParsingUnsupportedException(getSqlParser().getLexer().getCurrentToken().getType());
......
......@@ -49,7 +49,7 @@ public class OracleSelectParser extends AbstractSelectParser {
}
@Override
protected void customizedBetweenWhereAndGroupBy() {
protected final void customizedBetweenWhereAndGroupBy() {
skipHierarchicalQueryClause();
}
......
......@@ -47,7 +47,7 @@ public class PostgreSQLSelectParser extends AbstractSelectParser {
}
@Override
protected void customizedQuery() {
protected final void customizedSelect() {
if (getSqlParser().equalAny(PostgreSQLKeyword.WINDOW)) {
throw new SQLParsingUnsupportedException(PostgreSQLKeyword.WINDOW);
}
......
......@@ -119,7 +119,7 @@ public class SQLServerSelectParser extends AbstractSelectParser {
}
@Override
protected void customizedSelect() {
protected final void customizedSelect() {
if (getSqlParser().equalAny(DefaultKeyword.FOR)) {
parseFor();
}
......
......@@ -93,9 +93,9 @@ public abstract class AbstractSelectParser implements SQLStatementParser {
parseGroupBy();
customizedBetweenGroupByAndOrderBy();
parseOrderBy();
customizedQuery();
queryRest();
customizedSelect();
processUnsupportedTokens();
// TODO move to rewrite
appendDerivedColumns();
appendDerivedOrderBy();
return selectStatement;
......@@ -345,7 +345,7 @@ public abstract class AbstractSelectParser implements SQLStatementParser {
}
protected final void parseTableFactor() {
int beginPosition = sqlParser.getLexer().getCurrentToken().getEndPosition() - sqlParser.getLexer().getCurrentToken().getLiterals().length();
final int beginPosition = sqlParser.getLexer().getCurrentToken().getEndPosition() - sqlParser.getLexer().getCurrentToken().getLiterals().length();
sqlParser.skipAll(DefaultKeyword.AS);
String literals = sqlParser.getLexer().getCurrentToken().getLiterals();
sqlParser.getLexer().nextToken();
......@@ -387,18 +387,14 @@ public abstract class AbstractSelectParser implements SQLStatementParser {
}
}
protected void customizedQuery() {
}
protected abstract void customizedSelect();
protected final void queryRest() {
private void processUnsupportedTokens() {
if (sqlParser.equalAny(DefaultKeyword.UNION, DefaultKeyword.EXCEPT, DefaultKeyword.INTERSECT, DefaultKeyword.MINUS)) {
throw new SQLParsingUnsupportedException(sqlParser.getLexer().getCurrentToken().getType());
}
}
protected void customizedSelect() {
}
private void appendDerivedColumns() {
if (appendDerivedColumnsFlag) {
return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册