-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathtestGenerator.java
More file actions
97 lines (82 loc) · 2.78 KB
/
Copy pathtestGenerator.java
File metadata and controls
97 lines (82 loc) · 2.78 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
package scriptWriter;
import gudusoft.gsqlparser.EDbVendor;
import gudusoft.gsqlparser.ESqlStatementType;
import gudusoft.gsqlparser.TCustomSqlStatement;
import gudusoft.gsqlparser.TGSqlParser;
import junit.framework.TestCase;
import common.SqlFileList;
public class testGenerator extends TestCase
{
boolean supportedSqlType( ESqlStatementType sqlStatementType )
{
return ( ( sqlStatementType == ESqlStatementType.sstselect )
|| ( sqlStatementType == ESqlStatementType.sstdelete )
|| ( sqlStatementType == ESqlStatementType.sstupdate )
|| ( sqlStatementType == ESqlStatementType.sstinsert )
|| ( sqlStatementType == ESqlStatementType.sstmerge )
|| ( sqlStatementType == ESqlStatementType.sstcreatetable )
|| ( sqlStatementType == ESqlStatementType.sstcreateview )
|| ( sqlStatementType == ESqlStatementType.sstdropindex )
|| ( sqlStatementType == ESqlStatementType.sstUseDatabase )
|| ( sqlStatementType == ESqlStatementType.sstmssqlcreatefunction ) || ( sqlStatementType == ESqlStatementType.sstmssqlif )
);
}
void processfiles( EDbVendor db, String dir )
{
TGSqlParser sqlparser = new TGSqlParser( db );
SqlFileList sqlfiles = new SqlFileList( dir, true );
for ( int k = 0; k < sqlfiles.sqlfiles.size( ); k++ )
{
sqlparser.sqlfilename = sqlfiles.sqlfiles.get( k ).toString( );
try
{
boolean b = sqlparser.parse( ) == 0;
assertTrue( sqlparser.sqlfilename
+ "\n"
+ sqlparser.getErrormessage( ),
b );
if ( b )
{
for ( int i = 0; i < sqlparser.sqlstatements.size( ); i++ )
{
if ( supportedSqlType( sqlparser.sqlstatements.get( i ).sqlstatementtype ) )
{
// assertTrue(sqlparser.sqlfilename,rewriteQuery(sqlparser.sqlstatements.get(i),db));
if ( !rewriteQuery( sqlparser.sqlstatements.get( i ),
db ) )
{
System.out.println( "\n"
+ sqlparser.sqlfilename
+ "\n" );
}
}
}
}
}
catch ( Exception e )
{
System.out.println( "testGenerator error:"
+ e.getMessage( )
+ " "
+ sqlparser.sqlfilename );
}
}
}
boolean rewriteQuery( TCustomSqlStatement sqlStatement, EDbVendor dbVendor )
{
String sourceSql = sqlStatement.toString( );
String targetSql = sqlStatement.toScript( );
return testScriptGenerator.verifyScript( dbVendor, sourceSql, targetSql, sqlStatement.getStartToken().lineNo );
}
public void testOracle( )
{
//processfiles(EDbVendor.dbvoracle,"c:/prg/gsqlparser/Test/TestCases/oracle");
// processfiles(EDbVendor.dbvoracle,
// "c:/prg/gsqlparser/Test/TestCases/java/oracle/");
//processfiles(EDbVendor.dbvoracle,"c:/prg/gsqlparser/Test/TestCases/commonsql/");
}
public void testSQLServer( )
{
// processfiles(EDbVendor.dbvmssql,"c:/prg/gsqlparser/Test/TestCases/mssql");
}
}