remove OracleOrderByItem

This commit is contained in:
高铁
2016-01-10 16:12:17 +08:00
parent 6fa8ec32ac
commit fa265636f0
16 changed files with 53 additions and 214 deletions
@@ -26,7 +26,8 @@ public class SQLSelectGroupByClause extends SQLObjectImpl {
private final List<SQLExpr> items = new ArrayList<SQLExpr>();
private SQLExpr having;
private boolean rollUp = false;
private boolean withRollUp = false;
private boolean withCube = false;
public SQLSelectGroupByClause(){
@@ -41,13 +42,22 @@ public class SQLSelectGroupByClause extends SQLObjectImpl {
visitor.endVisit(this);
}
public boolean isRollUp() {
return rollUp;
public boolean isWithRollUp() {
return withRollUp;
}
public void setRollUp(boolean rollUp) {
this.rollUp = rollUp;
}
public void setWithRollUp(boolean withRollUp) {
this.withRollUp = withRollUp;
}
public boolean isWithCube() {
return withCube;
}
public void setWithCube(boolean withCube) {
this.withCube = withCube;
}
public SQLExpr getHaving() {
return this.having;
@@ -25,7 +25,7 @@ public class SQLSelectOrderByItem extends SQLObjectImpl {
protected SQLExpr expr;
protected String collate;
protected SQLOrderingSpecification type;
protected NullsOrderType nullsOrderType;
protected NullsOrderType nullsOrderType;
public SQLSelectOrderByItem(){
@@ -17,7 +17,6 @@ package com.alibaba.druid.sql.dialect.oracle.ast;
import com.alibaba.druid.sql.ast.SQLOrderBy;
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
@@ -65,11 +64,11 @@ public class OracleOrderBy extends SQLOrderBy {
if (i != 0) {
buf.append(", ");
}
((OracleOrderByItem) this.items.get(i)).output(buf);
((SQLSelectOrderByItem) this.items.get(i)).output(buf);
}
}
protected SQLSelectOrderByItem createItem() {
return new OracleOrderByItem();
return new SQLSelectOrderByItem();
}
}
@@ -19,8 +19,8 @@ import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class SearchClause extends OracleSQLObjectImpl {
@@ -31,7 +31,7 @@ public class SearchClause extends OracleSQLObjectImpl {
private Type type;
private final List<OracleOrderByItem> items = new ArrayList<OracleOrderByItem>();
private final List<SQLSelectOrderByItem> items = new ArrayList<SQLSelectOrderByItem>();
private SQLIdentifierExpr orderingColumn;
@@ -43,7 +43,7 @@ public class SearchClause extends OracleSQLObjectImpl {
this.type = type;
}
public List<OracleOrderByItem> getItems() {
public List<SQLSelectOrderByItem> getItems() {
return items;
}
@@ -1,41 +0,0 @@
/*
* Copyright 1999-2101 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.druid.sql.dialect.oracle.ast.stmt;
import com.alibaba.druid.sql.ast.statement.SQLConstraint;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class OracleAlterTableAddConstaint extends OracleAlterTableItem {
private SQLConstraint constraint;
@Override
public void accept0(OracleASTVisitor visitor) {
if (visitor.visit(this)) {
acceptChild(visitor, constraint);
}
visitor.endVisit(this);
}
public SQLConstraint getConstraint() {
return constraint;
}
public void setConstraint(SQLConstraint constraint) {
this.constraint = constraint;
}
}
@@ -1,59 +0,0 @@
/*
* Copyright 1999-2101 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.druid.sql.dialect.oracle.ast.stmt;
import com.alibaba.druid.sql.ast.SQLOrderingSpecification;
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleOrderByItem extends SQLSelectOrderByItem {
public OracleOrderByItem(){
}
protected void accept0(SQLASTVisitor visitor) {
if (visitor instanceof OracleASTVisitor) {
accept0((OracleASTVisitor) visitor);
} else {
super.accept0(visitor);
}
}
protected void accept0(OracleASTVisitor visitor) {
if (visitor.visit(this)) {
acceptChild(visitor, this.expr);
}
visitor.endVisit(this);
}
public void output(StringBuffer buf) {
this.expr.output(buf);
if (SQLOrderingSpecification.ASC.equals(this.type)) {
buf.append(" ASC");
} else if (SQLOrderingSpecification.DESC.equals(this.type)) {
buf.append(" DESC");
}
if (NullsOrderType.NullsFirst.equals(this.nullsOrderType)) {
buf.append(" NULLS FIRST");
} else if (NullsOrderType.NullsLast.equals(this.nullsOrderType)) {
buf.append(" NULLS LAST");
}
}
}
@@ -42,6 +42,7 @@ import com.alibaba.druid.sql.ast.statement.SQLCharacterDataType;
import com.alibaba.druid.sql.ast.statement.SQLCheck;
import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
import com.alibaba.druid.sql.ast.statement.SQLForeignKeyConstraint;
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem;
import com.alibaba.druid.sql.ast.statement.SQLUnique;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleDataTypeIntervalDay;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleDataTypeIntervalYear;
@@ -72,7 +73,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleCheck;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleConstraint;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleConstraint.Initially;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleForeignKey;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePrimaryKey;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelect;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleUnique;
@@ -877,8 +877,8 @@ public class OracleExprParser extends SQLExprParser {
}
@Override
public OracleOrderByItem parseSelectOrderByItem() {
OracleOrderByItem item = new OracleOrderByItem();
public SQLSelectOrderByItem parseSelectOrderByItem() {
SQLSelectOrderByItem item = new SQLSelectOrderByItem();
item.setExpr(expr());
@@ -894,10 +894,10 @@ public class OracleExprParser extends SQLExprParser {
lexer.nextToken();
if (identifierEquals("FIRST")) {
lexer.nextToken();
item.setNullsOrderType(OracleOrderByItem.NullsOrderType.NullsFirst);
item.setNullsOrderType(SQLSelectOrderByItem.NullsOrderType.NullsFirst);
} else if (identifierEquals("LAST")) {
lexer.nextToken();
item.setNullsOrderType(OracleOrderByItem.NullsOrderType.NullsLast);
item.setNullsOrderType(SQLSelectOrderByItem.NullsOrderType.NullsLast);
} else {
throw new ParserException("TODO " + lexer.token());
}
@@ -51,7 +51,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleWithSubqueryEntry;
import com.alibaba.druid.sql.dialect.oracle.ast.clause.PartitionExtensionClause;
import com.alibaba.druid.sql.dialect.oracle.ast.clause.SampleClause;
import com.alibaba.druid.sql.dialect.oracle.ast.clause.SearchClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelect;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectForUpdate;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectHierachicalQueryClause;
@@ -188,11 +187,11 @@ public class OracleSelectParser extends SQLSelectParser {
acceptIdentifier("FIRST");
accept(Token.BY);
searchClause.getItems().add((OracleOrderByItem) exprParser.parseSelectOrderByItem());
searchClause.getItems().add(exprParser.parseSelectOrderByItem());
while (lexer.token() == (Token.COMMA)) {
lexer.nextToken();
searchClause.getItems().add((OracleOrderByItem) exprParser.parseSelectOrderByItem());
searchClause.getItems().add(exprParser.parseSelectOrderByItem());
}
accept(Token.SET);
@@ -18,33 +18,34 @@ package com.alibaba.druid.sql.dialect.oracle.parser;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.sql.ast.SQLParameter;
import com.alibaba.druid.sql.ast.SQLDataTypeImpl;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.SQLHint;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.SQLParameter;
import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr;
import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator;
import com.alibaba.druid.sql.ast.expr.SQLCharExpr;
import com.alibaba.druid.sql.ast.expr.SQLNullExpr;
import com.alibaba.druid.sql.ast.expr.SQLQueryExpr;
import com.alibaba.druid.sql.ast.statement.SQLLoopStatement;
import com.alibaba.druid.sql.ast.statement.SQLCreateProcedureStatement;
import com.alibaba.druid.sql.ast.statement.SQLBlockStatement;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddColumn;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddConstraint;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableConstraint;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDropColumnItem;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDropConstraint;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableEnableConstraint;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLBlockStatement;
import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
import com.alibaba.druid.sql.ast.statement.SQLCreateProcedureStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropSequenceStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTriggerStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropUserStatement;
import com.alibaba.druid.sql.ast.statement.SQLIfStatement;
import com.alibaba.druid.sql.ast.statement.SQLInsertInto;
import com.alibaba.druid.sql.ast.statement.SQLLoopStatement;
import com.alibaba.druid.sql.ast.statement.SQLRollbackStatement;
import com.alibaba.druid.sql.ast.statement.SQLSelect;
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem;
@@ -59,7 +60,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterIndexStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterProcedureStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSessionStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSynonymStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableAddConstaint;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableDropPartition;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableModify;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableMoveTablespace;
@@ -794,7 +794,7 @@ public class OracleStatementParser extends SQLStatementParser {
accept(Token.RPAREN);
} else if (lexer.token() == Token.CONSTRAINT) {
OracleConstraint constraint = ((OracleExprParser) this.exprParser).parseConstaint();
OracleAlterTableAddConstaint item = new OracleAlterTableAddConstaint();
SQLAlterTableAddConstraint item = new SQLAlterTableAddConstraint();
constraint.setParent(item);
item.setParent(stmt);
item.setConstraint(constraint);
@@ -54,7 +54,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterIndexStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterProcedureStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSessionStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSynonymStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableAddConstaint;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableDropPartition;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableModify;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableMoveTablespace;
@@ -89,7 +88,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClauseItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.InsertIntoClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePLSQLCommitStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePrimaryKey;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSavePointStatement;
@@ -137,8 +135,6 @@ public interface OracleASTVisitor extends SQLASTVisitor {
void endVisit(OracleSelectJoin x);
void endVisit(OracleOrderByItem x);
void endVisit(OracleSelectPivot x);
void endVisit(OracleSelectPivot.Item x);
@@ -179,8 +175,6 @@ public interface OracleASTVisitor extends SQLASTVisitor {
boolean visit(OracleSelectJoin x);
boolean visit(OracleOrderByItem x);
boolean visit(OracleSelectPivot x);
boolean visit(OracleSelectPivot.Item x);
@@ -419,10 +413,6 @@ public interface OracleASTVisitor extends SQLASTVisitor {
void endVisit(OracleAlterIndexStatement x);
boolean visit(OracleAlterTableAddConstaint x);
void endVisit(OracleAlterTableAddConstaint x);
boolean visit(OraclePrimaryKey x);
void endVisit(OraclePrimaryKey x);
@@ -62,7 +62,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterIndexStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterProcedureStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSessionStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSynonymStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableAddConstaint;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableDropPartition;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableModify;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableMoveTablespace;
@@ -99,7 +98,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClauseItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.InsertIntoClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePLSQLCommitStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePrimaryKey;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSavePointStatement;
@@ -195,11 +193,6 @@ public class OracleASTVisitorAdapter extends SQLASTVisitorAdapter implements Ora
}
@Override
public void endVisit(OracleOrderByItem x) {
}
@Override
public void endVisit(OracleSelectPivot x) {
@@ -313,12 +306,6 @@ public class OracleASTVisitorAdapter extends SQLASTVisitorAdapter implements Ora
return true;
}
@Override
public boolean visit(OracleOrderByItem x) {
return true;
}
@Override
public boolean visit(OracleSelectPivot x) {
@@ -930,16 +917,6 @@ public class OracleASTVisitorAdapter extends SQLASTVisitorAdapter implements Ora
}
@Override
public boolean visit(OracleAlterTableAddConstaint x) {
return true;
}
@Override
public void endVisit(OracleAlterTableAddConstaint x) {
}
@Override
public boolean visit(OraclePrimaryKey x) {
return true;
@@ -17,10 +17,10 @@ package com.alibaba.druid.sql.dialect.oracle.visitor;
import java.util.List;
import com.alibaba.druid.sql.ast.SQLParameter;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.SQLHint;
import com.alibaba.druid.sql.ast.SQLObject;
import com.alibaba.druid.sql.ast.SQLParameter;
import com.alibaba.druid.sql.ast.SQLSetQuantifier;
import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.ast.expr.SQLAllColumnExpr;
@@ -29,12 +29,12 @@ import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
import com.alibaba.druid.sql.ast.expr.SQLLiteralExpr;
import com.alibaba.druid.sql.ast.expr.SQLMethodInvokeExpr;
import com.alibaba.druid.sql.ast.expr.SQLQueryExpr;
import com.alibaba.druid.sql.ast.statement.SQLCreateProcedureStatement;
import com.alibaba.druid.sql.ast.statement.SQLBlockStatement;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableItem;
import com.alibaba.druid.sql.ast.statement.SQLBlockStatement;
import com.alibaba.druid.sql.ast.statement.SQLCharacterDataType;
import com.alibaba.druid.sql.ast.statement.SQLCheck;
import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
import com.alibaba.druid.sql.ast.statement.SQLCreateProcedureStatement;
import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl;
import com.alibaba.druid.sql.ast.statement.SQLIfStatement;
@@ -42,6 +42,7 @@ import com.alibaba.druid.sql.ast.statement.SQLInsertStatement;
import com.alibaba.druid.sql.ast.statement.SQLJoinTableSource.JoinType;
import com.alibaba.druid.sql.ast.statement.SQLRollbackStatement;
import com.alibaba.druid.sql.ast.statement.SQLSelect;
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem;
import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock;
import com.alibaba.druid.sql.ast.statement.SQLTruncateStatement;
import com.alibaba.druid.sql.ast.statement.SQLUnique;
@@ -96,7 +97,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterIndexStatement.R
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterProcedureStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSessionStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSynonymStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableAddConstaint;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableDropPartition;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableModify;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableMoveTablespace;
@@ -137,7 +137,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClauseItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.InsertIntoClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePLSQLCommitStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePrimaryKey;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSavePointStatement;
@@ -494,7 +493,7 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS
return false;
}
public boolean visit(OracleOrderByItem x) {
public boolean visit(SQLSelectOrderByItem x) {
x.getExpr().accept(this);
if (x.getType() != null) {
print(' ');
@@ -854,11 +853,6 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS
}
@Override
public void endVisit(OracleOrderByItem x) {
}
@Override
public void endVisit(OracleSelectPivot x) {
@@ -2277,18 +2271,6 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS
x.getDefaultExpr().accept(this);
}
@Override
public boolean visit(OracleAlterTableAddConstaint x) {
print0(ucase ? "ADD " : "add ");
x.getConstraint().accept(this);
return false;
}
@Override
public void endVisit(OracleAlterTableAddConstaint x) {
}
@Override
public boolean visit(OraclePrimaryKey x) {
if (x.getName() != null) {
@@ -85,7 +85,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterIndexStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterProcedureStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSessionStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSynonymStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableAddConstaint;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableDropPartition;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableModify;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableMoveTablespace;
@@ -122,7 +121,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.ConditionalInsertClauseItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleMultiInsertStatement.InsertIntoClause;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePLSQLCommitStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OraclePrimaryKey;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSavePointStatement;
@@ -423,11 +421,6 @@ public class OracleSchemaStatVisitor extends SchemaStatVisitor implements Oracle
}
@Override
public void endVisit(OracleOrderByItem x) {
}
@Override
public void endVisit(OracleSelectPivot x) {
@@ -565,12 +558,6 @@ public class OracleSchemaStatVisitor extends SchemaStatVisitor implements Oracle
return false;
}
@Override
public boolean visit(OracleOrderByItem x) {
return true;
}
@Override
public boolean visit(OracleSelectPivot x) {
@@ -1315,17 +1302,6 @@ public class OracleSchemaStatVisitor extends SchemaStatVisitor implements Oracle
}
@Override
public boolean visit(OracleAlterTableAddConstaint x) {
x.getConstraint().accept(this);
return false;
}
@Override
public void endVisit(OracleAlterTableAddConstaint x) {
}
@Override
public boolean visit(OraclePrimaryKey x) {
accept(x.getColumns());
@@ -288,7 +288,7 @@ public class SQLSelectParser extends SQLParser {
lexer.nextToken();
acceptIdentifier("ROLLUP");
groupBy.setRollUp(true);
groupBy.setWithRollUp(true);
}
if(JdbcConstants.MYSQL.equals(getDbType()) && lexer.token() == Token.DESC) {
@@ -324,7 +324,7 @@ public class SQLSelectParser extends SQLParser {
lexer.nextToken();
acceptIdentifier("ROLLUP");
groupBy.setRollUp(true);
groupBy.setWithRollUp(true);
}
if(JdbcConstants.MYSQL.equals(getDbType()) && lexer.token() == Token.DESC) {
@@ -744,7 +744,11 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
incrementIndent();
for (int i = 0; i < itemSize; ++i) {
if (i != 0) {
println(", ");
if (groupItemSingleLine) {
println(", ");
} else {
print(", ");
}
}
x.getItems().get(i).accept(this);
}
@@ -757,10 +761,14 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
x.getHaving().accept(this);
}
if (x.isRollUp()) {
if (x.isWithRollUp()) {
print0(ucase ? " WITH ROLLUP" : " with rollup");
}
if (x.isWithCube()) {
print0(ucase ? " WITH CUBE" : " with cube");
}
return false;
}
@@ -3,8 +3,8 @@ package com.alibaba.druid.bvt.sql.oracle.visitor;
import com.alibaba.druid.sql.ast.SQLParameter;
import com.alibaba.druid.sql.ast.expr.SQLGroupingSetExpr;
import com.alibaba.druid.sql.ast.expr.SQLTimestampExpr;
import com.alibaba.druid.sql.ast.statement.SQLBlockStatement;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableRename;
import com.alibaba.druid.sql.ast.statement.SQLBlockStatement;
import com.alibaba.druid.sql.ast.statement.SQLCreateProcedureStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropSequenceStatement;
import com.alibaba.druid.sql.ast.statement.SQLFetchStatement;
@@ -52,7 +52,6 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterIndexStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterProcedureStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSessionStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterSynonymStatement;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableAddConstaint;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableDropPartition;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableModify;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleAlterTableMoveTablespace;
@@ -201,7 +200,6 @@ public class OracleASTVisitorAdapterTest extends TestCase {
new OracleForStatement().accept(adapter);
new OracleAlterIndexStatement().accept(adapter);
new OracleRangeExpr().accept(adapter);
new OracleAlterTableAddConstaint().accept(adapter);
new OraclePrimaryKey().accept(adapter);
new OracleCreateTableStatement().accept(adapter);
new SQLAlterTableRename().accept(adapter);