diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java index b485aacff1..32ebc58d5c 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java @@ -2134,6 +2134,30 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS x.getInitial().accept(this); } + if (x.getNext() != null) { + println(); + print0(ucase ? "NEXT " : "next "); + x.getNext().accept(this); + } + + if (x.getMinExtents() != null) { + println(); + print0(ucase ? "MINEXTENTS " : "minextents "); + x.getMinExtents().accept(this); + } + + if (x.getMaxExtents() != null) { + println(); + print0(ucase ? "MAXEXTENTS " : "maxextents "); + x.getMaxExtents().accept(this); + } + + if (x.getPctIncrease() != null) { + println(); + print0(ucase ? "PCTINCREASE " : "pctincrease "); + x.getPctIncrease().accept(this); + } + if (x.getMaxSize() != null) { println(); print0(ucase ? "MAXSIZE " : "maxsize "); diff --git a/src/main/java/com/alibaba/druid/sql/repository/SchemaRepository.java b/src/main/java/com/alibaba/druid/sql/repository/SchemaRepository.java index f7d2250130..497305a48d 100644 --- a/src/main/java/com/alibaba/druid/sql/repository/SchemaRepository.java +++ b/src/main/java/com/alibaba/druid/sql/repository/SchemaRepository.java @@ -30,7 +30,6 @@ import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitorAdapter; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.TreeMap; import java.util.concurrent.ConcurrentSkipListMap; /** @@ -128,10 +127,21 @@ public class SchemaRepository { public SchemaObject findTable(SQLTableSource tableSource, String alias) { if (tableSource instanceof SQLExprTableSource) { if (alias.equalsIgnoreCase(tableSource.computeAlias())) { - SQLExpr expr = ((SQLExprTableSource) tableSource).getExpr(); + SQLExprTableSource exprTableSource = (SQLExprTableSource) tableSource; + + SchemaObject tableObject = exprTableSource.getSchemaObject(); + if (tableObject != null) { + return tableObject; + } + + SQLExpr expr = exprTableSource.getExpr(); if (expr instanceof SQLIdentifierExpr) { String tableName = ((SQLIdentifierExpr) expr).getName(); - SchemaObject tableObject = findTable(tableName); + + tableObject = findTable(tableName); + if (tableObject != null) { + exprTableSource.setSchemaObject(tableObject); + } return tableObject; } } @@ -220,20 +230,31 @@ public class SchemaRepository { public Map getTables(SQLTableSource x) { Map tables = new LinkedHashMap(); - computeTable(x, tables); + computeTables(x, tables); return tables; } - private void computeTable(SQLTableSource x, Map tables) { + private void computeTables(SQLTableSource x, Map tables) { if (x == null) { return; } if (x instanceof SQLExprTableSource) { - SQLExpr expr = ((SQLExprTableSource) x).getExpr(); + SQLExprTableSource exprTableSource = (SQLExprTableSource) x; + + SQLExpr expr = exprTableSource.getExpr(); if (expr instanceof SQLIdentifierExpr) { String tableName = ((SQLIdentifierExpr) expr).getName(); - SchemaObject table = findTable(tableName); + + SchemaObject table = exprTableSource.getSchemaObject(); + if (table == null) { + table = findTable(tableName); + + if (table != null) { + exprTableSource.setSchemaObject(table); + } + } + if (table != null) { tables.put(tableName, table); @@ -249,8 +270,8 @@ public class SchemaRepository { if (x instanceof SQLJoinTableSource) { SQLJoinTableSource join = (SQLJoinTableSource) x; - computeTable(join.getLeft(), tables); - computeTable(join.getRight(), tables); + computeTables(join.getLeft(), tables); + computeTables(join.getRight(), tables); } } diff --git a/src/main/java/com/alibaba/druid/stat/TableStat.java b/src/main/java/com/alibaba/druid/stat/TableStat.java index 9c208c5bb1..fa8df19a6e 100644 --- a/src/main/java/com/alibaba/druid/stat/TableStat.java +++ b/src/main/java/com/alibaba/druid/stat/TableStat.java @@ -184,6 +184,8 @@ public class TableStat { private String name; + private int hash; + public Name(String name){ this.name = name; } @@ -193,7 +195,11 @@ public class TableStat { } public int hashCode() { - return StringUtils.lowerHashCode(name); + int h = hash; + if (h == 0 && name != null && name.length() > 0) { + hash = h = StringUtils.lowerHashCode(name); + } + return h; } public boolean equals(Object o) { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleLockTableTest4.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleLockTableTest4.java index a8639ddda0..6168148b7a 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleLockTableTest4.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleLockTableTest4.java @@ -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()); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest19.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest19.java index 475bd249a1..80642efb1b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest19.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest19.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest41.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest41.java index 179ff5db18..be79b62cfa 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest41.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest41.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest43.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest43.java index 28c3dfefdd..73617f0a31 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest43.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest43.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest44.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest44.java index eea8c97880..053e65f9bd 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest44.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest44.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest45.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest45.java index f864353b09..e4ed60554c 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest45.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest45.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest46.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest46.java index c868984f9b..3c39f38f2b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest46.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest46.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest47.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest47.java index ce8f147841..2891160656 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest47.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest47.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest48.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest48.java index bb106cee98..62d799ff99 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest48.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest48.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest49.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest49.java index 7427f1810f..62a9030a33 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest49.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest49.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest51.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest51.java index f1ea26e78a..565444d7f5 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest51.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest51.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest52.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest52.java index 347d5a7e42..9ef4614008 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest52.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest52.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest53.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest53.java index 39cbb4b0c0..ae3dd7218b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest53.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest53.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest55.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest55.java index 5cf87623d5..8dfbf2fd8e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest55.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest55.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest56.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest56.java index 41cf9cb54d..1099db2539 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest56.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest56.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest57.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest57.java index ea6b939fbe..1f714fc92f 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest57.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest57.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest58.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest58.java index 5f6adad0cc..2043f4066e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest58.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest58.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest59.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest59.java index 2e394bbd71..61e2acd8ab 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest59.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest59.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest60.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest60.java index 016e750cd5..c2145838df 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest60.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest60.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest61.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest61.java index 389544ea6c..2021be2a45 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest61.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest61.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest62.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest62.java index 4e838614b5..26554712be 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest62.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest62.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest63.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest63.java index 35fca77c47..4321bd8f3f 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest63.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest63.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest64.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest64.java index ef4b3c30bb..3c86a68cde 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest64.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest64.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest65.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest65.java index 502d774b31..2aef448d78 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest65.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest65.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest66.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest66.java index 64897ee85a..ce60af2242 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest66.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest66.java @@ -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" + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest68.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest68.java new file mode 100644 index 0000000000..04db724715 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/create/OracleCreateTableTest68.java @@ -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 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"))); + } +}