/* * 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.sql.dialect.oracle.ast.stmt; import com.alibaba.druid.sql.ast.SQLExpr; import com.alibaba.druid.sql.ast.SQLName; import com.alibaba.druid.sql.ast.SQLPartitionBy; import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleLobStorageClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleStorageClause; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor; import com.alibaba.druid.sql.visitor.SQLASTVisitor; import com.alibaba.druid.util.JdbcConstants; public class OracleCreateTableStatement extends SQLCreateTableStatement implements OracleDDLStatement { private SQLName tablespace; private boolean inMemoryMetadata; private boolean cursorSpecificSegment; // NOPARALLEL private Boolean parallel; private OracleStorageClause storage; private OracleLobStorageClause lobStorage; private boolean organizationIndex = false; private SQLExpr ptcfree; private SQLExpr pctused; private SQLExpr initrans; private SQLExpr maxtrans; private Boolean logging; private Boolean compress; private boolean onCommit; private boolean preserveRows; private Boolean cache; private SQLPartitionBy partitioning; private DeferredSegmentCreation deferredSegmentCreation; public OracleCreateTableStatement() { super (JdbcConstants.ORACLE); } public OracleLobStorageClause getLobStorage() { return lobStorage; } public void setLobStorage(OracleLobStorageClause lobStorage) { this.lobStorage = lobStorage; } public DeferredSegmentCreation getDeferredSegmentCreation() { return deferredSegmentCreation; } public void setDeferredSegmentCreation(DeferredSegmentCreation deferredSegmentCreation) { this.deferredSegmentCreation = deferredSegmentCreation; } public SQLPartitionBy getPartitioning() { return partitioning; } public void setPartitioning(SQLPartitionBy partitioning) { this.partitioning = partitioning; } public Boolean getCache() { return cache; } public void setCache(Boolean cache) { this.cache = cache; } public boolean isOnCommit() { return onCommit; } public void setOnCommit(boolean onCommit) { this.onCommit = onCommit; } public boolean isPreserveRows() { return preserveRows; } public void setPreserveRows(boolean preserveRows) { this.preserveRows = preserveRows; } public Boolean getLogging() { return logging; } public void setLogging(Boolean logging) { this.logging = logging; } public Boolean getCompress() { return compress; } public void setCompress(Boolean compress) { this.compress = compress; } public SQLExpr getPtcfree() { return ptcfree; } public void setPtcfree(SQLExpr ptcfree) { this.ptcfree = ptcfree; } public SQLExpr getPctused() { return pctused; } public void setPctused(SQLExpr pctused) { this.pctused = pctused; } public SQLExpr getInitrans() { return initrans; } public void setInitrans(SQLExpr initrans) { this.initrans = initrans; } public SQLExpr getMaxtrans() { return maxtrans; } public void setMaxtrans(SQLExpr maxtrans) { this.maxtrans = maxtrans; } public boolean isOrganizationIndex() { return organizationIndex; } public void setOrganizationIndex(boolean organizationIndex) { this.organizationIndex = organizationIndex; } public Boolean getParallel() { return parallel; } public void setParallel(Boolean parallel) { this.parallel = parallel; } public boolean isCursorSpecificSegment() { return cursorSpecificSegment; } public void setCursorSpecificSegment(boolean cursorSpecificSegment) { this.cursorSpecificSegment = cursorSpecificSegment; } public boolean isInMemoryMetadata() { return inMemoryMetadata; } public void setInMemoryMetadata(boolean inMemoryMetadata) { this.inMemoryMetadata = inMemoryMetadata; } public SQLName getTablespace() { return tablespace; } public void setTablespace(SQLName tablespace) { this.tablespace = tablespace; } protected void accept0(SQLASTVisitor visitor) { accept0((OracleASTVisitor) visitor); } public OracleStorageClause getStorage() { return storage; } public void setStorage(OracleStorageClause storage) { this.storage = storage; } public void accept0(OracleASTVisitor visitor) { if (visitor.visit(this)) { this.acceptChild(visitor, tableSource); this.acceptChild(visitor, tableElementList); this.acceptChild(visitor, tablespace); this.acceptChild(visitor, select); this.acceptChild(visitor, storage); this.acceptChild(visitor, partitioning); } visitor.endVisit(this); } public static enum DeferredSegmentCreation { IMMEDIATE, DEFERRED } }