mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
add sql parser testcases
This commit is contained in:
@@ -18,13 +18,15 @@ package com.alibaba.druid.bvt.sql.mysql;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Assert;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor;
|
||||
import com.alibaba.druid.sql.parser.SQLStatementParser;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class InsertSyntaxTest extends TestCase {
|
||||
|
||||
public void test_0() throws Exception {
|
||||
@@ -92,10 +94,13 @@ public class InsertSyntaxTest extends TestCase {
|
||||
SQLStatementParser parser = new MySqlStatementParser(sql);
|
||||
List<SQLStatement> stmtList = parser.parseStatementList();
|
||||
|
||||
String text = output(stmtList);
|
||||
SQLStatement stmt = stmtList.get(0);
|
||||
|
||||
Assert.assertEquals("INSERT LOW_PRIORITY DELAYED HIGH_PRIORITY IGNORE INTO tbl_name (a, b, c)\nVALUES (1, 2, 3);",
|
||||
text);
|
||||
Assert.assertEquals("INSERT LOW_PRIORITY DELAYED HIGH_PRIORITY IGNORE INTO tbl_name (a, b, c)\nVALUES (1, 2, 3)",
|
||||
SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("insert low_priority delayed high_priority ignore into tbl_name (a, b, c)\nvalues (1, 2, 3)",
|
||||
SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
public void test_6() throws Exception {
|
||||
@@ -104,11 +109,14 @@ public class InsertSyntaxTest extends TestCase {
|
||||
SQLStatementParser parser = new MySqlStatementParser(sql);
|
||||
List<SQLStatement> stmtList = parser.parseStatementList();
|
||||
|
||||
String text = output(stmtList);
|
||||
SQLStatement stmt = stmtList.get(0);
|
||||
|
||||
Assert.assertEquals("INSERT INTO tbl_name (a, b, c)" + //
|
||||
"\nVALUES (1, 2, 3)" + //
|
||||
"\nON DUPLICATE KEY UPDATE c = c + 1;", text);
|
||||
"\nON DUPLICATE KEY UPDATE c = c + 1", SQLUtils.toMySqlString(stmt));
|
||||
Assert.assertEquals("insert into tbl_name (a, b, c)" + //
|
||||
"\nvalues (1, 2, 3)" + //
|
||||
"\non duplicate key update c = c + 1", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
private String output(List<SQLStatement> stmtList) {
|
||||
|
||||
@@ -16,9 +16,13 @@ public class MySql57Test extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE t1" //
|
||||
+ "\n\tALGORITHM = INPLACE," //
|
||||
+ "\n\tCHANGE COLUMN c1 c1 VARCHAR(255)", output);
|
||||
+ "\n\tCHANGE COLUMN c1 c1 VARCHAR(255)", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table t1" //
|
||||
+ "\n\tALGORITHM = INPLACE," //
|
||||
+ "\n\tchange column c1 c1 VARCHAR(255)", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,8 +31,9 @@ public class MySqlAlterDbTest0 extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME", output);
|
||||
|
||||
Assert.assertEquals("ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME", SQLUtils.toMySqlString(stmt));
|
||||
Assert.assertEquals("alter database `#mysql50#a-b-c` upgrade data directory name", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -31,9 +31,12 @@ public class MySqlAlterTableAddIndex_0 extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE `test`.`tb1`" + //
|
||||
"\n\tADD INDEX `ix` (`f2` ASC)", output);
|
||||
"\n\tADD INDEX `ix` (`f2` ASC)", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table `test`.`tb1`" + //
|
||||
"\n\tadd index `ix` (`f2` asc)", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -30,9 +30,12 @@ public class MySqlAlterTableAddIndex_1 extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE `test`.`tb1`" + //
|
||||
"\n\tADD UNIQUE INDEX `ix2` (`fid` ASC)", output);
|
||||
"\n\tADD UNIQUE INDEX `ix2` (`fid` ASC)", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table `test`.`tb1`" + //
|
||||
"\n\tadd unique index `ix2` (`fid` asc)", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -30,10 +30,14 @@ public class MySqlAlterTableAddPrimaryKey extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE `test`.`tb1`" + //
|
||||
"\n\tCHANGE COLUMN `fid` `fid` INT(11) NOT NULL NULL,\n\t" + //
|
||||
"ADD PRIMARY KEY (`fid`)", output);
|
||||
"ADD PRIMARY KEY (`fid`)", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table `test`.`tb1`" + //
|
||||
"\n\tchange column `fid` `fid` INT(11) not null null,\n\t" + //
|
||||
"add primary key (`fid`)", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -31,9 +31,12 @@ public class MySqlAlterTableAddPrimaryKey_1 extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE tabelname" + //
|
||||
"\n\tADD CONSTRAINT mYconstraint PRIMARY KEY (id)", output);
|
||||
"\n\tADD CONSTRAINT mYconstraint PRIMARY KEY (id)", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table tabelname" + //
|
||||
"\n\tadd constraint mYconstraint primary key (id)", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
-2
@@ -31,9 +31,12 @@ public class MySqlAlterTableAlterColumnDropDefaultTest extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE tabelname" + //
|
||||
"\n\tALTER COLUMN operateVersion DROP DEFAULT", output);
|
||||
"\n\tALTER COLUMN operateVersion DROP DEFAULT", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table tabelname" + //
|
||||
"\n\talter column operateVersion drop default", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
-2
@@ -31,9 +31,12 @@ public class MySqlAlterTableAlterColumnSetDefaultTest extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE tabelname" + //
|
||||
"\n\tALTER COLUMN operateVersion SET DEFAULT 0", output);
|
||||
"\n\tALTER COLUMN operateVersion SET DEFAULT 0", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table tabelname" + //
|
||||
"\n\talter column operateVersion set default 0", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -41,10 +41,12 @@ public class MySqlAlterTableDisableKeys extends TestCase {
|
||||
System.out.println("coditions : " + visitor.getConditions());
|
||||
System.out.println("orderBy : " + visitor.getOrderByColumns());
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("ALTER TABLE tableName" + //
|
||||
"\n\tDISABLE KEYS", output);
|
||||
"\n\tDISABLE KEYS", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table tableName" + //
|
||||
"\n\tdisable keys", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
Assert.assertEquals(1, visitor.getTables().size());
|
||||
Assert.assertEquals(0, visitor.getColumns().size());
|
||||
}
|
||||
|
||||
@@ -30,9 +30,12 @@ public class MySqlAlterTableDropIndex_0 extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE `test`.`tb1`" + //
|
||||
"\n\tDROP INDEX `ix`", output);
|
||||
"\n\tDROP INDEX `ix`", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table `test`.`tb1`" + //
|
||||
"\n\tdrop index `ix`", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -31,10 +31,14 @@ public class MySqlAlterTableDropIndex_1 extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE `test`.`tb1`" + //
|
||||
"\n\tDROP INDEX `ix`," + //
|
||||
"\n\tDROP INDEX `ix2`", output);
|
||||
"\n\tDROP INDEX `ix2`", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table `test`.`tb1`" + //
|
||||
"\n\tdrop index `ix`," + //
|
||||
"\n\tdrop index `ix2`", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -31,9 +31,12 @@ public class MySqlAlterTableDropKey extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE t6" + //
|
||||
"\n\tDROP KEY v", output);
|
||||
"\n\tDROP KEY v", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table t6" + //
|
||||
"\n\tdrop key v", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
package com.alibaba.druid.bvt.sql.mysql;
|
||||
|
||||
import org.junit.Assert;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaStatVisitor;
|
||||
import com.alibaba.druid.sql.parser.Token;
|
||||
import com.alibaba.druid.stat.TableStat.Column;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class MySqlAlterTableDropPrimaryKey extends TestCase {
|
||||
|
||||
@@ -41,9 +41,11 @@ public class MySqlAlterTableDropPrimaryKey extends TestCase {
|
||||
System.out.println("coditions : " + visitor.getConditions());
|
||||
System.out.println("orderBy : " + visitor.getOrderByColumns());
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("ALTER TABLE tableName" + //
|
||||
"\n\tDROP PRIMARY KEY", output);
|
||||
"\n\tDROP PRIMARY KEY", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table tableName" + //
|
||||
"\n\tdrop primary key", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
Assert.assertEquals(1, visitor.getTables().size());
|
||||
Assert.assertEquals(0, visitor.getColumns().size());
|
||||
|
||||
@@ -31,9 +31,12 @@ public class MySqlAlterTableDrop_Test extends TestCase {
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
|
||||
Assert.assertEquals("ALTER TABLE `rules`" //
|
||||
+ "\n\tDROP COLUMN `enabled`", output);
|
||||
+ "\n\tDROP COLUMN `enabled`", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table `rules`" //
|
||||
+ "\n\tdrop column `enabled`", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
package com.alibaba.druid.bvt.sql.mysql;
|
||||
|
||||
import org.junit.Assert;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaStatVisitor;
|
||||
import com.alibaba.druid.sql.parser.Token;
|
||||
import com.alibaba.druid.stat.TableStat.Column;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class MySqlAlterTableEnableKeys extends TestCase {
|
||||
|
||||
@@ -41,9 +41,11 @@ public class MySqlAlterTableEnableKeys extends TestCase {
|
||||
System.out.println("coditions : " + visitor.getConditions());
|
||||
System.out.println("orderBy : " + visitor.getOrderByColumns());
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("ALTER TABLE tableName" + //
|
||||
"\n\tENABLE KEYS", output);
|
||||
"\n\tENABLE KEYS", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table tableName" + //
|
||||
"\n\tenable keys", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
Assert.assertEquals(1, visitor.getTables().size());
|
||||
Assert.assertEquals(0, visitor.getColumns().size());
|
||||
|
||||
@@ -42,11 +42,15 @@ public class MySqlAlterTableTest_addFk extends TestCase {
|
||||
System.out.println("coditions : " + visitor.getConditions());
|
||||
System.out.println("orderBy : " + visitor.getOrderByColumns());
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("ALTER TABLE Test2" + //
|
||||
"\n\tADD INDEX FK4CF5DC0F5DD7C31 (test1_name)," + //
|
||||
"\n\tADD CONSTRAINT FK4CF5DC0F5DD7C31 FOREIGN KEY (test1_name) REFERENCES Test1 (name)",
|
||||
output);
|
||||
SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table Test2" + //
|
||||
"\n\tadd index FK4CF5DC0F5DD7C31 (test1_name)," + //
|
||||
"\n\tadd constraint FK4CF5DC0F5DD7C31 foreign key (test1_name) references Test1 (name)",
|
||||
SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
Assert.assertEquals(2, visitor.getTables().size());
|
||||
Assert.assertEquals(2, visitor.getColumns().size());
|
||||
|
||||
+4
-2
@@ -41,10 +41,12 @@ public class MySqlAlterTableTest_drop_constraint extends TestCase {
|
||||
System.out.println("coditions : " + visitor.getConditions());
|
||||
System.out.println("orderBy : " + visitor.getOrderByColumns());
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("ALTER TABLE TUSER" + //
|
||||
"\n\tDROP CONSTRAINT UK_084c17821a8f47e8b31fbb126b6", output);
|
||||
"\n\tDROP CONSTRAINT UK_084c17821a8f47e8b31fbb126b6", SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("alter table TUSER" + //
|
||||
"\n\tdrop constraint UK_084c17821a8f47e8b31fbb126b6", SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
Assert.assertEquals(1, visitor.getTables().size());
|
||||
Assert.assertEquals(0, visitor.getColumns().size());
|
||||
}
|
||||
|
||||
@@ -40,9 +40,10 @@ public class MySqlCreateUserTest_1 extends MysqlTest {
|
||||
MySqlSchemaStatVisitor visitor = new MySqlSchemaStatVisitor();
|
||||
stmt.accept(visitor);
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("CREATE USER 'jeffrey'@'localhost'", //
|
||||
output);
|
||||
SQLUtils.toMySqlString(stmt));
|
||||
Assert.assertEquals("create user 'jeffrey'@'localhost'", //
|
||||
SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -40,9 +40,10 @@ public class MySqlCreateUserTest_2 extends MysqlTest {
|
||||
MySqlSchemaStatVisitor visitor = new MySqlSchemaStatVisitor();
|
||||
stmt.accept(visitor);
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass'", //
|
||||
output);
|
||||
SQLUtils.toMySqlString(stmt));
|
||||
Assert.assertEquals("create user 'jeffrey'@'localhost' identified by 'mypass'", //
|
||||
SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -41,9 +41,11 @@ public class MySqlCreateUserTest_3 extends MysqlTest {
|
||||
MySqlSchemaStatVisitor visitor = new MySqlSchemaStatVisitor();
|
||||
stmt.accept(visitor);
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY PASSWORD '*90E462C37378CED12064BB3388827D2BA3A9B689'", //
|
||||
output);
|
||||
SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("create user 'jeffrey'@'localhost' identified by password '*90E462C37378CED12064BB3388827D2BA3A9B689'", //
|
||||
SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -41,9 +41,11 @@ public class MySqlCreateUserTest_4 extends MysqlTest {
|
||||
MySqlSchemaStatVisitor visitor = new MySqlSchemaStatVisitor();
|
||||
stmt.accept(visitor);
|
||||
|
||||
String output = SQLUtils.toMySqlString(stmt);
|
||||
Assert.assertEquals("CREATE USER 'jeffrey'@'localhost' IDENTIFIED WITH my_auth_plugin", //
|
||||
output);
|
||||
SQLUtils.toMySqlString(stmt));
|
||||
|
||||
Assert.assertEquals("create user 'jeffrey'@'localhost' identified with my_auth_plugin", //
|
||||
SQLUtils.toMySqlString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -12,6 +12,9 @@ public class OdpsAlterTableDisableLifecycle extends TestCase {
|
||||
String sql = "ALTER TABLE trans DISABLE LIFECYCLE;";
|
||||
Assert.assertEquals("ALTER TABLE trans" //
|
||||
+ "\n\tDISABLE LIFECYCLE;", SQLUtils.formatOdps(sql));
|
||||
|
||||
Assert.assertEquals("alter table trans" //
|
||||
+ "\n\tdisable lifecycle;", SQLUtils.formatOdps(sql, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
|
||||
@@ -19,5 +22,8 @@ public class OdpsAlterTableDisableLifecycle extends TestCase {
|
||||
String sql = "ALTER TABLE trans PARTITION(dt='20141111') DISABLE LIFECYCLE;";
|
||||
Assert.assertEquals("ALTER TABLE trans"
|
||||
+ "\n\tPARTITION (dt = '20141111') DISABLE LIFECYCLE;", SQLUtils.formatOdps(sql));
|
||||
|
||||
Assert.assertEquals("alter table trans"
|
||||
+ "\n\tpartition (dt = '20141111') disable lifecycle;", SQLUtils.formatOdps(sql, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,9 @@ public class OdpsAlterTableEnableLifecycle extends TestCase {
|
||||
String sql = "ALTER TABLE trans ENABLE LIFECYCLE;";
|
||||
Assert.assertEquals("ALTER TABLE trans" //
|
||||
+ "\n\tENABLE LIFECYCLE;", SQLUtils.formatOdps(sql));
|
||||
|
||||
Assert.assertEquals("alter table trans" //
|
||||
+ "\n\tenable lifecycle;", SQLUtils.formatOdps(sql, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
|
||||
@@ -19,5 +22,8 @@ public class OdpsAlterTableEnableLifecycle extends TestCase {
|
||||
String sql = "ALTER TABLE trans PARTITION(dt='20141111') ENABLE LIFECYCLE;";
|
||||
Assert.assertEquals("ALTER TABLE trans"
|
||||
+ "\n\tPARTITION (dt = '20141111') ENABLE LIFECYCLE;", SQLUtils.formatOdps(sql));
|
||||
|
||||
Assert.assertEquals("alter table trans"
|
||||
+ "\n\tpartition (dt = '20141111') enable lifecycle;", SQLUtils.formatOdps(sql, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,8 @@ public class OdpsSetLabelTest extends TestCase {
|
||||
OdpsStatementParser parser = new OdpsStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toOdpsString(stmt);
|
||||
Assert.assertEquals("SET LABEL S3 TO USER aliyun$abc@alibaba-inc.com", output);
|
||||
|
||||
Assert.assertEquals("SET LABEL S3 TO USER aliyun$abc@alibaba-inc.com", SQLUtils.toOdpsString(stmt));
|
||||
Assert.assertEquals("set label S3 to user aliyun$abc@alibaba-inc.com", SQLUtils.toOdpsString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,8 +25,9 @@ public class OdpsShowTablesTest0 extends TestCase {
|
||||
OdpsStatementParser parser = new OdpsStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toOdpsString(stmt);
|
||||
Assert.assertEquals("SHOW TABLES FROM xx", output);
|
||||
|
||||
Assert.assertEquals("SHOW TABLES FROM xx", SQLUtils.toOdpsString(stmt));
|
||||
Assert.assertEquals("show tables from xx", SQLUtils.toOdpsString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
|
||||
public void test_from_like() throws Exception {
|
||||
@@ -34,7 +35,8 @@ public class OdpsShowTablesTest0 extends TestCase {
|
||||
OdpsStatementParser parser = new OdpsStatementParser(sql);
|
||||
SQLStatement stmt = parser.parseStatementList().get(0);
|
||||
parser.match(Token.EOF);
|
||||
String output = SQLUtils.toOdpsString(stmt);
|
||||
Assert.assertEquals("SHOW TABLES FROM xx LIKE '*'", output);
|
||||
|
||||
Assert.assertEquals("SHOW TABLES FROM xx LIKE '*'", SQLUtils.toOdpsString(stmt));
|
||||
Assert.assertEquals("show tables from xx like '*'", SQLUtils.toOdpsString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import java.util.List;
|
||||
import org.junit.Assert;
|
||||
|
||||
import com.alibaba.druid.sql.PGTest;
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
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;
|
||||
@@ -36,13 +37,26 @@ public class PGCreateTableTest_4 extends PGTest {
|
||||
|
||||
PGSQLStatementParser parser = new PGSQLStatementParser(sql);
|
||||
List<SQLStatement> statementList = parser.parseStatementList();
|
||||
SQLStatement statemen = statementList.get(0);
|
||||
print(statementList);
|
||||
SQLStatement stmt = statementList.get(0);
|
||||
|
||||
Assert.assertEquals("CREATE TABLE products ("
|
||||
+ "\n\tproduct_no integer,"
|
||||
+ "\n\tname text,"
|
||||
+ "\n\tprice numeric"
|
||||
+ "\n\t\tCHECK (price > 0)"
|
||||
+ "\n)", SQLUtils.toPGString(stmt));
|
||||
|
||||
Assert.assertEquals("create table products ("
|
||||
+ "\n\tproduct_no integer,"
|
||||
+ "\n\tname text,"
|
||||
+ "\n\tprice numeric"
|
||||
+ "\n\t\tcheck (price > 0)"
|
||||
+ "\n)", SQLUtils.toPGString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
Assert.assertEquals(1, statementList.size());
|
||||
|
||||
PGSchemaStatVisitor visitor = new PGSchemaStatVisitor();
|
||||
statemen.accept(visitor);
|
||||
stmt.accept(visitor);
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -20,6 +20,7 @@ import java.util.List;
|
||||
import org.junit.Assert;
|
||||
|
||||
import com.alibaba.druid.sql.PGTest;
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
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;
|
||||
@@ -34,13 +35,20 @@ public class PGCreateTableTest_5 extends PGTest {
|
||||
|
||||
PGSQLStatementParser parser = new PGSQLStatementParser(sql);
|
||||
List<SQLStatement> statementList = parser.parseStatementList();
|
||||
SQLStatement statemen = statementList.get(0);
|
||||
print(statementList);
|
||||
SQLStatement stmt = statementList.get(0);
|
||||
|
||||
Assert.assertEquals("CREATE TABLE products ("
|
||||
+ "\n\tstate char(2)"
|
||||
+ "\n) INHERITS (cities)", SQLUtils.toPGString(stmt));
|
||||
|
||||
Assert.assertEquals("create table products ("
|
||||
+ "\n\tstate char(2)"
|
||||
+ "\n) inherits (cities)", SQLUtils.toPGString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
Assert.assertEquals(1, statementList.size());
|
||||
|
||||
PGSchemaStatVisitor visitor = new PGSchemaStatVisitor();
|
||||
statemen.accept(visitor);
|
||||
stmt.accept(visitor);
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -37,13 +37,13 @@ public class PGInsertTest5 extends PGTest {
|
||||
|
||||
PGSQLStatementParser parser = new PGSQLStatementParser(sql);
|
||||
List<SQLStatement> statementList = parser.parseStatementList();
|
||||
SQLStatement statemen = statementList.get(0);
|
||||
SQLStatement stmt = statementList.get(0);
|
||||
print(statementList);
|
||||
|
||||
Assert.assertEquals(1, statementList.size());
|
||||
|
||||
PGSchemaStatVisitor visitor = new PGSchemaStatVisitor();
|
||||
statemen.accept(visitor);
|
||||
stmt.accept(visitor);
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -20,6 +20,7 @@ import java.util.List;
|
||||
import org.junit.Assert;
|
||||
|
||||
import com.alibaba.druid.sql.PGTest;
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
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;
|
||||
@@ -31,19 +32,25 @@ public class PGSelectTest23 extends PGTest {
|
||||
|
||||
PGSQLStatementParser parser = new PGSQLStatementParser(sql);
|
||||
List<SQLStatement> statementList = parser.parseStatementList();
|
||||
SQLStatement statemen = statementList.get(0);
|
||||
SQLStatement stmt = statementList.get(0);
|
||||
print(statementList);
|
||||
|
||||
Assert.assertEquals("SELECT id, login_name, name, password, salt"
|
||||
+ "\n\t, roles, register_date"
|
||||
+ "\nFROM user"
|
||||
+ "\nWHERE name LIKE ?"
|
||||
+ "\nLIMIT ? OFFSET ?", output(statementList));
|
||||
+ "\nLIMIT ? OFFSET ?", SQLUtils.toPGString(stmt));
|
||||
|
||||
Assert.assertEquals("select id, login_name, name, password, salt"
|
||||
+ "\n\t, roles, register_date"
|
||||
+ "\nfrom user"
|
||||
+ "\nwhere name like ?"
|
||||
+ "\nlimit ? offset ?", SQLUtils.toPGString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
Assert.assertEquals(1, statementList.size());
|
||||
|
||||
PGSchemaStatVisitor visitor = new PGSchemaStatVisitor();
|
||||
statemen.accept(visitor);
|
||||
stmt.accept(visitor);
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -47,7 +47,6 @@ public class SQLServerCreateTableTest_3 extends TestCase {
|
||||
|
||||
Assert.assertEquals(1, statementList.size());
|
||||
|
||||
String output = SQLUtils.toSQLString(stmt, JdbcConstants.SQL_SERVER);
|
||||
Assert.assertEquals("CREATE TABLE dbo.cwd_directory (" //
|
||||
+ "\n\tID NUMERIC NOT NULL,"//
|
||||
+ "\n\tdirectory_name NVARCHAR(255),"//
|
||||
@@ -61,7 +60,23 @@ public class SQLServerCreateTableTest_3 extends TestCase {
|
||||
+ "\n\tdirectory_type NVARCHAR(60),"//
|
||||
+ "\n\tdirectory_position NUMERIC,"//
|
||||
+ "\n\tCONSTRAINT PK_cwd_directory PRIMARY KEY (ID)"//
|
||||
+ "\n)", output);
|
||||
+ "\n)", SQLUtils.toSQLString(stmt, JdbcConstants.SQL_SERVER));
|
||||
|
||||
|
||||
Assert.assertEquals("create table dbo.cwd_directory (" //
|
||||
+ "\n\tID NUMERIC not null,"//
|
||||
+ "\n\tdirectory_name NVARCHAR(255),"//
|
||||
+ "\n\tlower_directory_name NVARCHAR(255),"//
|
||||
+ "\n\tcreated_date DATETIME,"//
|
||||
+ "\n\tupdated_date DATETIME,"//
|
||||
+ "\n\tactive int,"//
|
||||
+ "\n\tdescription NVARCHAR(255),"//
|
||||
+ "\n\timpl_class NVARCHAR(255),"//
|
||||
+ "\n\tlower_impl_class NVARCHAR(255),"//
|
||||
+ "\n\tdirectory_type NVARCHAR(60),"//
|
||||
+ "\n\tdirectory_position NUMERIC,"//
|
||||
+ "\n\tconstraint PK_cwd_directory primary key (ID)"//
|
||||
+ "\n)", SQLUtils.toSQLString(stmt, JdbcConstants.SQL_SERVER, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
SQLServerSchemaStatVisitor visitor = new SQLServerSchemaStatVisitor();
|
||||
stmt.accept(visitor);
|
||||
|
||||
@@ -16,26 +16,24 @@
|
||||
package com.alibaba.druid.bvt.sql.sqlserver;
|
||||
|
||||
import org.junit.Assert;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLSelectStatement;
|
||||
import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerStatementParser;
|
||||
import com.alibaba.druid.sql.test.TestUtils;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class SQLServerTopTest extends TestCase {
|
||||
|
||||
public void test_isEmpty() throws Exception {
|
||||
String sql = "SELECT TOP 10 * FROM T";
|
||||
|
||||
String expect = "SELECT TOP 10 *\nFROM T";
|
||||
|
||||
SQLServerStatementParser parser = new SQLServerStatementParser(sql);
|
||||
SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatementList().get(0);
|
||||
|
||||
String text = TestUtils.outputSqlServer(stmt);
|
||||
|
||||
Assert.assertEquals(expect, text);
|
||||
Assert.assertEquals("SELECT TOP 10 *\nFROM T", SQLUtils.toSQLServerString(stmt));
|
||||
Assert.assertEquals("select top 10 *\nfrom T", SQLUtils.toSQLServerString(stmt, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));
|
||||
|
||||
System.out.println(text);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user