improved sql parser. fixed issue #1311

This commit is contained in:
高铁
2016-06-29 02:01:22 +08:00
parent 1c1e28e103
commit eb5c8d708e
5 changed files with 100 additions and 10 deletions
@@ -16,6 +16,7 @@
package com.alibaba.druid.sql.dialect.db2.parser;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.SQLOrderBy;
import com.alibaba.druid.sql.ast.SQLSetQuantifier;
import com.alibaba.druid.sql.ast.statement.SQLSelectQuery;
import com.alibaba.druid.sql.dialect.db2.ast.stmt.DB2SelectQueryBlock;
@@ -76,6 +77,11 @@ public class DB2SelectParser extends SQLSelectParser {
parseWhere(queryBlock);
parseGroupBy(queryBlock);
if (lexer.token() == Token.ORDER) {
SQLOrderBy orderBy = parseOrderBy();
queryBlock.setOrderBy(orderBy);
}
for (;;) {
@@ -39,8 +39,6 @@ public class MySqlSelectQueryBlock extends SQLSelectQueryBlock implements MySqlO
private Boolean cache;
private boolean calcFoundRows;
private SQLOrderBy orderBy;
private Limit limit;
private SQLName procedureName;
@@ -183,14 +181,6 @@ public class MySqlSelectQueryBlock extends SQLSelectQueryBlock implements MySqlO
this.calcFoundRows = calcFoundRows;
}
public SQLOrderBy getOrderBy() {
return orderBy;
}
public void setOrderBy(SQLOrderBy orderBy) {
this.orderBy = orderBy;
}
public Limit getLimit() {
return limit;
}