diff --git a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLGrantStatement.java b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLGrantStatement.java index 92a3082dfc..84772aed72 100644 --- a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLGrantStatement.java +++ b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLGrantStatement.java @@ -19,6 +19,7 @@ import java.util.ArrayList; import java.util.List; import com.alibaba.druid.sql.ast.SQLExpr; +import com.alibaba.druid.sql.ast.SQLObject; import com.alibaba.druid.sql.ast.SQLStatementImpl; import com.alibaba.druid.sql.visitor.SQLASTVisitor; @@ -26,27 +27,27 @@ public class SQLGrantStatement extends SQLStatementImpl { private final List privileges = new ArrayList(); - private SQLExpr on; + private SQLObject on; private SQLExpr to; - - public SQLGrantStatement() { - + + public SQLGrantStatement(){ + } - - public SQLGrantStatement(String dbType) { - super (dbType); + + public SQLGrantStatement(String dbType){ + super(dbType); } // mysql - private ObjectType objectType; - private SQLExpr maxQueriesPerHour; - private SQLExpr maxUpdatesPerHour; - private SQLExpr maxConnectionsPerHour; - private SQLExpr maxUserConnections; + private SQLObjectType objectType; + private SQLExpr maxQueriesPerHour; + private SQLExpr maxUpdatesPerHour; + private SQLExpr maxConnectionsPerHour; + private SQLExpr maxUserConnections; - private boolean adminOption; + private boolean adminOption; - private SQLExpr identifiedBy; + private SQLExpr identifiedBy; @Override protected void accept0(SQLASTVisitor visitor) { @@ -58,20 +59,21 @@ public class SQLGrantStatement extends SQLStatementImpl { visitor.endVisit(this); } - public ObjectType getObjectType() { + public SQLObjectType getObjectType() { return objectType; } - public void setObjectType(ObjectType objectType) { + public void setObjectType(SQLObjectType objectType) { this.objectType = objectType; } - public SQLExpr getOn() { + public SQLObject getOn() { return on; } - public void setOn(SQLExpr on) { + public void setOn(SQLObject on) { this.on = on; + on.setParent(this); } public SQLExpr getTo() { @@ -133,8 +135,4 @@ public class SQLGrantStatement extends SQLStatementImpl { public void setIdentifiedBy(SQLExpr identifiedBy) { this.identifiedBy = identifiedBy; } - - public static enum ObjectType { - TABLE, FUNCTION, PROCEDURE, USER - } } diff --git a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLObjectType.java b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLObjectType.java new file mode 100644 index 0000000000..c6f68d086d --- /dev/null +++ b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLObjectType.java @@ -0,0 +1,5 @@ +package com.alibaba.druid.sql.ast.statement; + +public enum SQLObjectType { + TABLE, FUNCTION, PROCEDURE, USER +} \ No newline at end of file diff --git a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLRevokeStatement.java b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLRevokeStatement.java new file mode 100644 index 0000000000..49e3ec6fab --- /dev/null +++ b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLRevokeStatement.java @@ -0,0 +1,64 @@ +package com.alibaba.druid.sql.ast.statement; + +import java.util.ArrayList; +import java.util.List; + +import com.alibaba.druid.sql.ast.SQLExpr; +import com.alibaba.druid.sql.ast.SQLObject; +import com.alibaba.druid.sql.ast.SQLStatementImpl; +import com.alibaba.druid.sql.visitor.SQLASTVisitor; + +public class SQLRevokeStatement extends SQLStatementImpl { + + private final List privileges = new ArrayList(); + + private SQLObject on; + private SQLExpr from; + // mysql + private SQLObjectType objectType; + + public SQLRevokeStatement(){ + + } + + public SQLRevokeStatement(String dbType){ + super(dbType); + } + + public SQLObject getOn() { + return on; + } + + public void setOn(SQLObject on) { + this.on = on; + } + + public SQLExpr getFrom() { + return from; + } + + public void setFrom(SQLExpr from) { + this.from = from; + } + + public List getPrivileges() { + return privileges; + } + + public SQLObjectType getObjectType() { + return objectType; + } + + public void setObjectType(SQLObjectType objectType) { + this.objectType = objectType; + } + + @Override + protected void accept0(SQLASTVisitor visitor) { + if (visitor.visit(this)) { + acceptChild(visitor, on); + acceptChild(visitor, from); + } + visitor.endVisit(this); + } +} diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleStatementParser.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleStatementParser.java index 4647055eee..fcd87010fc 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleStatementParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleStatementParser.java @@ -329,6 +329,12 @@ public class OracleStatementParser extends SQLStatementParser { statementList.add(this.parseGrant()); continue; } + + if (lexer.token() == Token.REVOKE) { + statementList.add(this.parseRevoke()); + continue; + } + if (lexer.token() == Token.COMMENT) { statementList.add(this.parseComment()); continue; diff --git a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGExprParser.java b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGExprParser.java index 8caeed2733..75f49259b5 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGExprParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGExprParser.java @@ -19,7 +19,6 @@ import com.alibaba.druid.sql.ast.SQLDataType; import com.alibaba.druid.sql.ast.SQLExpr; import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; import com.alibaba.druid.sql.ast.expr.SQLTimestampExpr; -import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleDateExpr; import com.alibaba.druid.sql.dialect.postgresql.ast.PGOrderBy; import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGArrayExpr; import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGTypeCastExpr; diff --git a/src/main/java/com/alibaba/druid/sql/parser/Keywords.java b/src/main/java/com/alibaba/druid/sql/parser/Keywords.java index 0999ab33e1..2a0955144c 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/Keywords.java +++ b/src/main/java/com/alibaba/druid/sql/parser/Keywords.java @@ -133,6 +133,7 @@ public class Keywords { map.put("COMPUTE", Token.COMPUTE); map.put("WITH", Token.WITH); map.put("GRANT", Token.GRANT); + map.put("REVOKE", Token.REVOKE); DEFAULT_KEYWORDS = new Keywords(map); } diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java index b5584dac8f..4caaf5c444 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java @@ -846,6 +846,7 @@ public class SQLExprParser extends SQLParser { case ANALYZE: case OPTIMIZE: case GRANT: + case REVOKE: identName = lexer.stringVal(); lexer.nextToken(); break; diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLParser.java index 0eee5499ff..5e81fb552b 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLParser.java @@ -119,6 +119,7 @@ public class SQLParser { case ANALYZE: case OPTIMIZE: case GRANT: + case REVOKE: case FULL: case TO: case NEW: diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java index 97099b488d..13165c89e7 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java @@ -63,11 +63,12 @@ import com.alibaba.druid.sql.ast.statement.SQLDropViewStatement; import com.alibaba.druid.sql.ast.statement.SQLExplainStatement; import com.alibaba.druid.sql.ast.statement.SQLExprTableSource; import com.alibaba.druid.sql.ast.statement.SQLGrantStatement; -import com.alibaba.druid.sql.ast.statement.SQLGrantStatement.ObjectType; import com.alibaba.druid.sql.ast.statement.SQLInsertInto; import com.alibaba.druid.sql.ast.statement.SQLInsertStatement; +import com.alibaba.druid.sql.ast.statement.SQLObjectType; import com.alibaba.druid.sql.ast.statement.SQLPrimaryKey; import com.alibaba.druid.sql.ast.statement.SQLReleaseSavePointStatement; +import com.alibaba.druid.sql.ast.statement.SQLRevokeStatement; import com.alibaba.druid.sql.ast.statement.SQLRollbackStatement; import com.alibaba.druid.sql.ast.statement.SQLSavePointStatement; import com.alibaba.druid.sql.ast.statement.SQLSelect; @@ -241,6 +242,12 @@ public class SQLStatementParser extends SQLParser { statementList.add(stmt); continue; } + + if (lexer.token() == Token.REVOKE) { + SQLStatement stmt = parseRevoke(); + statementList.add(stmt); + continue; + } if (lexer.token() == Token.LBRACE || identifierEquals("CALL")) { SQLCallStatement stmt = parseCall(); @@ -355,6 +362,86 @@ public class SQLStatementParser extends SQLParser { accept(Token.GRANT); SQLGrantStatement stmt = new SQLGrantStatement(getDbType()); + parsePrivileages(stmt.getPrivileges(), stmt); + + if (lexer.token() == Token.ON) { + lexer.nextToken(); + + if (lexer.token() == Token.PROCEDURE) { + lexer.nextToken(); + stmt.setObjectType(SQLObjectType.PROCEDURE); + } else if (lexer.token() == Token.FUNCTION) { + lexer.nextToken(); + stmt.setObjectType(SQLObjectType.FUNCTION); + } else if (lexer.token() == Token.TABLE) { + lexer.nextToken(); + stmt.setObjectType(SQLObjectType.TABLE); + } else if (lexer.token() == Token.USER) { + lexer.nextToken(); + stmt.setObjectType(SQLObjectType.USER); + } + + SQLExpr expr = this.exprParser.expr(); + if (stmt.getObjectType() == SQLObjectType.TABLE || stmt.getObjectType() == null) { + stmt.setOn(new SQLExprTableSource(expr)); + } else { + stmt.setOn(expr); + } + } + + if (lexer.token() == Token.TO) { + lexer.nextToken(); + stmt.setTo(this.exprParser.expr()); + } + + if (lexer.token() == Token.WITH) { + lexer.nextToken(); + + for (;;) { + if (identifierEquals("MAX_QUERIES_PER_HOUR")) { + lexer.nextToken(); + stmt.setMaxQueriesPerHour(this.exprParser.primary()); + continue; + } + + if (identifierEquals("MAX_UPDATES_PER_HOUR")) { + lexer.nextToken(); + stmt.setMaxUpdatesPerHour(this.exprParser.primary()); + continue; + } + + if (identifierEquals("MAX_CONNECTIONS_PER_HOUR")) { + lexer.nextToken(); + stmt.setMaxConnectionsPerHour(this.exprParser.primary()); + continue; + } + + if (identifierEquals("MAX_USER_CONNECTIONS")) { + lexer.nextToken(); + stmt.setMaxUserConnections(this.exprParser.primary()); + continue; + } + + break; + } + } + + if (identifierEquals("ADMIN")) { + lexer.nextToken(); + acceptIdentifier("OPTION"); + stmt.setAdminOption(true); + } + + if (lexer.token() == Token.IDENTIFIED) { + lexer.nextToken(); + accept(Token.BY); + stmt.setIdentifiedBy(this.exprParser.expr()); + } + + return stmt; + } + + protected void parsePrivileages(List privileges, SQLObject parent) { for (;;) { String privilege = null; if (lexer.token() == Token.ALL) { @@ -553,8 +640,8 @@ public class SQLStatementParser extends SQLParser { expr = this.exprParser.primaryRest(expr); } - expr.setParent(stmt); - stmt.getPrivileges().add(expr); + expr.setParent(parent); + privileges.add(expr); } if (lexer.token() == Token.COMMA) { @@ -563,74 +650,43 @@ public class SQLStatementParser extends SQLParser { } break; } + } + + public SQLRevokeStatement parseRevoke() { + accept(Token.REVOKE); + + SQLRevokeStatement stmt = new SQLRevokeStatement(getDbType()); + + parsePrivileages(stmt.getPrivileges(), stmt); if (lexer.token() == Token.ON) { lexer.nextToken(); if (lexer.token() == Token.PROCEDURE) { lexer.nextToken(); - stmt.setObjectType(ObjectType.PROCEDURE); + stmt.setObjectType(SQLObjectType.PROCEDURE); } else if (lexer.token() == Token.FUNCTION) { lexer.nextToken(); - stmt.setObjectType(ObjectType.FUNCTION); + stmt.setObjectType(SQLObjectType.FUNCTION); } else if (lexer.token() == Token.TABLE) { lexer.nextToken(); - stmt.setObjectType(ObjectType.TABLE); + stmt.setObjectType(SQLObjectType.TABLE); } else if (lexer.token() == Token.USER) { lexer.nextToken(); - stmt.setObjectType(ObjectType.USER); + stmt.setObjectType(SQLObjectType.USER); } - stmt.setOn(this.exprParser.expr()); - } - - if (lexer.token() == Token.TO) { - lexer.nextToken(); - stmt.setTo(this.exprParser.expr()); - } - - if (lexer.token() == Token.WITH) { - lexer.nextToken(); - - for (;;) { - if (identifierEquals("MAX_QUERIES_PER_HOUR")) { - lexer.nextToken(); - stmt.setMaxQueriesPerHour(this.exprParser.primary()); - continue; - } - - if (identifierEquals("MAX_UPDATES_PER_HOUR")) { - lexer.nextToken(); - stmt.setMaxUpdatesPerHour(this.exprParser.primary()); - continue; - } - - if (identifierEquals("MAX_CONNECTIONS_PER_HOUR")) { - lexer.nextToken(); - stmt.setMaxConnectionsPerHour(this.exprParser.primary()); - continue; - } - - if (identifierEquals("MAX_USER_CONNECTIONS")) { - lexer.nextToken(); - stmt.setMaxUserConnections(this.exprParser.primary()); - continue; - } - - break; + SQLExpr expr = this.exprParser.expr(); + if (stmt.getObjectType() == SQLObjectType.TABLE || stmt.getObjectType() == null) { + stmt.setOn(new SQLExprTableSource(expr)); + } else { + stmt.setOn(expr); } } - if (identifierEquals("ADMIN")) { + if (lexer.token() == Token.FROM) { lexer.nextToken(); - acceptIdentifier("OPTION"); - stmt.setAdminOption(true); - } - - if (lexer.token() == Token.IDENTIFIED) { - lexer.nextToken(); - accept(Token.BY); - stmt.setIdentifiedBy(this.exprParser.expr()); + stmt.setFrom(this.exprParser.expr()); } return stmt; diff --git a/src/main/java/com/alibaba/druid/sql/parser/Token.java b/src/main/java/com/alibaba/druid/sql/parser/Token.java index 753cb09042..3a42ad4f1c 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/Token.java +++ b/src/main/java/com/alibaba/druid/sql/parser/Token.java @@ -177,6 +177,7 @@ public enum Token { DECLARE("DECLARE"), EXCEPTION("EXCEPTION"), GRANT("GRANT"), + REVOKE("REVOKE"), LOOP("LOOP"), GOTO("GOTO"), COMMIT("COMMIT"), diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java index c01041003e..05cee8f275 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java @@ -124,6 +124,7 @@ import com.alibaba.druid.sql.ast.statement.SQLJoinTableSource.JoinType; import com.alibaba.druid.sql.ast.statement.SQLPrimaryKey; import com.alibaba.druid.sql.ast.statement.SQLPrimaryKeyImpl; import com.alibaba.druid.sql.ast.statement.SQLReleaseSavePointStatement; +import com.alibaba.druid.sql.ast.statement.SQLRevokeStatement; import com.alibaba.druid.sql.ast.statement.SQLRollbackStatement; import com.alibaba.druid.sql.ast.statement.SQLSavePointStatement; import com.alibaba.druid.sql.ast.statement.SQLSelect; @@ -1851,6 +1852,30 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab return false; } + + @Override + public boolean visit(SQLRevokeStatement x) { + print("ROVOKE "); + printAndAccept(x.getPrivileges(), ", "); + + if (x.getOn() != null) { + print(" ON "); + + if (x.getObjectType() != null) { + print(x.getObjectType().name()); + print(' '); + } + + x.getOn().accept(this); + } + + if (x.getFrom() != null) { + print(" FROM "); + x.getFrom().accept(this); + } + + return false; + } @Override public boolean visit(SQLDropDatabaseStatement x) { diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitor.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitor.java index 84006497da..37c257dd2d 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitor.java @@ -101,6 +101,7 @@ import com.alibaba.druid.sql.ast.statement.SQLInsertStatement; import com.alibaba.druid.sql.ast.statement.SQLJoinTableSource; import com.alibaba.druid.sql.ast.statement.SQLPrimaryKeyImpl; import com.alibaba.druid.sql.ast.statement.SQLReleaseSavePointStatement; +import com.alibaba.druid.sql.ast.statement.SQLRevokeStatement; import com.alibaba.druid.sql.ast.statement.SQLRollbackStatement; import com.alibaba.druid.sql.ast.statement.SQLSavePointStatement; import com.alibaba.druid.sql.ast.statement.SQLSelect; @@ -550,4 +551,8 @@ public interface SQLASTVisitor { boolean visit(SQLTimestampExpr x); + void endVisit(SQLRevokeStatement x); + + boolean visit(SQLRevokeStatement x); + } diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitorAdapter.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitorAdapter.java index ae0dee23cb..1330a141f5 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitorAdapter.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitorAdapter.java @@ -103,6 +103,7 @@ import com.alibaba.druid.sql.ast.statement.SQLInsertStatement.ValuesClause; import com.alibaba.druid.sql.ast.statement.SQLJoinTableSource; import com.alibaba.druid.sql.ast.statement.SQLPrimaryKeyImpl; import com.alibaba.druid.sql.ast.statement.SQLReleaseSavePointStatement; +import com.alibaba.druid.sql.ast.statement.SQLRevokeStatement; import com.alibaba.druid.sql.ast.statement.SQLRollbackStatement; import com.alibaba.druid.sql.ast.statement.SQLSavePointStatement; import com.alibaba.druid.sql.ast.statement.SQLSelect; @@ -1075,4 +1076,14 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor { return true; } + @Override + public void endVisit(SQLRevokeStatement x) { + + } + + @Override + public boolean visit(SQLRevokeStatement x) { + return true; + } + } diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SchemaStatVisitor.java b/src/main/java/com/alibaba/druid/sql/visitor/SchemaStatVisitor.java index 99d6b4f943..33e64ea3b4 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SchemaStatVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SchemaStatVisitor.java @@ -70,6 +70,8 @@ import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; import com.alibaba.druid.sql.ast.statement.SQLGrantStatement; import com.alibaba.druid.sql.ast.statement.SQLInsertStatement; import com.alibaba.druid.sql.ast.statement.SQLJoinTableSource; +import com.alibaba.druid.sql.ast.statement.SQLObjectType; +import com.alibaba.druid.sql.ast.statement.SQLRevokeStatement; import com.alibaba.druid.sql.ast.statement.SQLRollbackStatement; import com.alibaba.druid.sql.ast.statement.SQLSelect; import com.alibaba.druid.sql.ast.statement.SQLSelectGroupByClause; @@ -1301,6 +1303,17 @@ public class SchemaStatVisitor extends SQLASTVisitorAdapter { @Override public boolean visit(SQLGrantStatement x) { + if (x.getOn() != null && (x.getObjectType() == null || x.getObjectType() == SQLObjectType.TABLE)) { + x.getOn().accept(this); + } + return false; + } + + @Override + public boolean visit(SQLRevokeStatement x) { + if (x.getOn() != null) { + x.getOn().accept(this); + } return false; } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest.java index bc32684766..349457af60 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest.java @@ -49,7 +49,7 @@ public class MySqlGrantTest extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_1.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_1.java index 6b6ec39e37..090dd79ac1 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_1.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_1.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_1 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_10.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_10.java index 5c8fce6087..4202d15eab 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_10.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_10.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_10 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_11.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_11.java index eb7de6f920..8030622565 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_11.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_11.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_11 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_12.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_12.java index dfd0df3250..57354185b8 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_12.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_12.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_12 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_13.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_13.java index 9a255c2d53..8204463f36 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_13.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_13.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_13 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_14.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_14.java index f84bb56cb1..3ecae18661 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_14.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_14.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_14 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_15.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_15.java index e4b0c953df..15b6e2eca4 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_15.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_15.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_15 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_16.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_16.java index 402a5763c9..d4fb2c9c88 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_16.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_16.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_16 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_17.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_17.java index 174628ff55..e0f6f44d73 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_17.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_17.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_17 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_18.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_18.java index 8057678de0..803f9accd5 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_18.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_18.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_18 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_19.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_19.java index baffe54923..5f7f097554 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_19.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_19.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_19 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_2.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_2.java index ec0d2c62bb..7c1b17fba5 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_2.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_2 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_20.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_20.java index be8f316aa6..bead94d388 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_20.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_20.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_20 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_21.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_21.java index c28ec54489..e247339664 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_21.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_21.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_21 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_22.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_22.java index b222c6b860..cbf5a9a0d8 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_22.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_22.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_22 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_23.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_23.java index 915df7e986..f94ccce6fb 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_23.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_23.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_23 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_24.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_24.java index b79b94d4c6..efed80f332 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_24.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_24.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_24 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_25.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_25.java index cd8b9b04f5..b3fed00c4a 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_25.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_25.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_25 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_26.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_26.java index 8743dbeaa1..cb002a7387 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_26.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_26.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_26 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_27.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_27.java index c2d3a7ab2b..ccbba08bcb 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_27.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_27.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_27 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_28.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_28.java index 2a104a0494..4647dd0e98 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_28.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_28.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_28 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_29.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_29.java index 1faf377013..8fa070eb50 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_29.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_29.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_29 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_3.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_3.java index b28b1564b8..8eb72c6cf3 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_3.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_3.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_3 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_30.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_30.java index 47e07112ea..77b59ccae9 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_30.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_30.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_30 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_31.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_31.java index d078681b18..e79894bcc7 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_31.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_31.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_31 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_32.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_32.java index d721e91650..140cd8ca11 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_32.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_32.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_32 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_33.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_33.java index f91832449d..184ab59944 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_33.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_33.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_33 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_34.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_34.java index 908627109d..710da8b154 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_34.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_34.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_34 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_4.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_4.java index 1f6ef9f00b..54c3224790 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_4.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_4.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_4 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_5.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_5.java index b6499ccfd4..b2fe56ad2f 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_5.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_5.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_5 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_6.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_6.java index 31fa674fe6..3bcf342803 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_6.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_6.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_6 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_7.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_7.java index 9d285f4f0a..6073a0a75b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_7.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_7.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_7 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_8.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_8.java index ba9ea7baf0..e45ad899b9 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_8.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlGrantTest_8.java @@ -49,7 +49,7 @@ public class MySqlGrantTest_8 extends MysqlTest { System.out.println("coditions : " + visitor.getConditions()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); Assert.assertEquals(0, visitor.getColumns().size()); Assert.assertEquals(0, visitor.getConditions().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest.java index 08c76b9ba4..cbfdf1ba85 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest.java @@ -23,6 +23,7 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; +import com.alibaba.druid.stat.TableStat; public class OracleGrantTest extends OracleTest { @@ -45,9 +46,9 @@ public class OracleGrantTest extends OracleTest { System.out.println("relationships : " + visitor.getRelationships()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); -// Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("employees"))); + Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("p4p_pro"))); Assert.assertEquals(0, visitor.getColumns().size()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest_4.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest_4.java index c238d64a54..86963aeffb 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest_4.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest_4.java @@ -55,7 +55,7 @@ public class OracleGrantTest_4 extends OracleTest { System.out.println("relationships : " + visitor.getRelationships()); System.out.println("orderBy : " + visitor.getOrderByColumns()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getTables().size()); // Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("employees"))); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGGrantTest0.java b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGGrantTest0.java new file mode 100644 index 0000000000..c31d7252af --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGGrantTest0.java @@ -0,0 +1,38 @@ +package com.alibaba.druid.bvt.sql.postgresql.ddl; + +import java.util.List; + +import org.junit.Assert; + +import com.alibaba.druid.sql.PGTest; +import com.alibaba.druid.sql.ast.SQLStatement; +import com.alibaba.druid.sql.dialect.postgresql.parser.PGSQLStatementParser; +import com.alibaba.druid.sql.dialect.postgresql.visitor.PGSchemaStatVisitor; +import com.alibaba.druid.stat.TableStat; + + +public class PGGrantTest0 extends PGTest { + public void test_0 () throws Exception { + String sql = "GRANT UPDATE ON accounts TO joe;"; + + PGSQLStatementParser parser = new PGSQLStatementParser(sql); + List statementList = parser.parseStatementList(); + SQLStatement statemen = statementList.get(0); + print(statementList); + + Assert.assertEquals(1, statementList.size()); + + PGSchemaStatVisitor visitor = new PGSchemaStatVisitor(); + statemen.accept(visitor); + + System.out.println("Tables : " + visitor.getTables()); + System.out.println("fields : " + visitor.getColumns()); + + Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("accounts"))); + + Assert.assertTrue(visitor.getTables().get(new TableStat.Name("accounts")).getDropCount() == 0); + Assert.assertTrue(visitor.getTables().get(new TableStat.Name("accounts")).getAlterCount() == 0); + + Assert.assertTrue(visitor.getColumns().size() == 0); + } +} diff --git a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGRovokeTest0.java b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGRovokeTest0.java new file mode 100644 index 0000000000..035a151457 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGRovokeTest0.java @@ -0,0 +1,38 @@ +package com.alibaba.druid.bvt.sql.postgresql.ddl; + +import java.util.List; + +import org.junit.Assert; + +import com.alibaba.druid.sql.PGTest; +import com.alibaba.druid.sql.ast.SQLStatement; +import com.alibaba.druid.sql.dialect.postgresql.parser.PGSQLStatementParser; +import com.alibaba.druid.sql.dialect.postgresql.visitor.PGSchemaStatVisitor; +import com.alibaba.druid.stat.TableStat; + + +public class PGRovokeTest0 extends PGTest { + public void test_0 () throws Exception { + String sql = "REVOKE ALL ON accounts FROM PUBLIC;"; + + PGSQLStatementParser parser = new PGSQLStatementParser(sql); + List statementList = parser.parseStatementList(); + SQLStatement statemen = statementList.get(0); + print(statementList); + + Assert.assertEquals(1, statementList.size()); + + PGSchemaStatVisitor visitor = new PGSchemaStatVisitor(); + statemen.accept(visitor); + + System.out.println("Tables : " + visitor.getTables()); + System.out.println("fields : " + visitor.getColumns()); + + Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("accounts"))); + + Assert.assertTrue(visitor.getTables().get(new TableStat.Name("accounts")).getDropCount() == 0); + Assert.assertTrue(visitor.getTables().get(new TableStat.Name("accounts")).getAlterCount() == 0); + + Assert.assertTrue(visitor.getColumns().size() == 0); + } +}