improved sql parser.

This commit is contained in:
wenshao
2017-07-19 17:55:24 +08:00
parent 8a0bf34a6c
commit 168518e0e5
37 changed files with 1017 additions and 387 deletions
@@ -62,21 +62,24 @@ public class CreateCompareTest extends TestCase {
"\tint bigint\n" +
");";
List<SQLStatement> stmtList = SQLUtils.parseStatements(sql, JdbcConstants.ORACLE);
List<SQLCreateTableStatement> createStmtList = new ArrayList<SQLCreateTableStatement>();
for (SQLStatement item : stmtList) {
createStmtList.add((SQLCreateTableStatement) item);
}
SQLCreateTableStatement.sort(createStmtList);
assertEquals("t9", createStmtList.get(9).getName().getSimpleName());
assertEquals("t8", createStmtList.get(8).getName().getSimpleName());
assertEquals("t7", createStmtList.get(7).getName().getSimpleName());
assertEquals("t6", createStmtList.get(6).getName().getSimpleName());
assertEquals("t5", createStmtList.get(5).getName().getSimpleName());
List stmtList = SQLUtils.parseStatements(sql, JdbcConstants.ORACLE);
SQLCreateTableStatement.sort(stmtList);
assertEquals("t9", ((SQLCreateTableStatement)stmtList.get(9)).getName().getSimpleName());
assertEquals("t3", ((SQLCreateTableStatement)stmtList.get(8)).getName().getSimpleName());
assertEquals("t0", ((SQLCreateTableStatement)stmtList.get(7)).getName().getSimpleName());
assertEquals("t1", ((SQLCreateTableStatement)stmtList.get(6)).getName().getSimpleName());
assertEquals("t8", ((SQLCreateTableStatement)stmtList.get(5)).getName().getSimpleName());
assertEquals("t7", ((SQLCreateTableStatement)stmtList.get(4)).getName().getSimpleName());
assertEquals("t6", ((SQLCreateTableStatement)stmtList.get(3)).getName().getSimpleName());
assertEquals("t5", ((SQLCreateTableStatement)stmtList.get(2)).getName().getSimpleName());
assertEquals("t4", ((SQLCreateTableStatement)stmtList.get(1)).getName().getSimpleName());
assertEquals("t2", ((SQLCreateTableStatement)stmtList.get(0)).getName().getSimpleName());
String sortedSql = SQLUtils.toSQLString(stmtList, JdbcConstants.ORACLE);
System.out.println(sortedSql);
}
}
@@ -0,0 +1,105 @@
package com.alibaba.druid.bvt.sql;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement;
import com.alibaba.druid.util.JdbcConstants;
import junit.framework.TestCase;
import java.util.List;
/**
* Created by wenshao on 18/07/2017.
*/
public class CreateCompareTest_1 extends TestCase {
public void test_0() throws Exception {
String sql = "CREATE TABLE XT_DJ_XT (\n" +
"\tXTBH varchar(20) NOT NULL,\n" +
"\tXTDM varchar(20) NOT NULL,\n" +
"\tXTMC varchar(200) NOT NULL,\n" +
"\tXTBB varchar(20),\n" +
"\tKQSJ datetime NOT NULL,\n" +
"\tYXSJQ datetime NOT NULL,\n" +
"\tYXSJZ datetime,\n" +
"\tYXBZ char(1),\n" +
"\tXTMS varchar(200),\n" +
"\tCONSTRAINT PK_XT_DJ_XT PRIMARY KEY (XTBH)\n" +
");\n" +
"\n" +
"CREATE TABLE XT_DM_GN (\n" +
"\tGNDM varchar(20) NOT NULL,\n" +
"\tGNQQH varchar(20) NOT NULL,\n" +
"\tGNMC varchar(200) NOT NULL,\n" +
"\tSJGNDM varchar(20),\n" +
"\tCDBZ char(1),\n" +
"\tPLXH bigint,\n" +
"\tLJDZ varchar(200),\n" +
"\tYXBZ char(1),\n" +
"\tGNMS varchar(200),\n" +
"\tDYZB varchar(20),\n" +
"\tCDTB varchar(100),\n" +
"\tDXBZ char(1),\n" +
"\tCONSTRAINT PK_XT_DM_GN PRIMARY KEY (GNDM)\n" +
");\n" +
"\n" +
"CREATE TABLE XT_DJ_YHCD (\n" +
"\tCDBH varchar(20) NOT NULL,\n" +
"\tYHBH varchar(20),\n" +
"\tGNBH varchar(20),\n" +
"\tPLXH bigint,\n" +
"\tXTBH varchar(20),\n" +
"\tCONSTRAINT PK_XT_DJ_YHCD PRIMARY KEY (CDBH),\n" +
"\tFOREIGN KEY (GNBH) REFERENCES XT_DJ_GN (GNBH),\n" +
"\tFOREIGN KEY (YHBH) REFERENCES XT_DJ_YH (YHBH)\n" +
");\n" +
"\n" +
"CREATE TABLE XT_DJ_YH (\n" +
"\tYHBH varchar(20) NOT NULL,\n" +
"\tXTBH varchar(20) NOT NULL,\n" +
"\tYHDM varchar(20) NOT NULL,\n" +
"\tDLMM varchar(20) NOT NULL,\n" +
"\tYHMC varchar(200) NOT NULL,\n" +
"\tCJYH varchar(20),\n" +
"\tCJSJ datetime,\n" +
"\tYHBZ char(1) DEFAULT '1',\n" +
"\tYXBZ char(1),\n" +
"\tYHMS varchar(200),\n" +
"\tTSBZ char(1),\n" +
"\tCONSTRAINT PK_XT_DJ_YH PRIMARY KEY (YHBH),\n" +
"\tFOREIGN KEY (XTBH) REFERENCES XT_DJ_XT (XTBH)\n" +
");\n" +
"\n" +
"CREATE TABLE XT_DJ_GN (\n" +
"\tGNBH varchar(20) NOT NULL,\n" +
"\tXTBH varchar(20),\n" +
"\tGNDM varchar(20) NOT NULL,\n" +
"\tGNMC varchar(200) NOT NULL,\n" +
"\tSJGNBH varchar(20),\n" +
"\tCDBZ char(1),\n" +
"\tPLXH bigint,\n" +
"\tFWKZBZ char(1),\n" +
"\tYXBZ char(1),\n" +
"\tLJDZ varchar(200),\n" +
"\tCONSTRAINT PK_XT_DJ_GN PRIMARY KEY (GNBH),\n" +
"\tFOREIGN KEY (XTBH) REFERENCES XT_DJ_XT (XTBH),\n" +
"\tFOREIGN KEY (GNDM) REFERENCES XT_DM_GN (GNDM)\n" +
");\n" +
"\n" +
"\n" +
"\n" +
"\n";
List stmtList = SQLUtils.parseStatements(sql, JdbcConstants.ORACLE);
SQLCreateTableStatement.sort(stmtList);
assertEquals("XT_DJ_XT", ((SQLCreateTableStatement)stmtList.get(0)).getName().getSimpleName());
assertEquals("XT_DM_GN", ((SQLCreateTableStatement)stmtList.get(1)).getName().getSimpleName());
assertEquals("XT_DJ_YH", ((SQLCreateTableStatement)stmtList.get(2)).getName().getSimpleName());
assertEquals("XT_DJ_GN", ((SQLCreateTableStatement)stmtList.get(3)).getName().getSimpleName());
assertEquals("XT_DJ_YHCD", ((SQLCreateTableStatement)stmtList.get(4)).getName().getSimpleName());
String sortedSql = SQLUtils.toSQLString(stmtList, JdbcConstants.ORACLE);
System.out.println(sortedSql);
}
}
@@ -0,0 +1,289 @@
/*
* 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.select;
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 org.junit.Assert;
import java.util.List;
public class OracleSelectTest69 extends OracleTest {
public void test_0() throws Exception {
String sql = //
"CREATE TABLE \"SC01\".\"TB01\" \n" +
" (\t\"KPPZXH\" VARCHAR2(80) NOT NULL ENABLE, \n" +
"\t\"NSRDZDAH\" VARCHAR2(80) NOT NULL ENABLE, \n" +
"\t\"NSRSBH\" VARCHAR2(80) DEFAULT '', \n" +
"\t\"NSRMC\" VARCHAR2(160) DEFAULT '', \n" +
"\t\"KPFDZJDH\" VARCHAR2(400) DEFAULT '', \n" +
"\t\"KPFYHJZH\" VARCHAR2(400) DEFAULT '', \n" +
"\t\"FPZLDM\" VARCHAR2(20) NOT NULL ENABLE, \n" +
"\t\"DZFPHM\" VARCHAR2(40), \n" +
"\t\"KPRQ\" DATE NOT NULL ENABLE, \n" +
"\t\"HYFL\" VARCHAR2(40) NOT NULL ENABLE, \n" +
"\t\"SPFNSRMC\" VARCHAR2(400) DEFAULT '', \n" +
"\t\"SPFYHJZH\" VARCHAR2(400) DEFAULT '', \n" +
"\t\"HJ\" NUMBER(20,2) DEFAULT 0, \n" +
"\t\"SL\" NUMBER(20,2) DEFAULT 0, \n" +
"\t\"SE\" NUMBER(20,2) DEFAULT 0, \n" +
"\t\"KPR\" VARCHAR2(40) DEFAULT '', \n" +
"\t\"SKR\" VARCHAR2(40) DEFAULT '', \n" +
"\t\"LRRQ\" DATE, \n" +
"\t\"ZFBZ\" CHAR(1) DEFAULT 'N' NOT NULL ENABLE, \n" +
"\t\"YJBZ\" CHAR(1) DEFAULT 'N' NOT NULL ENABLE, \n" +
"\t\"GHFQYLX\" VARCHAR2(20), \n" +
"\t\"SPFDZJDH\" VARCHAR2(400), \n" +
"\t\"SPFNSRSBH\" VARCHAR2(60), \n" +
"\t\"FPCJBZ\" CHAR(1), \n" +
"\t\"FPBZ\" CHAR(1) DEFAULT '0', \n" +
"\t\"JSJE\" NUMBER(20,2), \n" +
"\t\"ZJLX\" VARCHAR2(20), \n" +
"\t\"KJFSBH\" VARCHAR2(40), \n" +
"\t\"SQBHM\" VARCHAR2(160), \n" +
"\t\"WSPZHM\" VARCHAR2(80), \n" +
"\t\"LZFPHM\" VARCHAR2(40), \n" +
"\t\"HCJE\" NUMBER(20,2) DEFAULT 0, \n" +
"\t\"XHFQYLX_DM\" VARCHAR2(20), \n" +
"\t\"YNSE\" NUMBER(20,2), \n" +
"\t\"BZ\" VARCHAR2(600), \n" +
"\t\"ZFYY\" VARCHAR2(20), \n" +
"\t\"HCYY\" VARCHAR2(20), \n" +
"\t\"ZFRQ\" DATE, \n" +
"\t\"FPZL\" VARCHAR2(20), \n" +
"\t\"SWJG_DM\" VARCHAR2(40), \n" +
"\t\"HTHM\" VARCHAR2(160), \n" +
"\t\"XYZHS\" VARCHAR2(160), \n" +
"\t\"JGRQ\" DATE, \n" +
"\t\"SHBZ\" VARCHAR2(40), \n" +
"\t\"BIZHONG\" VARCHAR2(40), \n" +
"\t\"DKJE\" NUMBER(20,2), \n" +
"\t\"DSWSPZHM\" VARCHAR2(80), \n" +
"\t\"DKYF\" DATE, \n" +
"\t\"JGTK\" VARCHAR2(200), \n" +
"\t\"HXDH\" VARCHAR2(80), \n" +
"\t\"HL\" NUMBER(20,6), \n" +
"\t\"LAJE\" NUMBER(20,2), \n" +
"\t\"HC_LCBZ\" CHAR(1), \n" +
"\t\"SPR_BHYY\" VARCHAR2(400), \n" +
"\t\"CONTENT\" BLOB, \n" +
"\t\"ZF_LCBZ\" CHAR(1), \n" +
"\t\"FPDM\" VARCHAR2(40), \n" +
"\t\"FPHM\" VARCHAR2(40), \n" +
"\t\"GHFSJH\" VARCHAR2(30), \n" +
"\t\"GHFDZYX\" VARCHAR2(100), \n" +
"\t\"GHFZH\" VARCHAR2(100), \n" +
"\t\"KPLX\" VARCHAR2(2), \n" +
"\t\"JSHJ\" NUMBER(18,2), \n" +
"\t\"HJJE\" NUMBER(18,2), \n" +
"\t\"HJSE\" NUMBER(18,2), \n" +
"\t\"YFPDM\" VARCHAR2(24), \n" +
"\t\"YFPHM\" VARCHAR2(16), \n" +
"\t\"FHR\" VARCHAR2(16), \n" +
"\t\"EWM\" VARCHAR2(4000), \n" +
"\t\"FPMW\" VARCHAR2(224), \n" +
"\t\"JYM\" VARCHAR2(40), \n" +
"\t\"JQBH\" VARCHAR2(24), \n" +
"\t\"ERPTID\" VARCHAR2(80), \n" +
"\t\"DSPTDM\" VARCHAR2(40), \n" +
"\t CONSTRAINT \"PK_FP_TY_KP_MFP1\" PRIMARY KEY (\"KPPZXH\")\n" +
" USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING \n" +
" STORAGE(INITIAL 40960 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 \"DZFP_HWXS1_IDX\" ENABLE\n" +
" ) SEGMENT CREATION IMMEDIATE \n" +
" PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 \n" +
" NOCOMPRESS LOGGING\n" +
" STORAGE(INITIAL 40960 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 \"DZFP_HWXS1_IDX\" \n" +
" LOB (\"CONTENT\") STORE AS BASICFILE \"DZFP_HWXS1_IDX\"(\n" +
" TABLESPACE \"DZFP_HWXS1_IDX\" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10\n" +
" NOCACHE LOGGING \n" +
" STORAGE(INITIAL 1048576 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)) "; //
OracleStatementParser parser = new OracleStatementParser(sql);
List<SQLStatement> statementList = parser.parseStatementList();
SQLStatement stmt = statementList.get(0);
print(statementList);
Assert.assertEquals(1, statementList.size());
OracleSchemaStatVisitor visitor = new OracleSchemaStatVisitor();
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(74, visitor.getColumns().size());
{
String text = SQLUtils.toOracleString(stmt);
assertEquals("CREATE TABLE \"SC01\".\"TB01\" (\n" +
"\t\"KPPZXH\" VARCHAR2(80) NOT NULL ENABLE,\n" +
"\t\"NSRDZDAH\" VARCHAR2(80) NOT NULL ENABLE,\n" +
"\t\"NSRSBH\" VARCHAR2(80) DEFAULT NULL,\n" +
"\t\"NSRMC\" VARCHAR2(160) DEFAULT NULL,\n" +
"\t\"KPFDZJDH\" VARCHAR2(400) DEFAULT NULL,\n" +
"\t\"KPFYHJZH\" VARCHAR2(400) DEFAULT NULL,\n" +
"\t\"FPZLDM\" VARCHAR2(20) NOT NULL ENABLE,\n" +
"\t\"DZFPHM\" VARCHAR2(40),\n" +
"\t\"KPRQ\" DATE NOT NULL ENABLE,\n" +
"\t\"HYFL\" VARCHAR2(40) NOT NULL ENABLE,\n" +
"\t\"SPFNSRMC\" VARCHAR2(400) DEFAULT NULL,\n" +
"\t\"SPFYHJZH\" VARCHAR2(400) DEFAULT NULL,\n" +
"\t\"HJ\" NUMBER(20, 2) DEFAULT 0,\n" +
"\t\"SL\" NUMBER(20, 2) DEFAULT 0,\n" +
"\t\"SE\" NUMBER(20, 2) DEFAULT 0,\n" +
"\t\"KPR\" VARCHAR2(40) DEFAULT NULL,\n" +
"\t\"SKR\" VARCHAR2(40) DEFAULT NULL,\n" +
"\t\"LRRQ\" DATE,\n" +
"\t\"ZFBZ\" CHAR(1) DEFAULT 'N' NOT NULL ENABLE,\n" +
"\t\"YJBZ\" CHAR(1) DEFAULT 'N' NOT NULL ENABLE,\n" +
"\t\"GHFQYLX\" VARCHAR2(20),\n" +
"\t\"SPFDZJDH\" VARCHAR2(400),\n" +
"\t\"SPFNSRSBH\" VARCHAR2(60),\n" +
"\t\"FPCJBZ\" CHAR(1),\n" +
"\t\"FPBZ\" CHAR(1) DEFAULT '0',\n" +
"\t\"JSJE\" NUMBER(20, 2),\n" +
"\t\"ZJLX\" VARCHAR2(20),\n" +
"\t\"KJFSBH\" VARCHAR2(40),\n" +
"\t\"SQBHM\" VARCHAR2(160),\n" +
"\t\"WSPZHM\" VARCHAR2(80),\n" +
"\t\"LZFPHM\" VARCHAR2(40),\n" +
"\t\"HCJE\" NUMBER(20, 2) DEFAULT 0,\n" +
"\t\"XHFQYLX_DM\" VARCHAR2(20),\n" +
"\t\"YNSE\" NUMBER(20, 2),\n" +
"\t\"BZ\" VARCHAR2(600),\n" +
"\t\"ZFYY\" VARCHAR2(20),\n" +
"\t\"HCYY\" VARCHAR2(20),\n" +
"\t\"ZFRQ\" DATE,\n" +
"\t\"FPZL\" VARCHAR2(20),\n" +
"\t\"SWJG_DM\" VARCHAR2(40),\n" +
"\t\"HTHM\" VARCHAR2(160),\n" +
"\t\"XYZHS\" VARCHAR2(160),\n" +
"\t\"JGRQ\" DATE,\n" +
"\t\"SHBZ\" VARCHAR2(40),\n" +
"\t\"BIZHONG\" VARCHAR2(40),\n" +
"\t\"DKJE\" NUMBER(20, 2),\n" +
"\t\"DSWSPZHM\" VARCHAR2(80),\n" +
"\t\"DKYF\" DATE,\n" +
"\t\"JGTK\" VARCHAR2(200),\n" +
"\t\"HXDH\" VARCHAR2(80),\n" +
"\t\"HL\" NUMBER(20, 6),\n" +
"\t\"LAJE\" NUMBER(20, 2),\n" +
"\t\"HC_LCBZ\" CHAR(1),\n" +
"\t\"SPR_BHYY\" VARCHAR2(400),\n" +
"\t\"CONTENT\" BLOB,\n" +
"\t\"ZF_LCBZ\" CHAR(1),\n" +
"\t\"FPDM\" VARCHAR2(40),\n" +
"\t\"FPHM\" VARCHAR2(40),\n" +
"\t\"GHFSJH\" VARCHAR2(30),\n" +
"\t\"GHFDZYX\" VARCHAR2(100),\n" +
"\t\"GHFZH\" VARCHAR2(100),\n" +
"\t\"KPLX\" VARCHAR2(2),\n" +
"\t\"JSHJ\" NUMBER(18, 2),\n" +
"\t\"HJJE\" NUMBER(18, 2),\n" +
"\t\"HJSE\" NUMBER(18, 2),\n" +
"\t\"YFPDM\" VARCHAR2(24),\n" +
"\t\"YFPHM\" VARCHAR2(16),\n" +
"\t\"FHR\" VARCHAR2(16),\n" +
"\t\"EWM\" VARCHAR2(4000),\n" +
"\t\"FPMW\" VARCHAR2(224),\n" +
"\t\"JYM\" VARCHAR2(40),\n" +
"\t\"JQBH\" VARCHAR2(24),\n" +
"\t\"ERPTID\" VARCHAR2(80),\n" +
"\t\"DSPTDM\" VARCHAR2(40),\n" +
"\tCONSTRAINT \"PK_FP_TY_KP_MFP1\" PRIMARY KEY (\"KPPZXH\")\n" +
"\t\tUSING INDEX\n" +
"\t\tPCTFREE 10\n" +
"\t\tINITRANS 2\n" +
"\t\tMAXTRANS 255\n" +
"\t\tNOLOGGING\n" +
"\t\tTABLESPACE \"DZFP_HWXS1_IDX\"\n" +
"\t\tSTORAGE (\n" +
"\t\t\tINITIAL 40960\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" +
"\t\t\tFLASH_CACHE DEFAULT\n" +
"\t\t\tCELL_FLASH_CACHE DEFAULT\n" +
"\t\t)\n" +
"\t\tCOMPUTE STATISTICS\n" +
"\t\tENABLE\n" +
")\n" +
"PCTFREE 10\n" +
"PCTUSED 40\n" +
"INITRANS 1\n" +
"MAXTRANS 255\n" +
"NOCOMPRESS\n" +
"LOGGING\n" +
"TABLESPACE \"DZFP_HWXS1_IDX\"\n" +
"STORAGE (\n" +
"\tINITIAL 40960\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" +
")\n" +
"LOB (\"CONTENT\") STORE AS BASICFILE \"DZFP_HWXS1_IDX\" (\n" +
"\tLOGGING\n" +
"\tTABLESPACE \"DZFP_HWXS1_IDX\"\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" +
"\t\tFLASH_CACHE DEFAULT\n" +
"\t\tCELL_FLASH_CACHE DEFAULT\n" +
"\t)\n" +
"\tENABLE STORAGE IN ROW\n" +
"\tCHUNK 8192\n" +
"\tNOCACHE\n" +
")", text);
}
// Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("acduser.vw_acd_info", "xzqh")));
// Assert.assertTrue(visitor.getOrderByColumns().contains(new TableStat.Column("employees", "last_name")));
}
}