mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
package com.alibaba.druid.sql.parser;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.junit.Assert;
|
||||
|
||||
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.MySqlUnlockTablesStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
|
||||
|
||||
public class MySQLLockTableTest extends TestCase {
|
||||
|
||||
public void testLockTables() {
|
||||
String stmt1 = "lock tables tt_table read";
|
||||
MySqlStatementParser parser1 = new MySqlStatementParser(stmt1);
|
||||
MySqlLockTableStatement statment1 = (MySqlLockTableStatement) parser1.parseStatement();
|
||||
Assert.assertTrue("tt_table".equalsIgnoreCase(statment1.getTableSource().toString()));
|
||||
Assert.assertTrue(LockType.READ == statment1.getLockType());
|
||||
|
||||
String stmt2 = "lock tables tt_table write";
|
||||
MySqlStatementParser parser2 = new MySqlStatementParser(stmt2);
|
||||
MySqlLockTableStatement statment2 = (MySqlLockTableStatement) parser2.parseStatement();
|
||||
Assert.assertTrue("tt_table".equalsIgnoreCase(statment2.getTableSource().toString()));
|
||||
Assert.assertTrue(LockType.WRITE == statment2.getLockType());
|
||||
|
||||
String stmt3 = "lock table tt_table read";
|
||||
MySqlStatementParser parser3 = new MySqlStatementParser(stmt3);
|
||||
MySqlLockTableStatement statment3 = (MySqlLockTableStatement) parser3.parseStatement();
|
||||
Assert.assertTrue("tt_table".equalsIgnoreCase(statment3.getTableSource().toString()));
|
||||
Assert.assertTrue(LockType.READ == statment3.getLockType());
|
||||
|
||||
String stmt4 = "lock table tt_table write";
|
||||
MySqlStatementParser parser4 = new MySqlStatementParser(stmt4);
|
||||
MySqlLockTableStatement statment4 = (MySqlLockTableStatement) parser4.parseStatement();
|
||||
Assert.assertTrue("tt_table".equalsIgnoreCase(statment4.getTableSource().toString()));
|
||||
Assert.assertTrue(LockType.WRITE == statment4.getLockType());
|
||||
}
|
||||
|
||||
public void testUnlockTables() {
|
||||
String stmt1 = "unlock tables";
|
||||
String stmt2 = "unlock table";
|
||||
MySqlStatementParser parser1 = new MySqlStatementParser(stmt1);
|
||||
MySqlStatementParser parser2 = new MySqlStatementParser(stmt2);
|
||||
MySqlUnlockTablesStatement statment1 = (MySqlUnlockTablesStatement)parser1.parseStatement();
|
||||
MySqlUnlockTablesStatement statment2 = (MySqlUnlockTablesStatement)parser2.parseStatement();
|
||||
Assert.assertTrue(true);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user