-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathtestDistributeBy.java
More file actions
40 lines (29 loc) · 1.71 KB
/
Copy pathtestDistributeBy.java
File metadata and controls
40 lines (29 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package common;
import gudusoft.gsqlparser.EDbVendor;
import gudusoft.gsqlparser.TGSqlParser;
import gudusoft.gsqlparser.nodes.TExpressionList;
import gudusoft.gsqlparser.nodes.TDistributeBy;
import gudusoft.gsqlparser.stmt.TSelectSqlStatement;
import junit.framework.TestCase;
public class testDistributeBy extends TestCase {
public void testDistributeByClause() {
TGSqlParser tgSqlParser = new TGSqlParser(EDbVendor.dbvhive);
tgSqlParser.sqltext = "select mid, money, name from store distribute by mid sort by mid asc, money asc";
assertTrue(tgSqlParser.parse() == 0);
TSelectSqlStatement sqlstatements = (TSelectSqlStatement) tgSqlParser.getSqlstatements().get(0);
TDistributeBy distributeBy = sqlstatements.getDistributeBy();
assertTrue(distributeBy.toString().equalsIgnoreCase("distribute by mid"));
}
public void testDistributeByExprs() {
TGSqlParser tgSqlParser = new TGSqlParser(EDbVendor.dbvhive);
tgSqlParser.sqltext = "select mid, money, name from store distribute by mid,name sort by mid asc, money asc";
assertTrue(tgSqlParser.parse() == 0);
TSelectSqlStatement sqlstatements = (TSelectSqlStatement) tgSqlParser.getSqlstatements().get(0);
TDistributeBy distributeBy = sqlstatements.getDistributeBy();
assertTrue(distributeBy.toString().equalsIgnoreCase("distribute by mid,name"));
TExpressionList expressionList = distributeBy.getExpressionList();
assertTrue(expressionList.toString().equalsIgnoreCase("mid,name"));
assertTrue(expressionList.getExpression(0).toString().equalsIgnoreCase("mid"));
assertTrue(expressionList.getExpression(1).toString().equalsIgnoreCase("name"));
}
}