-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathtestBacktick.java
More file actions
128 lines (100 loc) · 4.75 KB
/
Copy pathtestBacktick.java
File metadata and controls
128 lines (100 loc) · 4.75 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package bigquery;
import gudusoft.gsqlparser.EDbVendor;
import gudusoft.gsqlparser.TGSqlParser;
import gudusoft.gsqlparser.TStatementList;
import gudusoft.gsqlparser.nodes.TTable;
import gudusoft.gsqlparser.nodes.TTableList;
import junit.framework.Assert;
import junit.framework.TestCase;
public class testBacktick extends TestCase {
public void test2600_1() {
String query = "select col1,co2 from `database.schema`.table_name where col>0;";
TGSqlParser sqlParser = new TGSqlParser(EDbVendor.dbvbigquery);
sqlParser.setSqlCharset("UTF-8");
sqlParser.sqltext = query;
int iRet = sqlParser.parse();
if (iRet == 0) {
TStatementList statements = sqlParser.sqlstatements;
TTableList tables = statements.get(0).getTables();
TTable table = tables.getTable(0);
// table name
Assert.assertEquals("table_name", table.getTableName().getObjectToken().toString());
// db name
Assert.assertEquals("`database`", table.getTableName().getDatabaseToken().toString());
// schema name
Assert.assertEquals("`schema`", table.getTableName().getSchemaToken().toString());
}
}
public void test2600_2() {
String query = "select col1,co2 from database.`schema.table_name` where col>0;";
TGSqlParser sqlParser = new TGSqlParser(EDbVendor.dbvbigquery);
sqlParser.setSqlCharset("UTF-8");
sqlParser.sqltext = query;
int iRet = sqlParser.parse();
if (iRet == 0) {
TStatementList statements = sqlParser.sqlstatements;
TTableList tables = statements.get(0).getTables();
TTable table = tables.getTable(0);
// table name
Assert.assertEquals("`table_name`", table.getTableName().getObjectToken().toString());
// db name
Assert.assertEquals("database", table.getTableName().getDatabaseToken().toString());
// schema name
Assert.assertEquals("`schema`", table.getTableName().getSchemaToken().toString());
}
}
public void test1() {
String query = "SELECT `table1`.`field1` as `field1` FROM `db_name.schema_name`.`table1` `table1`";
TGSqlParser sqlParser = new TGSqlParser(EDbVendor.dbvbigquery);
sqlParser.setSqlCharset("UTF-8");
sqlParser.sqltext = query;
int iRet = sqlParser.parse();
if (iRet == 0) {
TStatementList statements = sqlParser.sqlstatements;
TTableList tables = statements.get(0).getTables();
TTable table = tables.getTable(0);
// table name
Assert.assertEquals("`table1`", table.getTableName().getObjectToken().toString());
// db name
Assert.assertEquals("`db_name`", table.getTableName().getDatabaseToken().toString());
// schema name
Assert.assertEquals("`schema_name`", table.getTableName().getSchemaToken().toString());
}
}
public void testexample2(){
String query = "SELECT `table1`.`field1` as `field1` FROM `db_name`.`schema_name`.`table1` `table1`";
TGSqlParser sqlParser = new TGSqlParser(EDbVendor.dbvbigquery);
sqlParser.setSqlCharset("UTF-8");
sqlParser.sqltext = query;
int iRet = sqlParser.parse();
if( iRet == 0 ){
TStatementList statements = sqlParser.sqlstatements;
TTableList tables = statements.get(0).getTables();
TTable table = tables.getTable(0);
// table name
Assert.assertEquals("`table1`" , table.getTableName().getObjectToken().toString());
// db name
Assert.assertEquals("`db_name`" , table.getTableName().getDatabaseToken().toString());
// schema name
Assert.assertEquals("`schema_name`" , table.getTableName().getSchemaToken().toString());
}
}
public void testexample1(){
String query = "SELECT table1.field1 as field1 FROM db_name.schema_name.table1 table1";
TGSqlParser sqlParser = new TGSqlParser(EDbVendor.dbvbigquery);
sqlParser.setSqlCharset("UTF-8");
sqlParser.sqltext = query;
int iRet = sqlParser.parse();
if( iRet == 0 ){
TStatementList statements = sqlParser.sqlstatements;
TTableList tables = statements.get(0).getTables();
TTable table = tables.getTable(0);
// table name
Assert.assertEquals("table1" , table.getTableName().getObjectToken().toString());
// db name
Assert.assertEquals("db_name" , table.getTableName().getDatabaseToken().toString());
// schema name
Assert.assertEquals("schema_name" , table.getTableName().getSchemaToken().toString());
}
}
}