mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
51 lines
2.3 KiB
Java
51 lines
2.3 KiB
Java
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);
|
|
}
|
|
|
|
}
|