Skip to content

Commit 557e5c3

Browse files
author
sqlparser
committed
2.5.9.4
1 parent 39d79df commit 557e5c3

2 files changed

Lines changed: 52 additions & 6 deletions

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package teradata;
2+
3+
import gudusoft.gsqlparser.EDbVendor;
4+
import gudusoft.gsqlparser.TGSqlParser;
5+
import gudusoft.gsqlparser.stmt.TAlterProcedureStmt;
6+
import junit.framework.TestCase;
7+
8+
9+
public class testAlterProcedure extends TestCase {
10+
11+
public void testPrepare(){
12+
13+
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvteradata);
14+
sqlparser.sqltext = "ALTER PROCEDURE spa_tz COMPILE AT TIME ZONE LOCAL;";
15+
assertTrue(sqlparser.parse() == 0);
16+
17+
TAlterProcedureStmt cp = (TAlterProcedureStmt)sqlparser.sqlstatements.get(0);
18+
assertTrue(cp.getProcedureName().toString().equalsIgnoreCase("spa_tz"));
19+
20+
}
21+
}

src/test/java/teradata/testLock.java

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import gudusoft.gsqlparser.EDbVendor;
77
import gudusoft.gsqlparser.ESqlStatementType;
88
import gudusoft.gsqlparser.TGSqlParser;
9+
import gudusoft.gsqlparser.nodes.teradata.TTeradataLockClause;
910
import gudusoft.gsqlparser.stmt.TSelectSqlStatement;
1011
import gudusoft.gsqlparser.stmt.teradata.TTeradataLock;
1112
import junit.framework.TestCase;
@@ -25,9 +26,10 @@ public void test1(){
2526
assertTrue(sqlparser.parse() == 0);
2627
assertTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstteradatalock);
2728
TTeradataLock lock = (TTeradataLock)sqlparser.sqlstatements.get(0);
28-
assertTrue(lock.getDatabase_table_view().toString().equalsIgnoreCase("TABLE"));
29-
assertTrue(lock.getObjectName().toString().equalsIgnoreCase("dbc.TDWMExceptionLog"));
30-
assertTrue(lock.getLockMode().toString().equalsIgnoreCase("ACCESS"));
29+
TTeradataLockClause lockClause = lock.getLockClauses().get(0);
30+
assertTrue(lockClause.getDatabase_table_view().toString().equalsIgnoreCase("TABLE"));
31+
assertTrue(lockClause.getObjectName().toString().equalsIgnoreCase("dbc.TDWMExceptionLog"));
32+
assertTrue(lockClause.getLockMode().toString().equalsIgnoreCase("ACCESS"));
3133
assertTrue(lock.getSqlRequest().sqlstatementtype == ESqlStatementType.sstselect);
3234
TSelectSqlStatement select = (TSelectSqlStatement)lock.getSqlRequest();
3335
assertTrue(select.getResultColumnList().size() == 24);
@@ -42,14 +44,37 @@ public void test2(){
4244
assertTrue(sqlparser.parse() == 0);
4345
assertTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstteradatalock);
4446
TTeradataLock lock = (TTeradataLock)sqlparser.sqlstatements.get(0);
45-
assertTrue(lock.getDatabase_table_view().toString().equalsIgnoreCase("TABLE"));
46-
assertTrue(lock.getObjectName().toString().equalsIgnoreCase("t1"));
47-
assertTrue(lock.getLockMode().toString().equalsIgnoreCase("ACCESS"));
47+
TTeradataLockClause lockClause = lock.getLockClauses().get(0);
48+
assertTrue(lockClause.getDatabase_table_view().toString().equalsIgnoreCase("TABLE"));
49+
assertTrue(lockClause.getObjectName().toString().equalsIgnoreCase("t1"));
50+
assertTrue(lockClause.getLockMode().toString().equalsIgnoreCase("ACCESS"));
4851
assertTrue(lock.getSqlRequest().sqlstatementtype == ESqlStatementType.sstselect);
4952
TSelectSqlStatement select = (TSelectSqlStatement)lock.getSqlRequest();
5053
assertTrue(select.getResultColumnList().size() == 1);
5154
assertTrue(select.tables.getTable(0).toString().equalsIgnoreCase("t1"));
5255

5356
}
5457

58+
public void test3(){
59+
60+
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvteradata);
61+
sqlparser.sqltext = " LOCKING TABLE schema1.table1 FOR READ\n" +
62+
"LOCKING TABLE schema1.table1 FOR READ\n" +
63+
"LOCKING TABLE schema1.table2 FOR READ\n" +
64+
"LOCKING TABLE schema1.table3 FOR READ\n" +
65+
"Select * from schema1.table1, schema1.table2;";
66+
assertTrue(sqlparser.parse() == 0);
67+
assertTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstteradatalock);
68+
TTeradataLock lock = (TTeradataLock)sqlparser.sqlstatements.get(0);
69+
TTeradataLockClause lockClause = lock.getLockClauses().get(0);
70+
assertTrue(lockClause.getDatabase_table_view().toString().equalsIgnoreCase("TABLE"));
71+
assertTrue(lockClause.getObjectName().toString().equalsIgnoreCase("schema1.table1"));
72+
assertTrue(lockClause.getLockMode().toString().equalsIgnoreCase("READ"));
73+
assertTrue(lock.getSqlRequest().sqlstatementtype == ESqlStatementType.sstselect);
74+
TSelectSqlStatement select = (TSelectSqlStatement)lock.getSqlRequest();
75+
assertTrue(select.getResultColumnList().size() == 1);
76+
assertTrue(select.tables.getTable(0).toString().equalsIgnoreCase("schema1.table1"));
77+
78+
}
79+
5580
}

0 commit comments

Comments
 (0)