[jOOQ/jOOQ#2370] [jOOQ/jOOQ#8528] Move TableType into TableOptions

This commit is contained in:
Lukas Eder 2019-10-31 17:10:21 +01:00
parent de6b977d51
commit a73ec779a3
6 changed files with 51 additions and 87 deletions

View File

@ -73,6 +73,7 @@ import java.util.List;
import java.util.function.BiFunction;
import java.util.function.Function;
import org.jooq.TableOptions.TableType;
import org.jooq.conf.Settings;
import org.jooq.impl.DSL;

View File

@ -152,6 +152,53 @@ public final class TableOptions implements Serializable {
return select;
}
/**
* A description of the type of a {@link Table}.
*/
public enum TableType {
/**
* An ordinary table that is stored in the schema.
*/
TABLE,
/**
* A global temporary table that is stored in the schema and visible to
* everyone.
*/
TEMPORARY,
/**
* A view that is defined by a {@link Select} statement.
*/
VIEW,
/**
* A materialised view that is defined by a {@link Select} statement, and
* whose data is materialised in the schema.
*/
MATERIALIZED_VIEW,
/**
* A table valued function that is defined by a {@link Routine}.
*/
FUNCTION,
/**
* A table expression, such as a derived table, a joined table, a common
* table expression, etc.
*/
EXPRESSION,
/**
* A table type that is unknown to jOOQ.
*/
UNKNOWN
}
/**
* The <code>ON COMMIT</code> flag for {@link TableType#TEMPORARY} tables.
*/
public enum OnCommit {
@Support({ POSTGRES })

View File

@ -1,84 +0,0 @@
/*
* 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.
*
* Other licenses:
* -----------------------------------------------------------------------------
* Commercial licenses for this work are available. These replace the above
* ASL 2.0 and offer limited warranties, support, maintenance, and commercial
* database integrations.
*
* For more information, please visit: http://www.jooq.org/licenses
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package org.jooq;
/**
* A description of the type of a {@link Table}.
*
* @author Lukas Eder
*/
public enum TableType {
/**
* An ordinary table that is stored in the schema.
*/
TABLE,
/**
* A global temporary table that is stored in the schema and visible to
* everyone.
*/
TEMPORARY,
/**
* A view that is defined by a {@link Select} statement.
*/
VIEW,
/**
* A materialised view that is defined by a {@link Select} statement, and
* whose data is materialised in the schema.
*/
MATERIALIZED_VIEW,
/**
* A table valued function that is defined by a {@link Routine}.
*/
FUNCTION,
/**
* A table expression, such as a derived table, a joined table, a common
* table expression, etc.
*/
EXPRESSION,
/**
* A table type that is unknown to jOOQ.
*/
UNKNOWN
}

View File

@ -106,7 +106,7 @@ import org.jooq.TableOptionalOnStep;
import org.jooq.TableOptions;
import org.jooq.TableOuterJoinStep;
import org.jooq.TablePartitionByStep;
import org.jooq.TableType;
import org.jooq.TableOptions.TableType;
import org.jooq.UniqueKey;
// ...
// ...

View File

@ -70,7 +70,7 @@ import org.jooq.Schema;
import org.jooq.Sequence;
import org.jooq.Table;
import org.jooq.TableOptions.OnCommit;
import org.jooq.TableType;
import org.jooq.TableOptions.TableType;
import org.jooq.UniqueKey;
import org.jooq.tools.StringUtils;

View File

@ -76,7 +76,7 @@ import org.jooq.SortOrder;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.TableType;
import org.jooq.TableOptions.TableType;
import org.jooq.UniqueKey;
import org.jooq.exception.DataAccessException;
import org.jooq.exception.DataDefinitionException;