From 440029671c593cdacc32bccf9332b2017bd85f49 Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 26 Jul 2012 15:29:38 +0800 Subject: [PATCH] rename 'MySqlReplicateStatement to MySqlReplaceStatement' --- ...icateStatement.java => MySqlReplaceStatement.java} | 2 +- .../dialect/mysql/parser/MySqlStatementParser.java | 8 ++++---- .../sql/dialect/mysql/visitor/MySqlASTVisitor.java | 6 +++--- .../dialect/mysql/visitor/MySqlASTVisitorAdapter.java | 6 +++--- .../sql/dialect/mysql/visitor/MySqlOutputVisitor.java | 6 +++--- .../dialect/mysql/visitor/MySqlSchemaStatVisitor.java | 6 +++--- .../druid/bvt/sql/mysql/REPLACE_Syntax_Test.java | 11 +++++++++++ 7 files changed, 28 insertions(+), 17 deletions(-) rename src/main/java/com/alibaba/druid/sql/dialect/mysql/ast/statement/{MySqlReplicateStatement.java => MySqlReplaceStatement.java} (94%) diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/ast/statement/MySqlReplicateStatement.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/ast/statement/MySqlReplaceStatement.java similarity index 94% rename from src/main/java/com/alibaba/druid/sql/dialect/mysql/ast/statement/MySqlReplicateStatement.java rename to src/main/java/com/alibaba/druid/sql/dialect/mysql/ast/statement/MySqlReplaceStatement.java index 754b0422ea..918d677064 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/ast/statement/MySqlReplicateStatement.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/ast/statement/MySqlReplaceStatement.java @@ -24,7 +24,7 @@ import com.alibaba.druid.sql.ast.expr.SQLQueryExpr; import com.alibaba.druid.sql.ast.statement.SQLInsertStatement.ValuesClause; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor; -public class MySqlReplicateStatement extends MySqlStatementImpl { +public class MySqlReplaceStatement extends MySqlStatementImpl { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlStatementParser.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlStatementParser.java index 8a033879b6..0dfa5e0e51 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlStatementParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlStatementParser.java @@ -68,7 +68,7 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlLockTableStatement import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlLockTableStatement.LockType; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPrepareStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement; -import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplicateStatement; +import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplaceStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlResetStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRollbackStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectQueryBlock.Limit; @@ -482,7 +482,7 @@ public class MySqlStatementParser extends SQLStatementParser { } if (identifierEquals("REPLACE")) { - MySqlReplicateStatement stmt = parseReplicate(); + MySqlReplaceStatement stmt = parseReplicate(); statementList.add(stmt); return true; } @@ -1436,8 +1436,8 @@ public class MySqlStatementParser extends SQLStatementParser { return stmt; } - public MySqlReplicateStatement parseReplicate() throws ParserException { - MySqlReplicateStatement stmt = new MySqlReplicateStatement(); + public MySqlReplaceStatement parseReplicate() throws ParserException { + MySqlReplaceStatement stmt = new MySqlReplaceStatement(); acceptIdentifier("REPLACE"); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlASTVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlASTVisitor.java index 71909b806e..3036e3e181 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlASTVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlASTVisitor.java @@ -56,7 +56,7 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlLockTableStatement import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPartitionByKey; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPrepareStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement; -import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplicateStatement; +import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplaceStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlResetStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRollbackStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectGroupBy; @@ -176,9 +176,9 @@ public interface MySqlASTVisitor extends SQLASTVisitor { boolean visit(MySqlLoadXmlStatement x); - void endVisit(MySqlReplicateStatement x); + void endVisit(MySqlReplaceStatement x); - boolean visit(MySqlReplicateStatement x); + boolean visit(MySqlReplaceStatement x); void endVisit(MySqlSelectGroupBy x); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlASTVisitorAdapter.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlASTVisitorAdapter.java index eb0d90e8ce..eebb6b99ac 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlASTVisitorAdapter.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlASTVisitorAdapter.java @@ -42,7 +42,7 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlLockTableStatement import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPartitionByKey; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPrepareStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement; -import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplicateStatement; +import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplaceStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlResetStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRollbackStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectGroupBy; @@ -266,12 +266,12 @@ public class MySqlASTVisitorAdapter extends SQLASTVisitorAdapter implements } @Override - public void endVisit(MySqlReplicateStatement x) { + public void endVisit(MySqlReplaceStatement x) { } @Override - public boolean visit(MySqlReplicateStatement x) { + public boolean visit(MySqlReplaceStatement x) { return true; } diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlOutputVisitor.java index 29a75b2a98..028921749f 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlOutputVisitor.java @@ -74,7 +74,7 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlLockTableStatement import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPartitionByKey; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPrepareStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement; -import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplicateStatement; +import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplaceStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlResetStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRollbackStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSQLColumnDefinition; @@ -900,12 +900,12 @@ public class MySqlOutputVisitor extends SQLASTOutputVisitor implements MySqlASTV } @Override - public void endVisit(MySqlReplicateStatement x) { + public void endVisit(MySqlReplaceStatement x) { } @Override - public boolean visit(MySqlReplicateStatement x) { + public boolean visit(MySqlReplaceStatement x) { print("REPLACE "); if (x.isLowPriority()) { diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlSchemaStatVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlSchemaStatVisitor.java index 9c0b7f5f7f..a0cb2710ec 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlSchemaStatVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlSchemaStatVisitor.java @@ -53,7 +53,7 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlLockTableStatement import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPartitionByKey; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlPrepareStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement; -import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplicateStatement; +import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlReplaceStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlResetStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRollbackStatement; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectGroupBy; @@ -339,12 +339,12 @@ public class MySqlSchemaStatVisitor extends SchemaStatVisitor implements MySqlAS } @Override - public void endVisit(MySqlReplicateStatement x) { + public void endVisit(MySqlReplaceStatement x) { } @Override - public boolean visit(MySqlReplicateStatement x) { + public boolean visit(MySqlReplaceStatement x) { return true; } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/REPLACE_Syntax_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/REPLACE_Syntax_Test.java index 9c994bb510..60aafe9511 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/REPLACE_Syntax_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/REPLACE_Syntax_Test.java @@ -49,6 +49,17 @@ public class REPLACE_Syntax_Test extends TestCase { Assert.assertEquals("REPLACE DELAYED INTO `online_users` (`session_id`, `user_id`, `page`, `lastview`)\nVALUES ('3580cc4e61117c0785372c426eddd11c', 'XXX', '/', NOW());", text); } + + public void test_2() throws Exception { + String sql = " replace into t(col1,col2)values(?,?)"; + + SQLStatementParser parser = new MySqlStatementParser(sql); + List stmtList = parser.parseStatementList(); + + String text = output(stmtList); + + Assert.assertEquals("REPLACE INTO t (col1, col2)\nVALUES (?, ?);", text); + } private String output(List stmtList) { StringBuilder out = new StringBuilder();