mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve sqlwall
This commit is contained in:
+6
@@ -281,6 +281,9 @@ public class MySqlSelectQueryBlock extends SQLSelectQueryBlock implements MySqlO
|
||||
}
|
||||
|
||||
public void setRowCount(SQLExpr rowCount) {
|
||||
if (rowCount != null) {
|
||||
rowCount.setParent(this);
|
||||
}
|
||||
this.rowCount = rowCount;
|
||||
}
|
||||
|
||||
@@ -289,6 +292,9 @@ public class MySqlSelectQueryBlock extends SQLSelectQueryBlock implements MySqlO
|
||||
}
|
||||
|
||||
public void setOffset(SQLExpr offset) {
|
||||
if (offset != null) {
|
||||
offset.setParent(this);
|
||||
}
|
||||
this.offset = offset;
|
||||
}
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ public class MySqlSelectParser extends SQLSelectParser {
|
||||
accept(Token.BY);
|
||||
|
||||
while (true) {
|
||||
groupBy.getItems().add(this.exprParser.expr());
|
||||
groupBy.addItem(this.exprParser.expr());
|
||||
if (!(lexer.token() == (Token.COMMA))) {
|
||||
break;
|
||||
}
|
||||
@@ -247,7 +247,9 @@ public class MySqlSelectParser extends SQLSelectParser {
|
||||
acceptIdentifier("ROLLUP");
|
||||
|
||||
MySqlSelectGroupBy mySqlGroupBy = new MySqlSelectGroupBy();
|
||||
mySqlGroupBy.getItems().addAll(groupBy.getItems());
|
||||
for (SQLExpr sqlExpr : groupBy.getItems()) {
|
||||
mySqlGroupBy.addItem(sqlExpr);
|
||||
}
|
||||
mySqlGroupBy.setRollUp(true);
|
||||
|
||||
groupBy = mySqlGroupBy;
|
||||
|
||||
@@ -86,6 +86,8 @@ public class OracleExprParser extends SQLExprParser {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean allowStringAdditive = false;
|
||||
|
||||
/**
|
||||
@@ -729,11 +731,11 @@ public class OracleExprParser extends SQLExprParser {
|
||||
|
||||
accept(Token.BY);
|
||||
|
||||
orderBy.getItems().add(parseSelectOrderByItem());
|
||||
orderBy.addItem(parseSelectOrderByItem());
|
||||
|
||||
while (lexer.token() == (Token.COMMA)) {
|
||||
lexer.nextToken();
|
||||
orderBy.getItems().add(parseSelectOrderByItem());
|
||||
orderBy.addItem(parseSelectOrderByItem());
|
||||
}
|
||||
|
||||
return orderBy;
|
||||
|
||||
@@ -244,7 +244,7 @@ public class OracleSelectParser extends SQLSelectParser {
|
||||
OracleSelectQueryBlock queryBlock = new OracleSelectQueryBlock();
|
||||
if (lexer.token() == Token.SELECT) {
|
||||
lexer.nextToken();
|
||||
|
||||
|
||||
if (lexer.token() == Token.COMMENT) {
|
||||
lexer.nextToken();
|
||||
}
|
||||
@@ -575,9 +575,9 @@ public class OracleSelectParser extends SQLSelectParser {
|
||||
accept(Token.LPAREN);
|
||||
exprParser.exprList(groupingSet.getParameters());
|
||||
accept(Token.RPAREN);
|
||||
groupBy.getItems().add(groupingSet);
|
||||
groupBy.addItem(groupingSet);
|
||||
} else {
|
||||
groupBy.getItems().add(this.exprParser.expr());
|
||||
groupBy.addItem(this.exprParser.expr());
|
||||
}
|
||||
|
||||
if (!(lexer.token() == (Token.COMMA))) {
|
||||
@@ -612,9 +612,9 @@ public class OracleSelectParser extends SQLSelectParser {
|
||||
accept(Token.LPAREN);
|
||||
exprParser.exprList(groupingSet.getParameters());
|
||||
accept(Token.RPAREN);
|
||||
groupBy.getItems().add(groupingSet);
|
||||
groupBy.addItem(groupingSet);
|
||||
} else {
|
||||
groupBy.getItems().add(this.exprParser.expr());
|
||||
groupBy.addItem(this.exprParser.expr());
|
||||
}
|
||||
|
||||
if (!(lexer.token() == (Token.COMMA))) {
|
||||
|
||||
@@ -50,11 +50,11 @@ public class PGExprParser extends SQLExprParser {
|
||||
|
||||
accept(Token.BY);
|
||||
|
||||
orderBy.getItems().add(parseSelectOrderByItem());
|
||||
orderBy.addItem(parseSelectOrderByItem());
|
||||
|
||||
while (lexer.token() == (Token.COMMA)) {
|
||||
lexer.nextToken();
|
||||
orderBy.getItems().add(parseSelectOrderByItem());
|
||||
orderBy.addItem(parseSelectOrderByItem());
|
||||
}
|
||||
|
||||
return orderBy;
|
||||
|
||||
Reference in New Issue
Block a user