mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
refactor
This commit is contained in:
@@ -16,9 +16,10 @@
|
||||
package com.alibaba.druid.sql.dialect.oracle.ast;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLHint;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
|
||||
import com.alibaba.druid.sql.ast.SQLObjectImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
public class OracleHint extends OracleSQLObjectImpl implements SQLHint {
|
||||
public class OracleHint extends SQLObjectImpl implements SQLHint {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -41,7 +42,7 @@ public class OracleHint extends OracleSQLObjectImpl implements SQLHint {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public void accept0(OracleASTVisitor visitor) {
|
||||
protected void accept0(SQLASTVisitor visitor) {
|
||||
visitor.visit(this);
|
||||
visitor.endVisit(this);
|
||||
}
|
||||
|
||||
@@ -16,12 +16,10 @@
|
||||
package com.alibaba.druid.sql.dialect.oracle.parser;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.List;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLDataType;
|
||||
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.SQLOrderingSpecification;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr;
|
||||
@@ -37,7 +35,6 @@ import com.alibaba.druid.sql.ast.expr.SQLUnaryExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLUnaryOperator;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleHint;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleOrderBy;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAggregateExpr;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalytic;
|
||||
@@ -748,12 +745,6 @@ public class OracleExprParser extends SQLExprParser {
|
||||
return super.relationalRest(expr);
|
||||
}
|
||||
|
||||
public void parseHints(List<SQLHint> hints) {
|
||||
if (lexer.token() == Token.HINT) {
|
||||
hints.add(new OracleHint(lexer.stringVal()));
|
||||
lexer.nextToken();
|
||||
}
|
||||
}
|
||||
|
||||
public SQLName name() throws ParserException {
|
||||
SQLName name = super.name();
|
||||
|
||||
@@ -141,8 +141,6 @@ public interface OracleASTVisitor extends SQLASTVisitor {
|
||||
|
||||
void endVisit(OracleExtractExpr x);
|
||||
|
||||
void endVisit(OracleHint x);
|
||||
|
||||
void endVisit(OracleIntervalExpr x);
|
||||
|
||||
void endVisit(SQLObjectCreateExpr x);
|
||||
@@ -203,8 +201,6 @@ public interface OracleASTVisitor extends SQLASTVisitor {
|
||||
|
||||
boolean visit(OracleExtractExpr x);
|
||||
|
||||
boolean visit(OracleHint x);
|
||||
|
||||
boolean visit(OracleIntervalExpr x);
|
||||
|
||||
boolean visit(SQLObjectCreateExpr x);
|
||||
@@ -522,92 +518,92 @@ public interface OracleASTVisitor extends SQLASTVisitor {
|
||||
boolean visit(OracleStorageClause x);
|
||||
|
||||
void endVisit(OracleStorageClause x);
|
||||
|
||||
|
||||
boolean visit(OracleGotoStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleGotoStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleLabelStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleLabelStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleParameter x);
|
||||
|
||||
|
||||
void endVisit(OracleParameter x);
|
||||
|
||||
|
||||
boolean visit(OracleCommitStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleCommitStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleAlterTriggerStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleAlterTriggerStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleAlterSynonymStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleAlterSynonymStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleAlterViewStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleAlterViewStatement x);
|
||||
|
||||
|
||||
boolean visit(AsOfSnapshotClause x);
|
||||
|
||||
|
||||
void endVisit(AsOfSnapshotClause x);
|
||||
|
||||
|
||||
boolean visit(OracleAlterTableMoveTablespace x);
|
||||
|
||||
|
||||
void endVisit(OracleAlterTableMoveTablespace x);
|
||||
|
||||
|
||||
boolean visit(OracleSizeExpr x);
|
||||
|
||||
|
||||
void endVisit(OracleSizeExpr x);
|
||||
|
||||
|
||||
boolean visit(OracleFileSpecification x);
|
||||
|
||||
|
||||
void endVisit(OracleFileSpecification x);
|
||||
|
||||
|
||||
boolean visit(OracleAlterTablespaceAddDataFile x);
|
||||
|
||||
|
||||
void endVisit(OracleAlterTablespaceAddDataFile x);
|
||||
|
||||
|
||||
boolean visit(OracleAlterTablespaceStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleAlterTablespaceStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleTruncateStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleTruncateStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleCreateSequenceStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleCreateSequenceStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleRangeValuesClause x);
|
||||
|
||||
|
||||
void endVisit(OracleRangeValuesClause x);
|
||||
|
||||
|
||||
boolean visit(OraclePartitionByRangeClause x);
|
||||
|
||||
|
||||
void endVisit(OraclePartitionByRangeClause x);
|
||||
|
||||
|
||||
boolean visit(OracleLoopStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleLoopStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleExitStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleExitStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleFetchStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleFetchStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleSavePointStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleSavePointStatement x);
|
||||
|
||||
|
||||
boolean visit(OracleCreateProcedureStatement x);
|
||||
|
||||
|
||||
void endVisit(OracleCreateProcedureStatement x);
|
||||
}
|
||||
|
||||
-12
@@ -1,7 +1,6 @@
|
||||
package com.alibaba.druid.sql.dialect.oracle.visitor;
|
||||
|
||||
import com.alibaba.druid.sql.ast.expr.SQLObjectCreateExpr;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleHint;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleOrderBy;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.clause.CycleClause;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.clause.FlashbackQueryClause.AsOfFlashbackQueryClause;
|
||||
@@ -173,11 +172,6 @@ public class OracleASTVisitorAdapter extends SQLASTVisitorAdapter implements Ora
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(OracleHint x) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(OracleIntervalExpr x) {
|
||||
|
||||
@@ -337,12 +331,6 @@ public class OracleASTVisitorAdapter extends SQLASTVisitorAdapter implements Ora
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(OracleHint x) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(OracleIntervalExpr x) {
|
||||
|
||||
|
||||
@@ -320,11 +320,6 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean visit(OracleHint x) {
|
||||
print(x.getText());
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean visit(OracleIntervalExpr x) {
|
||||
if (x.getValue() instanceof SQLLiteralExpr) {
|
||||
print("INTERVAL ");
|
||||
|
||||
-12
@@ -20,7 +20,6 @@ import com.alibaba.druid.sql.ast.statement.SQLSelect;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLTableSource;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLTruncateStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleHint;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleOrderBy;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.clause.CycleClause;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.clause.FlashbackQueryClause.AsOfFlashbackQueryClause;
|
||||
@@ -412,11 +411,6 @@ public class OracleSchemaStatVisitor extends SchemaStatVisitor implements Oracle
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(OracleHint x) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(OracleIntervalExpr x) {
|
||||
|
||||
@@ -559,12 +553,6 @@ public class OracleSchemaStatVisitor extends SchemaStatVisitor implements Oracle
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(OracleHint x) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(OracleIntervalExpr x) {
|
||||
|
||||
|
||||
@@ -17,10 +17,12 @@ package com.alibaba.druid.sql.parser;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLDataType;
|
||||
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.SQLOrderBy;
|
||||
import com.alibaba.druid.sql.ast.SQLOrderingSpecification;
|
||||
@@ -61,6 +63,7 @@ import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLPrimaryKey;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLSelect;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleHint;
|
||||
|
||||
public class SQLExprParser extends SQLParser {
|
||||
|
||||
@@ -1195,4 +1198,11 @@ public class SQLExprParser extends SQLParser {
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
public void parseHints(List<SQLHint> hints) {
|
||||
if (lexer.token() == Token.HINT) {
|
||||
hints.add(new OracleHint(lexer.stringVal()));
|
||||
lexer.nextToken();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,6 +90,7 @@ import com.alibaba.druid.sql.ast.statement.SQLUniqueConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUpdateSetItem;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUseStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleHint;
|
||||
|
||||
public class SQLASTOutputVisitor extends SQLASTVisitorAdapter {
|
||||
|
||||
@@ -1089,4 +1090,9 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean visit(OracleHint x) {
|
||||
print(x.getText());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,6 +84,7 @@ import com.alibaba.druid.sql.ast.statement.SQLUniqueConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUpdateSetItem;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUseStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleHint;
|
||||
|
||||
public interface SQLASTVisitor {
|
||||
|
||||
@@ -370,4 +371,8 @@ public interface SQLASTVisitor {
|
||||
boolean visit(SQLReleaseSavePointStatement x);
|
||||
|
||||
void endVisit(SQLReleaseSavePointStatement x);
|
||||
|
||||
void endVisit(OracleHint x);
|
||||
|
||||
boolean visit(OracleHint x);
|
||||
}
|
||||
|
||||
@@ -85,6 +85,7 @@ import com.alibaba.druid.sql.ast.statement.SQLUniqueConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUpdateSetItem;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUseStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.OracleHint;
|
||||
|
||||
public class SQLASTVisitorAdapter implements SQLASTVisitor {
|
||||
|
||||
@@ -609,7 +610,7 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLAlterTableDropColumnItem x) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -619,7 +620,7 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLDropIndexStatement x) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -629,7 +630,7 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLDropViewStatement x) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -639,9 +640,9 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLSavePointStatement x) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLRollbackStatement x) {
|
||||
return true;
|
||||
@@ -660,4 +661,14 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
|
||||
@Override
|
||||
public void endVisit(SQLReleaseSavePointStatement x) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(OracleHint x) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(OracleHint x) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user