improved sql parser.

This commit is contained in:
wenshao
2017-06-08 15:16:22 +08:00
parent 41a56b3c92
commit 7c4a43d2c5
29 changed files with 375 additions and 23 deletions
@@ -45,7 +45,7 @@ public class OracleLockTableTest4 extends OracleTest {
System.out.println("coditions : " + visitor.getConditions());
System.out.println("relationships : " + visitor.getRelationships());
assertTrue(visitor.getTables().containsKey(new TableStat.Name("FIN_SETTLEMENT_DETAIL")));
assertTrue(visitor.getTables().containsKey(new TableStat.Name("TAB9527")));
assertEquals(1, visitor.getTables().size());
assertEquals(0, visitor.getColumns().size());
@@ -55,9 +55,9 @@ public class OracleCreateTableTest19 extends OracleTest {
SQLStatement statement = statementList.get(0);
print(statementList);
Assert.assertEquals(1, statementList.size());
assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SONAR\".\"ACTIVE_DASHBOARDS\" (\n" +
assertEquals("CREATE TABLE \"SONAR\".\"ACTIVE_DASHBOARDS\" (\n" +
"\t\"ID\" NUMBER(38, 0) NOT NULL ENABLE,\n" +
"\t\"DASHBOARD_ID\" NUMBER(38, 0) NOT NULL ENABLE,\n" +
"\t\"USER_ID\" NUMBER(38, 0),\n" +
@@ -70,6 +70,10 @@ public class OracleCreateTableTest19 extends OracleTest {
"\t\tTABLESPACE \"USERS\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -88,6 +92,10 @@ public class OracleCreateTableTest19 extends OracleTest {
"TABLESPACE \"USERS\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -84,6 +84,10 @@ public class OracleCreateTableTest41 extends OracleTest {
"\t\tTABLESPACE \"USERS\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -108,6 +112,10 @@ public class OracleCreateTableTest41 extends OracleTest {
"TABLESPACE \"USERS\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -119,6 +127,10 @@ public class OracleCreateTableTest41 extends OracleTest {
"\tTABLESPACE \"USERS\"\n" +
"\tSTORAGE (\n" +
"\t\tINITIAL 65536\n" +
"\t\tNEXT 1048576\n" +
"\t\tMINEXTENTS 1\n" +
"\t\tMAXEXTENTS 2147483645\n" +
"\t\tPCTINCREASE 0\n" +
"\t\tFREELISTS 1\n" +
"\t\tFREELIST GROUPS 1\n" +
"\t\tBUFFER_POOL DEFAULT\n" +
@@ -77,6 +77,10 @@ public class OracleCreateTableTest43 extends OracleTest {
"\t\tTABLESPACE \"USERS\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -65,7 +65,7 @@ public class OracleCreateTableTest44 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"PK1\" NUMBER,\n" +
"\t\"COL1\" CHAR(1),\n" +
"\t\"COL2\" NCHAR(20),\n" +
@@ -85,6 +85,10 @@ public class OracleCreateTableTest44 extends OracleTest {
"\t\tTABLESPACE \"USERS\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -103,6 +107,10 @@ public class OracleCreateTableTest44 extends OracleTest {
"TABLESPACE \"USERS\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -114,6 +122,10 @@ public class OracleCreateTableTest44 extends OracleTest {
"\tTABLESPACE \"USERS\"\n" +
"\tSTORAGE (\n" +
"\t\tINITIAL 65536\n" +
"\t\tNEXT 1048576\n" +
"\t\tMINEXTENTS 1\n" +
"\t\tMAXEXTENTS 2147483645\n" +
"\t\tPCTINCREASE 0\n" +
"\t\tFREELISTS 1\n" +
"\t\tFREELIST GROUPS 1\n" +
"\t\tBUFFER_POOL DEFAULT\n" +
@@ -53,7 +53,7 @@ public class OracleCreateTableTest45 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"ID\" NUMBER,\n" +
"\t\"COL_CHAR1\" CHAR(128),\n" +
"\t\"COL_VARCHAR1\" VARCHAR2(128),\n" +
@@ -73,6 +73,10 @@ public class OracleCreateTableTest45 extends OracleTest {
"TABLESPACE \"USERS\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -57,7 +57,7 @@ public class OracleCreateTableTest46 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"ID\" NUMBER NOT NULL ENABLE,\n" +
"\t\"GMT_CREATE\" DATE NOT NULL ENABLE,\n" +
"\t\"GMT_MODIFIED\" DATE NOT NULL ENABLE,\n" +
@@ -75,6 +75,10 @@ public class OracleCreateTableTest46 extends OracleTest {
"\t\tTABLESPACE \"APPDATA1M\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -91,6 +95,10 @@ public class OracleCreateTableTest46 extends OracleTest {
"TABLESPACE \"APPDATA1M\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -87,6 +87,10 @@ public class OracleCreateTableTest47 extends OracleTest {
"\t\tTABLESPACE \"APPINDX1M\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 4194304\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -103,6 +107,10 @@ public class OracleCreateTableTest47 extends OracleTest {
"TABLESPACE \"APPDATA1M\"\n" +
"STORAGE (\n" +
"\tINITIAL 4194304\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -112,6 +120,10 @@ public class OracleCreateTableTest47 extends OracleTest {
"\tTABLESPACE \"APPDATA1M\"\n" +
"\tSTORAGE (\n" +
"\t\tINITIAL 4194304\n" +
"\t\tNEXT 1048576\n" +
"\t\tMINEXTENTS 1\n" +
"\t\tMAXEXTENTS 2147483645\n" +
"\t\tPCTINCREASE 0\n" +
"\t\tFREELISTS 1\n" +
"\t\tFREELIST GROUPS 1\n" +
"\t\tBUFFER_POOL DEFAULT\n" +
@@ -60,7 +60,7 @@ public class OracleCreateTableTest48 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"ID\" NUMBER,\n" +
"\t\"GMT_CREATE\" DATE,\n" +
"\t\"GMT_MODIFIED\" DATE,\n" +
@@ -80,6 +80,10 @@ public class OracleCreateTableTest48 extends OracleTest {
"\t\tTABLESPACE \"BOPSINDXTS\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -96,6 +100,10 @@ public class OracleCreateTableTest48 extends OracleTest {
"TABLESPACE \"BOPSDATATS\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -123,7 +123,7 @@ public class OracleCreateTableTest49 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"ID\" NUMBER NOT NULL ENABLE,\n" +
"\t\"GMT_CREATE\" DATE,\n" +
"\t\"GMT_MODIFIED\" DATE,\n" +
@@ -197,6 +197,10 @@ public class OracleCreateTableTest49 extends OracleTest {
"\t\tTABLESPACE \"APP_DATA1K\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -210,6 +214,10 @@ public class OracleCreateTableTest49 extends OracleTest {
"\t\tTABLESPACE \"APP_DATA1K\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -223,6 +231,10 @@ public class OracleCreateTableTest49 extends OracleTest {
"\t\tTABLESPACE \"APPDATA1M\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -60,6 +60,10 @@ public class OracleCreateTableTest51 extends OracleTest {
"TABLESPACE \"APP_DATA1K\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -59,7 +59,7 @@ public class OracleCreateTableTest52 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"ID\" NUMBER NOT NULL ENABLE,\n" +
"\t\"GMT_CREATE\" DATE NOT NULL ENABLE,\n" +
"\t\"GMT_MODIFIED\" DATE NOT NULL ENABLE,\n" +
@@ -79,6 +79,10 @@ public class OracleCreateTableTest52 extends OracleTest {
"\t\tTABLESPACE \"APPDATA1M\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -95,6 +99,10 @@ public class OracleCreateTableTest52 extends OracleTest {
"TABLESPACE \"APPDATA1M\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -61,7 +61,7 @@ public class OracleCreateTableTest53 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"RUNID\" NUMBER,\n" +
"\t\"UNIT_NUMBER\" NUMBER,\n" +
"\t\"LINE#\" NUMBER NOT NULL ENABLE,\n" +
@@ -81,6 +81,10 @@ public class OracleCreateTableTest53 extends OracleTest {
"\t\tTABLESPACE \"SYSTEM\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 65536\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -99,6 +103,10 @@ public class OracleCreateTableTest53 extends OracleTest {
"TABLESPACE \"SYSTEM\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -50,7 +50,7 @@ public class OracleCreateTableTest55 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"I\" NUMBER,\n" +
"\t\"C\" CLOB\n" +
")\n" +
@@ -63,6 +63,10 @@ public class OracleCreateTableTest55 extends OracleTest {
"TABLESPACE \"USERS\"\n" +
"STORAGE (\n" +
"\tINITIAL 1048576\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -72,6 +76,10 @@ public class OracleCreateTableTest55 extends OracleTest {
"\tTABLESPACE \"USERS\"\n" +
"\tSTORAGE (\n" +
"\t\tINITIAL 1048576\n" +
"\t\tNEXT 1048576\n" +
"\t\tMINEXTENTS 1\n" +
"\t\tMAXEXTENTS 2147483645\n" +
"\t\tPCTINCREASE 0\n" +
"\t\tFREELISTS 1\n" +
"\t\tFREELIST GROUPS 1\n" +
"\t\tBUFFER_POOL DEFAULT\n" +
@@ -58,7 +58,7 @@ public class OracleCreateTableTest56 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"SNAP_ID\" NUMBER(6, 0) NOT NULL ENABLE,\n" +
"\t\"DBID\" NUMBER NOT NULL ENABLE,\n" +
"\t\"INSTANCE_NUMBER\" NUMBER NOT NULL ENABLE,\n" +
@@ -74,6 +74,10 @@ public class OracleCreateTableTest56 extends OracleTest {
"\t\tTABLESPACE \"PERFSTAT\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 1048576\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -93,6 +97,10 @@ public class OracleCreateTableTest56 extends OracleTest {
"TABLESPACE \"PERFSTAT\"\n" +
"STORAGE (\n" +
"\tINITIAL 1048576\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -172,6 +172,10 @@ public class OracleCreateTableTest57 extends OracleTest {
"\t\tTABLESPACE \"APPINDX1M\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 83886080\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -71,7 +71,7 @@ public class OracleCreateTableTest58 extends OracleTest {
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
assertEquals("CREATE TABLE \"SC_001\".\"TB_001\" (\n" +
"\t\"ID\" NUMBER NOT NULL ENABLE,\n" +
"\t\"PROPS\" VARCHAR2(4000),\n" +
"\tCONSTRAINT \"PRODUCT_PROPERTY_SEARCH_PK\" PRIMARY KEY (\"ID\")\n" +
@@ -106,6 +106,10 @@ public class OracleCreateTableTest58 extends OracleTest {
"\t\tTABLESPACE \"APPDATA1M\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 150994944\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -119,6 +123,10 @@ public class OracleCreateTableTest58 extends OracleTest {
"\t\tTABLESPACE \"APP_DATA1K\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 1048576\n" +
"\t\t\tNEXT 1048576\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -75,6 +75,10 @@ public class OracleCreateTableTest59 extends OracleTest {
"\tTABLESPACE \"ZEUS_IND\"\n" +
"\tSTORAGE (\n" +
"\t\tINITIAL 4194304\n" +
"\t\tNEXT 4194304\n" +
"\t\tMINEXTENTS 1\n" +
"\t\tMAXEXTENTS 2147483645\n" +
"\t\tPCTINCREASE 0\n" +
"\t\tFREELISTS 1\n" +
"\t\tFREELIST GROUPS 1\n" +
"\t\tBUFFER_POOL DEFAULT\n" +
@@ -65,6 +65,10 @@ public class OracleCreateTableTest60 extends OracleTest {
"TABLESPACE \"ZEUS_IND\"\n" +
"STORAGE (\n" +
"\tINITIAL 50331648\n" +
"\tNEXT 4194304\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -97,6 +97,10 @@ public class OracleCreateTableTest61 extends OracleTest {
"\t\tTABLESPACE \"NIRVANA1M_IND\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 1048576\n" +
"\t\t\tNEXT 131072\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -117,6 +121,10 @@ public class OracleCreateTableTest61 extends OracleTest {
"TABLESPACE \"NIRVANA1M\"\n" +
"STORAGE (\n" +
"\tINITIAL 1048576\n" +
"\tNEXT 131072\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -128,6 +136,10 @@ public class OracleCreateTableTest61 extends OracleTest {
"\tTABLESPACE \"NIRVANA1M\"\n" +
"\tSTORAGE (\n" +
"\t\tINITIAL 1048576\n" +
"\t\tNEXT 131072\n" +
"\t\tMINEXTENTS 1\n" +
"\t\tMAXEXTENTS 2147483645\n" +
"\t\tPCTINCREASE 0\n" +
"\t\tFREELISTS 1\n" +
"\t\tFREELIST GROUPS 1\n" +
"\t\tBUFFER_POOL DEFAULT\n" +
@@ -110,6 +110,10 @@ public class OracleCreateTableTest62 extends OracleTest {
"\t\tTABLESPACE \"NIRVANA1M\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 1048576\n" +
"\t\t\tNEXT 131072\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -56,6 +56,10 @@ public class OracleCreateTableTest63 extends OracleTest {
"\tTABLESPACE \"USERS\"\n" +
"\tSTORAGE (\n" +
"\t\tINITIAL 1048576\n" +
"\t\tNEXT 1048576\n" +
"\t\tMINEXTENTS 1\n" +
"\t\tMAXEXTENTS 2147483645\n" +
"\t\tPCTINCREASE 0\n" +
"\t\tFREELISTS 1\n" +
"\t\tFREELIST GROUPS 1\n" +
"\t\tBUFFER_POOL DEFAULT\n" +
@@ -70,6 +74,10 @@ public class OracleCreateTableTest63 extends OracleTest {
"TABLESPACE \"USERS\"\n" +
"STORAGE (\n" +
"\tINITIAL 1048576\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -99,6 +99,10 @@ public class OracleCreateTableTest64 extends OracleTest {
"TABLESPACE \"XINFANG\"\n" +
"STORAGE (\n" +
"\tINITIAL 65536\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -110,6 +114,10 @@ public class OracleCreateTableTest64 extends OracleTest {
"\tTABLESPACE \"XINFANG\"\n" +
"\tSTORAGE (\n" +
"\t\tINITIAL 65536\n" +
"\t\tNEXT 1048576\n" +
"\t\tMINEXTENTS 1\n" +
"\t\tMAXEXTENTS 2147483645\n" +
"\t\tPCTINCREASE 0\n" +
"\t\tFREELISTS 1\n" +
"\t\tFREELIST GROUPS 1\n" +
"\t\tBUFFER_POOL DEFAULT\n" +
@@ -97,6 +97,10 @@ public class OracleCreateTableTest65 extends OracleTest {
"\t\tTABLESPACE \"RDP_IDX\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 196608\n" +
"\t\t\tNEXT 8388608\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -116,6 +120,10 @@ public class OracleCreateTableTest65 extends OracleTest {
"TABLESPACE \"RDP_DATA\"\n" +
"STORAGE (\n" +
"\tINITIAL 2097152\n" +
"\tNEXT 8388608\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
@@ -212,6 +212,10 @@ public class OracleCreateTableTest66 extends OracleTest {
"\t\tTABLESPACE \"RDP_IDX\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 150994944\n" +
"\t\t\tNEXT 8388608\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -243,6 +247,10 @@ public class OracleCreateTableTest66 extends OracleTest {
"\t\tTABLESPACE \"RDP_DATA\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 553648128\n" +
"\t\t\tNEXT 16384\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -259,6 +267,10 @@ public class OracleCreateTableTest66 extends OracleTest {
"\t\tTABLESPACE \"RDP_DATA\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 553648128\n" +
"\t\t\tNEXT 16384\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -275,6 +287,10 @@ public class OracleCreateTableTest66 extends OracleTest {
"\t\tTABLESPACE \"RDP_DATA\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 553648128\n" +
"\t\t\tNEXT 16384\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -291,6 +307,10 @@ public class OracleCreateTableTest66 extends OracleTest {
"\t\tTABLESPACE \"RDP_DATA\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 553648128\n" +
"\t\t\tNEXT 16384\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -307,6 +327,10 @@ public class OracleCreateTableTest66 extends OracleTest {
"\t\tTABLESPACE \"RDP_DATA\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 553648128\n" +
"\t\t\tNEXT 16384\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -323,6 +347,10 @@ public class OracleCreateTableTest66 extends OracleTest {
"\t\tTABLESPACE \"RDP_DATA\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 553648128\n" +
"\t\t\tNEXT 16384\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -339,6 +367,10 @@ public class OracleCreateTableTest66 extends OracleTest {
"\t\tTABLESPACE \"RDP_DATA\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 8388608\n" +
"\t\t\tNEXT 8388608\n" +
"\t\t\tMINEXTENTS 1\n" +
"\t\t\tMAXEXTENTS 2147483645\n" +
"\t\t\tPCTINCREASE 0\n" +
"\t\t\tFREELISTS 1\n" +
"\t\t\tFREELIST GROUPS 1\n" +
"\t\t\tBUFFER_POOL DEFAULT\n" +
@@ -0,0 +1,93 @@
/*
* Copyright 1999-2017 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.druid.bvt.sql.oracle.create;
import com.alibaba.druid.sql.OracleTest;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor;
import com.alibaba.druid.sql.visitor.SchemaStatVisitor;
import com.alibaba.druid.stat.TableStat;
import com.alibaba.druid.util.JdbcConstants;
import org.junit.Assert;
import java.util.List;
public class OracleCreateTableTest68 extends OracleTest {
public void test_types() throws Exception {
String sql = //
" CREATE TABLE \"JWGZPT\".\"A\" \n" +
" ( \"XM\" VARCHAR2(100), \n" +
" \"SFZH\" VARCHAR2(20), \n" +
" \"GZDW\" VARCHAR2(200)\n" +
" ) SEGMENT CREATION IMMEDIATE \n" +
" PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 \n" +
" NOCOMPRESS LOGGING\n" +
" STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645\n" +
" PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1\n" +
" BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)\n" +
" TABLESPACE \"TBS_JWGZPT\" ";
List<SQLStatement> statementList = SQLUtils.parseStatements(sql, JdbcConstants.ORACLE);
SQLStatement stmt = statementList.get(0);
print(statementList);
assertEquals(1, statementList.size());
assertEquals("CREATE TABLE \"JWGZPT\".\"A\" (\n" +
"\t\"XM\" VARCHAR2(100),\n" +
"\t\"SFZH\" VARCHAR2(20),\n" +
"\t\"GZDW\" VARCHAR2(200)\n" +
")\n" +
"PCTFREE 10\n" +
"PCTUSED 40\n" +
"INITRANS 1\n" +
"MAXTRANS 255\n" +
"NOCOMPRESS\n" +
"LOGGING\n" +
"TABLESPACE \"TBS_JWGZPT\"\n" +
"STORAGE (\n" +
"\tINITIAL 81920\n" +
"\tNEXT 1048576\n" +
"\tMINEXTENTS 1\n" +
"\tMAXEXTENTS 2147483645\n" +
"\tPCTINCREASE 0\n" +
"\tFREELISTS 1\n" +
"\tFREELIST GROUPS 1\n" +
"\tBUFFER_POOL DEFAULT\n" +
"\tFLASH_CACHE DEFAULT\n" +
"\tCELL_FLASH_CACHE DEFAULT\n" +
")",//
SQLUtils.toSQLString(stmt, JdbcConstants.ORACLE));
SchemaStatVisitor visitor = SQLUtils.createSchemaStatVisitor(JdbcConstants.ORACLE);
stmt.accept(visitor);
System.out.println("Tables : " + visitor.getTables());
System.out.println("fields : " + visitor.getColumns());
System.out.println("coditions : " + visitor.getConditions());
System.out.println("relationships : " + visitor.getRelationships());
System.out.println("orderBy : " + visitor.getOrderByColumns());
assertEquals(1, visitor.getTables().size());
assertEquals(3, visitor.getColumns().size());
assertTrue(visitor.getColumns().contains(new TableStat.Column("JWGZPT.A", "XM")));
}
}