-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathtestDatatype.java
More file actions
133 lines (106 loc) · 5.58 KB
/
Copy pathtestDatatype.java
File metadata and controls
133 lines (106 loc) · 5.58 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
129
130
131
132
133
package test.postgresql;
/*
* Date: 13-6-14
*/
import gudusoft.gsqlparser.EDataType;
import gudusoft.gsqlparser.EDbVendor;
import gudusoft.gsqlparser.TGSqlParser;
import gudusoft.gsqlparser.nodes.*;
import gudusoft.gsqlparser.stmt.TCreateTableSqlStatement;
import junit.framework.TestCase;
public class testDatatype extends TestCase {
public void test1(){
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvpostgresql);
sqlparser.sqltext = "CREATE TABLE \"table1\" (\n" +
" \"column2\" date\n" +
");";
assertTrue(sqlparser.parse() == 0);
TCreateTableSqlStatement createTable = (TCreateTableSqlStatement)sqlparser.sqlstatements.get(0);
TColumnDefinition cd = createTable.getColumnList().getColumn(0);
assertTrue(cd.getDatatype().getDataType() == EDataType.date_t);
}
public void test2(){
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvpostgresql);
sqlparser.sqltext = "CREATE TABLE \"table1\" (\n" +
" \"column1\" numeric(5,2)\n" +
");";
assertTrue(sqlparser.parse() == 0);
TCreateTableSqlStatement createTable = (TCreateTableSqlStatement)sqlparser.sqlstatements.get(0);
TColumnDefinition cd = createTable.getColumnList().getColumn(0);
assertTrue(cd.getDatatype().getDataType() == EDataType.numeric_t);
assertTrue(cd.getDatatype().getPrecision().toString().equalsIgnoreCase("5"));
assertTrue(cd.getDatatype().getScale().toString().equalsIgnoreCase("2"));
}
public void test3(){
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvpostgresql);
sqlparser.sqltext = "CREATE TABLE Flights\n" +
"(\n" +
" DEPART_TIME TIME,\n" +
" ID SERIAL\n" +
")";
assertTrue(sqlparser.parse() == 0);
TCreateTableSqlStatement createTable = (TCreateTableSqlStatement)sqlparser.sqlstatements.get(0);
TColumnDefinition cd = createTable.getColumnList().getColumn(0);
assertTrue(cd.getDatatype().getDataType() == EDataType.time_t);
cd = createTable.getColumnList().getColumn(1);
assertTrue(cd.getDatatype().getDataType() == EDataType.serial_t);
}
public void test31(){
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvpostgresql);
sqlparser.sqltext = "create table t(time time, id int);";
assertTrue(sqlparser.parse() == 0);
TCreateTableSqlStatement createTable = (TCreateTableSqlStatement)sqlparser.sqlstatements.get(0);
TColumnDefinition cd = createTable.getColumnList().getColumn(0);
assertTrue(cd.getColumnName().toString().equalsIgnoreCase("time"));
assertTrue(cd.getDatatype().getDataType() == EDataType.time_t);
}
public void test4(){
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvpostgresql);
sqlparser.sqltext = "CREATE TABLE \"table\" (\n" +
" \"column\" character(2)\n" +
");";
assertTrue(sqlparser.parse() == 0);
TCreateTableSqlStatement createTable = (TCreateTableSqlStatement)sqlparser.sqlstatements.get(0);
TColumnDefinition cd = createTable.getColumnList().getColumn(0);
//System.out.println(cd.getDatatype().getDataType().toString());
assertTrue(cd.getDatatype().getDataType() == EDataType.char_t);
}
public void test5(){
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvpostgresql);
sqlparser.sqltext = "create table test(column TEXT);";
assertTrue(sqlparser.parse() == 0);
TCreateTableSqlStatement createTable = (TCreateTableSqlStatement)sqlparser.sqlstatements.get(0);
TColumnDefinition cd = createTable.getColumnList().getColumn(0);
// System.out.println(cd.getDatatype().getDataType().toString());
assertTrue(cd.getDatatype().getDataType() == EDataType.text_t);
}
public void test6(){
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvpostgresql);
sqlparser.sqltext = "CREATE TABLE test (\n" +
" id character \n" +
");";
assertTrue(sqlparser.parse() == 0);
TCreateTableSqlStatement createTable = (TCreateTableSqlStatement)sqlparser.sqlstatements.get(0);
TColumnDefinition cd = createTable.getColumnList().getColumn(0);
assertTrue(cd.getDatatype().getDataType() == EDataType.char_t);
}
public void test9(){
TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvpostgresql);
sqlparser.sqltext = "CREATE TABLE test (\n" +
" id bigint, \n" +
" id1 bigserial, \n" +
" id2 money, \n" +
" id3 bytea \n" +
");";
assertTrue(sqlparser.parse() == 0);
TCreateTableSqlStatement createTable = (TCreateTableSqlStatement)sqlparser.sqlstatements.get(0);
TColumnDefinition cd = createTable.getColumnList().getColumn(0);
TColumnDefinition cd1 = createTable.getColumnList().getColumn(1);
TColumnDefinition cd2 = createTable.getColumnList().getColumn(2);
TColumnDefinition cd3 = createTable.getColumnList().getColumn(3);
assertTrue(cd.getDatatype().getDataType() == EDataType.bigint_t);
assertTrue(cd1.getDatatype().getDataType() == EDataType.bigserial_t);
assertTrue(cd2.getDatatype().getDataType() == EDataType.money_t);
assertTrue(cd3.getDatatype().getDataType() == EDataType.bytea_t);
}
}