-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathtestMySQL.java
More file actions
126 lines (96 loc) · 5.35 KB
/
Copy pathtestMySQL.java
File metadata and controls
126 lines (96 loc) · 5.35 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
package scriptWriter;
import gudusoft.gsqlparser.*;
import gudusoft.gsqlparser.stmt.TSelectSqlStatement;
import junit.framework.TestCase;
public class testMySQL extends TestCase
{
public void testSelectModifier1( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "select SQL_CALC_FOUND_ROWS concat('1','-','2') from test";
sqlparser.parse( );
//System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testSelectModifier2( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "select SQL_CALC_FOUND_ROWS distinct concat('3','-','2') from test ";
sqlparser.parse( );
//System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testSelectModifier3( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "select SQL_CALC_FOUND_ROWS distinct 1 from dual";
sqlparser.parse( );
// System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testSelectModifier4( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "select distinct SQL_CALC_FOUND_ROWS 1 from dual";
sqlparser.parse( );
// System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testCastFunction( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "select cast (test.string as json) from test";
sqlparser.parse( );
// System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testOnduplicate( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "insert into user (id, name, summa) \n" +
"values(104,'Melony',2999) on duplicate key update sum=values(suma)";
sqlparser.parse( );
//System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testUpdateJoins( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "update user u \n" +
"join user_info ui on u.id=ui.userid\n" +
"set u.summa = 999\n" +
"where u.id=1";
sqlparser.parse( );
//System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testDeleteFrom( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "delete from user \n" +
"where id=1";
sqlparser.parse( );
// System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testTimeStampDiff( )
{
TGSqlParser sqlparser = new TGSqlParser( EDbVendor.dbvmysql );
sqlparser.sqltext = "select TIMESTAMPDIFF(SECOND,lt.loginDate,lt.logoutDate) as temp from table";
sqlparser.parse( );
// System.out.println(sqlparser.sqlstatements.get(0).toScript());
assertTrue(testScriptGenerator.verifyScript(EDbVendor.dbvmysql, sqlparser.sqlstatements.get(0).toString(), sqlparser.sqlstatements.get(0).toScript()));
}
public void testSubStringFunction( ) {
String sql = "select SUBSTRING(description,LOCATE('MAC Address:', description) + LENGTH('MAC Address:'), 18) AS MAC_Address from testsuite where tsID = 21";
TGSqlParser sqlParser = new TGSqlParser(EDbVendor.dbvmysql);
sqlParser.sqltext = sql;
int ret = sqlParser.parse();
assertTrue(ret == 0);
TSelectSqlStatement select = (TSelectSqlStatement) sqlParser.sqlstatements.get(0);
String finalSql = select.toScript();
finalSql = finalSql.replaceAll("\r\n", "").replaceAll("\n", "").replaceAll(" ", "").toUpperCase();
sql = sql.replaceAll("\r\n", "").replaceAll("\n", "").replaceAll(" ", "").toUpperCase();
assertTrue(finalSql.equals(sql));
}
}