Search in sources :

Example 1 with Comment

use of org.jooq.Comment in project jOOQ by jOOQ.

the class DDL method commentOn.

final List<Query> commentOn(Table<?> table) {
    List<Query> result = new ArrayList<>();
    if (configuration.flags().contains(COMMENT)) {
        Comment tComment = table.getCommentPart();
        if (!StringUtils.isEmpty(tComment.getComment()))
            if (table.getTableType().isView())
                result.add(ctx.commentOnView(table).is(tComment));
            else
                result.add(ctx.commentOnTable(table).is(tComment));
        for (Field<?> field : sortIf(Arrays.asList(table.fields()), !configuration.respectColumnOrder())) {
            Comment fComment = field.getCommentPart();
            if (!StringUtils.isEmpty(fComment.getComment()))
                result.add(ctx.commentOnColumn(field).is(fComment));
        }
    }
    return result;
}
Also used : Comment(org.jooq.Comment) Query(org.jooq.Query) ArrayList(java.util.ArrayList)

Example 2 with Comment

use of org.jooq.Comment in project jOOQ by jOOQ.

the class DefaultParseContext method parseInlineConstraints.

private final ParseInlineConstraints parseInlineConstraints(Name fieldName, DataType<?> type, List<? super Constraint> constraints, boolean primary, boolean identity, boolean readonly) {
    boolean nullable = false;
    boolean defaultValue = false;
    boolean computed = false;
    boolean onUpdate = false;
    boolean unique = false;
    boolean comment = false;
    boolean compress = false;
    Comment fieldComment = null;
    identity |= type.identity();
    readonly |= type.readonly();
    for (; ; ) {
        if (!nullable) {
            if (parseKeywordIf("NULL")) {
                type = type.nullable(true);
                nullable = true;
                continue;
            } else if (parseNotNullOptionalEnable()) {
                type = type.nullable(false);
                nullable = true;
                continue;
            }
        }
        if (!defaultValue) {
            if (!identity && parseKeywordIf("IDENTITY")) {
                if (parseIf('(')) {
                    parseSignedIntegerLiteral();
                    parse(',');
                    parseSignedIntegerLiteral();
                    parse(')');
                }
                type = type.identity(true);
                defaultValue = true;
                identity = true;
                continue;
            } else if (!ignoreProEdition() && parseKeywordIf("READONLY") && requireProEdition()) {
            } else if (parseKeywordIf("DEFAULT")) {
                // [#10963] Special case nextval('<id>_seq'::regclass)
                if (parseSerialIf()) {
                    type = type.identity(true);
                } else {
                    // TODO: [#10116] Support this clause also in the jOOQ API
                    parseKeywordIf("ON NULL");
                    type = type.defaultValue((Field) toField(parseConcat()));
                    // TODO: [#10115] Support this clause also in the jOOQ API
                    parseKeywordIf("WITH VALUES");
                    defaultValue = true;
                }
                continue;
            } else if (!computed && !ignoreProEdition() && (parseKeywordIf("AS") || parseKeywordIf("COMPUTED") && (parseKeywordIf("BY") || true)) && requireProEdition()) {
            } else if (!identity && !computed && parseKeywordIf("GENERATED")) {
                boolean always;
                if (!(always = parseKeywordIf("ALWAYS"))) {
                    parseKeyword("BY DEFAULT");
                    // TODO: Ignored keyword from Oracle
                    parseKeywordIf("ON NULL");
                }
                if (always ? parseKeywordIf("AS IDENTITY") : parseKeyword("AS IDENTITY")) {
                    parseIdentityOptionIf();
                    type = type.identity(true);
                    identity = true;
                } else if (!ignoreProEdition() && parseKeyword("AS") && requireProEdition()) {
                }
                defaultValue = true;
                continue;
            }
        }
        if (!onUpdate) {
            if (parseKeywordIf("ON UPDATE")) {
                // [#6132] TODO: Support this feature in the jOOQ DDL API
                parseConcat();
                onUpdate = true;
                continue;
            }
        }
        ConstraintTypeStep inlineConstraint = parseConstraintNameSpecification();
        if (!unique) {
            if (!primary && parsePrimaryKeyClusteredNonClusteredKeywordIf()) {
                if (!parseKeywordIf("CLUSTERED"))
                    parseKeywordIf("NONCLUSTERED");
                constraints.add(parseConstraintEnforcementIf(inlineConstraint == null ? primaryKey(fieldName) : inlineConstraint.primaryKey(fieldName)));
                primary = true;
                unique = true;
                continue;
            } else if (parseKeywordIf("UNIQUE")) {
                if (!parseKeywordIf("KEY"))
                    parseKeywordIf("INDEX");
                constraints.add(parseConstraintEnforcementIf(inlineConstraint == null ? unique(fieldName) : inlineConstraint.unique(fieldName)));
                unique = true;
                continue;
            }
        }
        if (parseKeywordIf("CHECK")) {
            constraints.add(parseCheckSpecification(inlineConstraint));
            continue;
        }
        if (parseKeywordIf("FOREIGN KEY REFERENCES", "REFERENCES")) {
            constraints.add(parseForeignKeyReferenceSpecification(inlineConstraint, new Field[] { field(fieldName) }));
            continue;
        }
        if (!nullable) {
            if (parseKeywordIf("NULL")) {
                type = type.nullable(true);
                nullable = true;
                continue;
            } else if (parseNotNullOptionalEnable()) {
                type = type.nullable(false);
                nullable = true;
                continue;
            }
        }
        if (inlineConstraint != null)
            throw expected("CHECK", "NOT NULL", "NULL", "PRIMARY KEY", "REFERENCES", "UNIQUE");
        if (!identity) {
            if (parseKeywordIf("AUTO_INCREMENT") || parseKeywordIf("AUTOINCREMENT")) {
                type = type.identity(true);
                identity = true;
                continue;
            }
        }
        if (!comment) {
            // [#10164] In a statement batch, this could already be the next statement
            if (!peekKeyword("COMMENT ON") && parseKeywordIf("COMMENT")) {
                if (!parseIf('='))
                    parseKeywordIf("IS");
                fieldComment = parseComment();
                comment = true;
                continue;
            } else if (peekKeyword("OPTIONS")) {
                fieldComment = parseOptionsDescription();
                comment = true;
                continue;
            }
        }
        if (!compress) {
            if (!ignoreProEdition() && parseKeywordIf("NO COMPRESS") && requireProEdition()) {
            } else if (!ignoreProEdition() && parseKeywordIf("COMPRESS") && requireProEdition()) {
            }
        }
        break;
    }
    return new ParseInlineConstraints(type, fieldComment, primary, identity, readonly);
}
Also used : ConstraintTypeStep(org.jooq.ConstraintTypeStep) Comment(org.jooq.Comment) GroupField(org.jooq.GroupField) TableField(org.jooq.TableField) Field(org.jooq.Field) SortField(org.jooq.SortField) SelectField(org.jooq.SelectField)

Example 3 with Comment

use of org.jooq.Comment in project jOOQ by jOOQ.

the class DefaultParseContext method parseOptionsDescription.

private final Comment parseOptionsDescription() {
    parseKeyword("OPTIONS");
    parse('(');
    parseKeyword("DESCRIPTION");
    parse('=');
    Comment comment = parseComment();
    parse(')');
    return comment;
}
Also used : Comment(org.jooq.Comment)

Example 4 with Comment

use of org.jooq.Comment in project jOOQ by jOOQ.

the class DefaultParseContext method parseCreateTable.

private final DDLQuery parseCreateTable(boolean temporary) {
    boolean ifNotExists = parseKeywordIf("IF NOT EXISTS");
    Table<?> tableName = DSL.table(parseTableName().getQualifiedName());
    if (parseKeywordIf("USING"))
        parseIdentifier();
    CreateTableOnCommitStep onCommitStep;
    CreateTableCommentStep commentStep;
    List<Field<?>> fields = new ArrayList<>();
    List<Constraint> constraints = new ArrayList<>();
    List<Index> indexes = new ArrayList<>();
    boolean primary = false;
    boolean identity = false;
    boolean readonly = false;
    boolean ctas = false;
    if (!peekSelectOrWith(true) && parseIf('(')) {
        columnLoop: do {
            int p = position();
            ConstraintTypeStep constraint = parseConstraintNameSpecification();
            if (parsePrimaryKeyClusteredNonClusteredKeywordIf()) {
                if (primary)
                    throw exception("Duplicate primary key specification");
                primary = true;
                constraints.add(parsePrimaryKeySpecification(constraint));
                continue columnLoop;
            } else if (parseKeywordIf("UNIQUE")) {
                if (!parseKeywordIf("KEY"))
                    parseKeywordIf("INDEX");
                // [#9132] Avoid parsing "using" as an identifier
                parseUsingIndexTypeIf();
                // [#7268] MySQL has some legacy syntax where an index name
                // can override a constraint name
                Name index = parseIdentifierIf();
                if (index != null)
                    constraint = constraint(index);
                constraints.add(parseUniqueSpecification(constraint));
                continue columnLoop;
            } else if (parseKeywordIf("FOREIGN KEY")) {
                constraints.add(parseForeignKeySpecification(constraint));
                continue columnLoop;
            } else if (parseKeywordIf("CHECK")) {
                constraints.add(parseCheckSpecification(constraint));
                continue columnLoop;
            } else if (constraint == null && parseIndexOrKeyIf()) {
                parseUsingIndexTypeIf();
                int p2 = position();
                // Look ahead if the next tokens indicate a MySQL index definition
                if (parseIf('(') || (parseDataTypeIf(false) == null && parseIdentifierIf() != null && parseUsingIndexTypeIf() && parseIf('('))) {
                    position(p2);
                    indexes.add(parseIndexSpecification(tableName));
                    parseUsingIndexTypeIf();
                    continue columnLoop;
                } else {
                    position(p);
                }
            } else if (constraint != null)
                throw expected("CHECK", "CONSTRAINT", "FOREIGN KEY", "INDEX", "KEY", "PRIMARY KEY", "UNIQUE");
            Name fieldName = parseIdentifier();
            boolean skipType = peek(',') || peek(')');
            // If only we had multiple return values or destructuring...
            ParseInlineConstraints inlineConstraints = parseInlineConstraints(fieldName, !skipType ? parseDataType() : SQLDataType.OTHER, constraints, primary, identity, readonly);
            primary = inlineConstraints.primary;
            identity = inlineConstraints.identity;
            fields.add(field(fieldName, inlineConstraints.type, inlineConstraints.fieldComment));
        } while (parseIf(','));
        if (fields.isEmpty())
            throw expected("At least one column");
        parse(')');
    } else
        ctas = true;
    CreateTableElementListStep elementListStep = ifNotExists ? temporary ? dsl.createTemporaryTableIfNotExists(tableName) : dsl.createTableIfNotExists(tableName) : temporary ? dsl.createTemporaryTable(tableName) : dsl.createTable(tableName);
    if (!fields.isEmpty())
        elementListStep = elementListStep.columns(fields);
    CreateTableElementListStep constraintStep = constraints.isEmpty() ? elementListStep : elementListStep.constraints(constraints);
    CreateTableAsStep asStep = indexes.isEmpty() ? constraintStep : constraintStep.indexes(indexes);
    // [#6133] Historically, the jOOQ API places the ON COMMIT clause after
    // the AS clause, which doesn't correspond to dialect implementations
    Function<CreateTableOnCommitStep, CreateTableCommentStep> onCommit;
    if (temporary && parseKeywordIf("ON COMMIT")) {
        if (parseKeywordIf("DELETE ROWS"))
            onCommit = CreateTableOnCommitStep::onCommitDeleteRows;
        else if (parseKeywordIf("DROP"))
            onCommit = CreateTableOnCommitStep::onCommitDrop;
        else if (parseKeywordIf("PRESERVE ROWS"))
            onCommit = CreateTableOnCommitStep::onCommitPreserveRows;
        else
            throw unsupportedClause();
    } else
        onCommit = s -> s;
    // keyword only for empty field lists
    if (parseKeywordIf("AS") || fields.isEmpty() && peekSelectOrWith(true)) {
        boolean previousMetaLookupsForceIgnore = metaLookupsForceIgnore();
        CreateTableWithDataStep withDataStep = asStep.as((Select<Record>) metaLookupsForceIgnore(false).parseQuery(true, true));
        metaLookupsForceIgnore(previousMetaLookupsForceIgnore);
        onCommitStep = parseKeywordIf("WITH DATA") ? withDataStep.withData() : parseKeywordIf("WITH NO DATA") ? withDataStep.withNoData() : withDataStep;
    } else if (ctas)
        throw expected("AS, WITH, SELECT, or (");
    else
        onCommitStep = asStep;
    commentStep = onCommit.apply(onCommitStep);
    List<SQL> storage = new ArrayList<>();
    Comment comment = null;
    storageLoop: for (boolean first = true; ; first = false) {
        boolean optional = first || !parseIf(',');
        Keyword keyword = null;
        // MySQL storage clauses (see: https://dev.mysql.com/doc/refman/5.7/en/create-table.html)
        if ((keyword = parseAndGetKeywordIf("AUTO_INCREMENT")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseFieldUnsignedNumericLiteral(Sign.NONE)));
        } else if ((keyword = parseAndGetKeywordIf("AVG_ROW_LENGTH")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseFieldUnsignedNumericLiteral(Sign.NONE)));
        } else if ((keyword = parseAndGetKeywordIf("CHARACTER SET")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseIdentifier()));
        } else if ((keyword = parseAndGetKeywordIf("DEFAULT CHARACTER SET")) != null || (keyword = parseAndGetKeywordIf("DEFAULT CHARSET")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseIdentifier()));
        } else if ((keyword = parseAndGetKeywordIf("CHECKSUM")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseZeroOne()));
        } else if ((keyword = parseAndGetKeywordIf("COLLATE")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseIdentifier()));
        } else if ((keyword = parseAndGetKeywordIf("DEFAULT COLLATE")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseIdentifier()));
        } else // [#10164] In a statement batch, this could already be the next statement
        if (!peekKeyword("COMMENT ON") && parseKeywordIf("COMMENT")) {
            if (!parseIf('='))
                parseKeywordIf("IS");
            comment = parseComment();
        } else if (peekKeyword("OPTIONS")) {
            comment = parseOptionsDescription();
        } else if ((keyword = parseAndGetKeywordIf("COMPRESSION")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseStringLiteral()));
        } else if ((keyword = parseAndGetKeywordIf("CONNECTION")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseStringLiteral()));
        } else if ((keyword = parseAndGetKeywordIf("DATA DIRECTORY")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseStringLiteral()));
        } else if ((keyword = parseAndGetKeywordIf("INDEX DIRECTORY")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseStringLiteral()));
        } else if ((keyword = parseAndGetKeywordIf("DELAY_KEY_WRITE")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseZeroOne()));
        } else if ((keyword = parseAndGetKeywordIf("ENCRYPTION")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseStringLiteral()));
        } else if ((keyword = parseAndGetKeywordIf("ENGINE")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseIdentifier()));
        } else if ((keyword = parseAndGetKeywordIf("INSERT_METHOD")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseAndGetKeyword("NO", "FIRST", "LAST")));
        } else if ((keyword = parseAndGetKeywordIf("KEY_BLOCK_SIZE")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseFieldUnsignedNumericLiteral(Sign.NONE)));
        } else if ((keyword = parseAndGetKeywordIf("MAX_ROWS")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseFieldUnsignedNumericLiteral(Sign.NONE)));
        } else if ((keyword = parseAndGetKeywordIf("MIN_ROWS")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseFieldUnsignedNumericLiteral(Sign.NONE)));
        } else if ((keyword = parseAndGetKeywordIf("PACK_KEYS")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseZeroOneDefault()));
        } else if ((keyword = parseAndGetKeywordIf("PASSWORD")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseStringLiteral()));
        } else if ((keyword = parseAndGetKeywordIf("ROW_FORMAT")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseAndGetKeyword("DEFAULT", "DYNAMIC", "FIXED", "COMPRESSED", "REDUNDANT", "COMPACT")));
        } else if ((keyword = parseAndGetKeywordIf("STATS_AUTO_RECALC")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseZeroOneDefault()));
        } else if ((keyword = parseAndGetKeywordIf("STATS_PERSISTENT")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseZeroOneDefault()));
        } else if ((keyword = parseAndGetKeywordIf("STATS_SAMPLE_PAGES")) != null) {
            parseIf('=');
            storage.add(sql("{0} {1}", keyword, parseFieldUnsignedNumericLiteral(Sign.NONE)));
        } else if ((keyword = parseAndGetKeywordIf("TABLESPACE")) != null) {
            storage.add(sql("{0} {1}", keyword, parseIdentifier()));
            if ((keyword = parseAndGetKeywordIf("STORAGE")) != null)
                storage.add(sql("{0} {1}", keyword, parseAndGetKeyword("DISK", "MEMORY", "DEFAULT")));
        } else if ((keyword = parseAndGetKeywordIf("UNION")) != null) {
            parseIf('=');
            parse('(');
            storage.add(sql("{0} ({1})", keyword, list(parseIdentifiers())));
            parse(')');
        } else if (optional)
            break storageLoop;
        else
            throw expected("storage clause after ','");
    }
    CreateTableStorageStep storageStep = comment != null ? commentStep.comment(comment) : commentStep;
    if (storage.size() > 0)
        return storageStep.storage(new SQLConcatenationImpl(storage.toArray(EMPTY_QUERYPART)));
    else
        return storageStep;
}
Also used : SECOND(org.jooq.DatePart.SECOND) DSL.newTable(org.jooq.impl.DSL.newTable) DSL.rtrim(org.jooq.impl.DSL.rtrim) Truncate(org.jooq.Truncate) DSL.defaultValue(org.jooq.impl.DSL.defaultValue) K_UPDATE(org.jooq.impl.Keywords.K_UPDATE) CONFIG(org.jooq.impl.Tools.CONFIG) Arrays.asList(java.util.Arrays.asList) DSL.rowsPreceding(org.jooq.impl.DSL.rowsPreceding) Select(org.jooq.Select) DSL.shl(org.jooq.impl.DSL.shl) DSL.currentTimestamp(org.jooq.impl.DSL.currentTimestamp) DSL.product(org.jooq.impl.DSL.product) Keyword(org.jooq.Keyword) Meta(org.jooq.Meta) DSL.choose(org.jooq.impl.DSL.choose) Update(org.jooq.Update) DSL.shr(org.jooq.impl.DSL.shr) DSL.century(org.jooq.impl.DSL.century) DSL.chr(org.jooq.impl.DSL.chr) OrderedAggregateFunction(org.jooq.OrderedAggregateFunction) TRUE(java.lang.Boolean.TRUE) DSL.bitNand(org.jooq.impl.DSL.bitNand) DSL.sin(org.jooq.impl.DSL.sin) ByteArrayOutputStream(java.io.ByteArrayOutputStream) InsertOnConflictWhereIndexPredicateStep(org.jooq.InsertOnConflictWhereIndexPredicateStep) DSL.groupsPreceding(org.jooq.impl.DSL.groupsPreceding) GrantOnStep(org.jooq.GrantOnStep) DSL.catalog(org.jooq.impl.DSL.catalog) InsertOnConflictDoUpdateStep(org.jooq.InsertOnConflictDoUpdateStep) DSL.hour(org.jooq.impl.DSL.hour) DSL.jsonArrayAgg(org.jooq.impl.DSL.jsonArrayAgg) Supplier(java.util.function.Supplier) Sequence(org.jooq.Sequence) LinkedHashMap(java.util.LinkedHashMap) DeleteUsingStep(org.jooq.DeleteUsingStep) DSL.groupsBetweenUnboundedFollowing(org.jooq.impl.DSL.groupsBetweenUnboundedFollowing) CommentOnIsStep(org.jooq.CommentOnIsStep) REAL(org.jooq.impl.SQLDataType.REAL) DSL.xmlquery(org.jooq.impl.DSL.xmlquery) MONTH(org.jooq.DatePart.MONTH) MINUTE(org.jooq.DatePart.MINUTE) Comparator(org.jooq.Comparator) DSL.pi(org.jooq.impl.DSL.pi) DOUBLE(org.jooq.impl.SQLDataType.DOUBLE) AlterSchemaStep(org.jooq.AlterSchemaStep) Param(org.jooq.Param) JoinType(org.jooq.JoinType) ArrayAggOrderByStep(org.jooq.ArrayAggOrderByStep) DSL.rollup(org.jooq.impl.DSL.rollup) TIMESTAMP(org.jooq.impl.SQLDataType.TIMESTAMP) MARIADB(org.jooq.SQLDialect.MARIADB) DECIMAL(org.jooq.impl.SQLDataType.DECIMAL) DropDomainCascadeStep(org.jooq.DropDomainCascadeStep) DSL.timezoneMinute(org.jooq.impl.DSL.timezoneMinute) ParseUnsupportedSyntax(org.jooq.conf.ParseUnsupportedSyntax) DSL.table(org.jooq.impl.DSL.table) DSL.concat(org.jooq.impl.DSL.concat) Row(org.jooq.Row) InsertValuesStepN(org.jooq.InsertValuesStepN) Table(org.jooq.Table) DSL.domain(org.jooq.impl.DSL.domain) SQL(org.jooq.SQL) DSL.varPop(org.jooq.impl.DSL.varPop) INTERVALDAYTOSECOND(org.jooq.impl.SQLDataType.INTERVALDAYTOSECOND) DSL.ln(org.jooq.impl.DSL.ln) ResultQuery(org.jooq.ResultQuery) DSL.zero(org.jooq.impl.DSL.zero) DSLContext(org.jooq.DSLContext) DSL.rowsBetweenFollowing(org.jooq.impl.DSL.rowsBetweenFollowing) DSL.groupsBetweenPreceding(org.jooq.impl.DSL.groupsBetweenPreceding) DSL.stddevSamp(org.jooq.impl.DSL.stddevSamp) GroupField(org.jooq.GroupField) DSL.anyValue(org.jooq.impl.DSL.anyValue) DSL.sinh(org.jooq.impl.DSL.sinh) DataType(org.jooq.DataType) DSL.name(org.jooq.impl.DSL.name) EMPTY_QUERYPART(org.jooq.impl.Tools.EMPTY_QUERYPART) Name(org.jooq.Name) Tools.deleteQueryImpl(org.jooq.impl.Tools.deleteQueryImpl) Timestamp(java.sql.Timestamp) DropIndexCascadeStep(org.jooq.DropIndexCascadeStep) DSL.millennium(org.jooq.impl.DSL.millennium) JSON(org.jooq.impl.SQLDataType.JSON) DSL.rangePreceding(org.jooq.impl.DSL.rangePreceding) FLOAT(org.jooq.impl.SQLDataType.FLOAT) EMPTY_STRING(org.jooq.impl.Tools.EMPTY_STRING) CreateIndexStep(org.jooq.CreateIndexStep) FK_IN(org.jooq.impl.DefaultParseContext.FunctionKeyword.FK_IN) DSL.rowsUnboundedFollowing(org.jooq.impl.DSL.rowsUnboundedFollowing) K_SELECT(org.jooq.impl.Keywords.K_SELECT) EMPTY_BYTE(org.jooq.impl.Tools.EMPTY_BYTE) AlterTableDropStep(org.jooq.AlterTableDropStep) DSL.lateral(org.jooq.impl.DSL.lateral) Merge(org.jooq.Merge) UpdateOrderByStep(org.jooq.UpdateOrderByStep) DSL.unnest(org.jooq.impl.DSL.unnest) Function(java.util.function.Function) DSL.currentCatalog(org.jooq.impl.DSL.currentCatalog) CaseConditionStep(org.jooq.CaseConditionStep) MergeMatchedDeleteStep(org.jooq.MergeMatchedDeleteStep) Comment(org.jooq.Comment) DSL.rowsBetweenUnboundedFollowing(org.jooq.impl.DSL.rowsBetweenUnboundedFollowing) DropTypeStep(org.jooq.DropTypeStep) Interval(org.jooq.types.Interval) AlterDomainRenameConstraintStep(org.jooq.AlterDomainRenameConstraintStep) DSL.md5(org.jooq.impl.DSL.md5) DSL.currentTime(org.jooq.impl.DSL.currentTime) Consumer(java.util.function.Consumer) DSL.rangeBetweenUnboundedPreceding(org.jooq.impl.DSL.rangeBetweenUnboundedPreceding) AlterDatabaseStep(org.jooq.AlterDatabaseStep) Catalog(org.jooq.Catalog) DSL.greatest(org.jooq.impl.DSL.greatest) DSL.octetLength(org.jooq.impl.DSL.octetLength) DSL.max(org.jooq.impl.DSL.max) TINYINT(org.jooq.impl.SQLDataType.TINYINT) DSL.collation(org.jooq.impl.DSL.collation) DSL.inOut(org.jooq.impl.DSL.inOut) INTERVALYEARTOMONTH(org.jooq.impl.SQLDataType.INTERVALYEARTOMONTH) Arrays(java.util.Arrays) UpdateWhereStep(org.jooq.UpdateWhereStep) InsertOnConflictWhereStep(org.jooq.InsertOnConflictWhereStep) DAY(org.jooq.DatePart.DAY) ParseWithMetaLookups(org.jooq.conf.ParseWithMetaLookups) DSL.day(org.jooq.impl.DSL.day) DSL.orderBy(org.jooq.impl.DSL.orderBy) DSL.charLength(org.jooq.impl.DSL.charLength) DSL.tan(org.jooq.impl.DSL.tan) DSL.xmltable(org.jooq.impl.DSL.xmltable) DSL.condition(org.jooq.impl.DSL.condition) ConstraintTypeStep(org.jooq.ConstraintTypeStep) BooleanSupplier(java.util.function.BooleanSupplier) BigDecimal(java.math.BigDecimal) DSL.sqrt(org.jooq.impl.DSL.sqrt) DSL.xmlforest(org.jooq.impl.DSL.xmlforest) DSL.rangeBetweenFollowing(org.jooq.impl.DSL.rangeBetweenFollowing) AlterTypeStep(org.jooq.AlterTypeStep) Index(org.jooq.Index) DSL.timezone(org.jooq.impl.DSL.timezone) JSONArrayAggReturningStep(org.jooq.JSONArrayAggReturningStep) DSL.cardinality(org.jooq.impl.DSL.cardinality) DSL.digits(org.jooq.impl.DSL.digits) DSL.bitCount(org.jooq.impl.DSL.bitCount) WindowIgnoreNullsStep(org.jooq.WindowIgnoreNullsStep) DSL.groupingSets(org.jooq.impl.DSL.groupingSets) LanguageContext(org.jooq.LanguageContext) DSL.log10(org.jooq.impl.DSL.log10) GrantWithGrantOptionStep(org.jooq.GrantWithGrantOptionStep) DSL.nthValue(org.jooq.impl.DSL.nthValue) DSL.ceil(org.jooq.impl.DSL.ceil) DSL.in(org.jooq.impl.DSL.in) BOOLEAN(org.jooq.impl.SQLDataType.BOOLEAN) DSL.nvl(org.jooq.impl.DSL.nvl) DSL.denseRank(org.jooq.impl.DSL.denseRank) DSL.finalTable(org.jooq.impl.DSL.finalTable) StringUtils.defaultIfNull(org.jooq.tools.StringUtils.defaultIfNull) CreateTableElementListStep(org.jooq.CreateTableElementListStep) DSL.nvl2(org.jooq.impl.DSL.nvl2) DSL.minDistinct(org.jooq.impl.DSL.minDistinct) DSL.xmlagg(org.jooq.impl.DSL.xmlagg) WindowSpecificationRowsAndStep(org.jooq.WindowSpecificationRowsAndStep) TreeSet(java.util.TreeSet) ArrayList(java.util.ArrayList) BIT(org.jooq.impl.SQLDataType.BIT) DSL.sequence(org.jooq.impl.DSL.sequence) DSL.dateAdd(org.jooq.impl.DSL.dateAdd) Tools.asInt(org.jooq.impl.Tools.asInt) TIME(org.jooq.impl.SQLDataType.TIME) DSL.bitOrAgg(org.jooq.impl.DSL.bitOrAgg) Schema(org.jooq.Schema) DSL.tanh(org.jooq.impl.DSL.tanh) CTX(org.jooq.impl.Tools.CTX) MergeUsingStep(org.jooq.MergeUsingStep) LinkedHashSet(java.util.LinkedHashSet) RevokeOnStep(org.jooq.RevokeOnStep) DSL.groupsBetweenCurrentRow(org.jooq.impl.DSL.groupsBetweenCurrentRow) DSL.bitAndAgg(org.jooq.impl.DSL.bitAndAgg) NVARCHAR(org.jooq.impl.SQLDataType.NVARCHAR) JSONObjectReturningStep(org.jooq.JSONObjectReturningStep) DSL.unique(org.jooq.impl.DSL.unique) ConstraintEnforcementStep(org.jooq.ConstraintEnforcementStep) RenderQuotedNames(org.jooq.conf.RenderQuotedNames) DSL.asin(org.jooq.impl.DSL.asin) DSL.regexpReplaceFirst(org.jooq.impl.DSL.regexpReplaceFirst) NOT_IN(org.jooq.Comparator.NOT_IN) DSL.systemName(org.jooq.impl.DSL.systemName) CreateDomainDefaultStep(org.jooq.CreateDomainDefaultStep) DSL.ntile(org.jooq.impl.DSL.ntile) DSL.widthBucket(org.jooq.impl.DSL.widthBucket) EMPTY_FIELD(org.jooq.impl.Tools.EMPTY_FIELD) TableOnStep(org.jooq.TableOnStep) DSL.percentileDisc(org.jooq.impl.DSL.percentileDisc) Time(java.sql.Time) UEmpty(org.jooq.impl.QOM.UEmpty) DSL.rad(org.jooq.impl.DSL.rad) DSL.jsonbObject(org.jooq.impl.DSL.jsonbObject) DSL.mode(org.jooq.impl.DSL.mode) DSL.length(org.jooq.impl.DSL.length) DSL.sign(org.jooq.impl.DSL.sign) DSL.regexpReplaceAll(org.jooq.impl.DSL.regexpReplaceAll) DSL.xmlexists(org.jooq.impl.DSL.xmlexists) DSL.deg(org.jooq.impl.DSL.deg) SortOrder(org.jooq.SortOrder) DSL.bitXor(org.jooq.impl.DSL.bitXor) DSL.acos(org.jooq.impl.DSL.acos) DSL.xmlpi(org.jooq.impl.DSL.xmlpi) AlterTableStep(org.jooq.AlterTableStep) Row2(org.jooq.Row2) Predicate(java.util.function.Predicate) XMLTablePassingStep(org.jooq.XMLTablePassingStep) JSONEntry(org.jooq.JSONEntry) DSL.jsonObjectAgg(org.jooq.impl.DSL.jsonObjectAgg) DSL.arrayGet(org.jooq.impl.DSL.arrayGet) JSONArrayReturningStep(org.jooq.JSONArrayReturningStep) DSL.groupsUnboundedPreceding(org.jooq.impl.DSL.groupsUnboundedPreceding) List(java.util.List) K_INSERT(org.jooq.impl.Keywords.K_INSERT) SettingsTools.parseLocale(org.jooq.conf.SettingsTools.parseLocale) DSL.rangeUnboundedPreceding(org.jooq.impl.DSL.rangeUnboundedPreceding) TablePartitionByStep(org.jooq.TablePartitionByStep) Pattern(java.util.regex.Pattern) DSL.productDistinct(org.jooq.impl.DSL.productDistinct) Query(org.jooq.Query) DSL.avgDistinct(org.jooq.impl.DSL.avgDistinct) DayToSecond(org.jooq.types.DayToSecond) BY_REF(org.jooq.impl.QOM.XMLPassingMechanism.BY_REF) YEAR(org.jooq.DatePart.YEAR) DSL.currentDate(org.jooq.impl.DSL.currentDate) DSL.check(org.jooq.impl.DSL.check) DSL.count(org.jooq.impl.DSL.count) DSL.default_(org.jooq.impl.DSL.default_) DSL.toDate(org.jooq.impl.DSL.toDate) WindowSpecificationOrderByStep(org.jooq.WindowSpecificationOrderByStep) DSL.sumDistinct(org.jooq.impl.DSL.sumDistinct) NUMERIC(org.jooq.impl.SQLDataType.NUMERIC) JSONTableColumnPathStep(org.jooq.JSONTableColumnPathStep) XMLPassingMechanism(org.jooq.impl.QOM.XMLPassingMechanism) Function2(org.jooq.Function2) Function1(org.jooq.Function1) Function4(org.jooq.Function4) RenderNameCase(org.jooq.conf.RenderNameCase) Function3(org.jooq.Function3) DSL.rangeBetweenCurrentRow(org.jooq.impl.DSL.rangeBetweenCurrentRow) ParseSearchSchema(org.jooq.conf.ParseSearchSchema) EMPTY_OBJECT(org.jooq.impl.Tools.EMPTY_OBJECT) FALSE(java.lang.Boolean.FALSE) DSL.abs(org.jooq.impl.DSL.abs) DSL.isoDayOfWeek(org.jooq.impl.DSL.isoDayOfWeek) DSL.currentUser(org.jooq.impl.DSL.currentUser) Configuration(org.jooq.Configuration) DSL.ifnull(org.jooq.impl.DSL.ifnull) DSL.generateSeries(org.jooq.impl.DSL.generateSeries) CreateDomainConstraintStep(org.jooq.CreateDomainConstraintStep) OTHER(org.jooq.impl.SQLDataType.OTHER) DSL.timezoneHour(org.jooq.impl.DSL.timezoneHour) DSL.jsonTable(org.jooq.impl.DSL.jsonTable) DSL.bitXNor(org.jooq.impl.DSL.bitXNor) Tools.aliased(org.jooq.impl.Tools.aliased) DSL.bitNot(org.jooq.impl.DSL.bitNot) DropSchemaStep(org.jooq.DropSchemaStep) DSL.field(org.jooq.impl.DSL.field) WindowOverStep(org.jooq.WindowOverStep) DSL.bitNor(org.jooq.impl.DSL.bitNor) ParamMode(org.jooq.ParamMode) DSL.year(org.jooq.impl.DSL.year) DSL.groupsBetweenUnboundedPreceding(org.jooq.impl.DSL.groupsBetweenUnboundedPreceding) DSL.jsonbArray(org.jooq.impl.DSL.jsonbArray) DSL.round(org.jooq.impl.DSL.round) DSL.trunc(org.jooq.impl.DSL.trunc) DSL.begin(org.jooq.impl.DSL.begin) CreateTableOnCommitStep(org.jooq.CreateTableOnCommitStep) DSL.trim(org.jooq.impl.DSL.trim) DSL.rand(org.jooq.impl.DSL.rand) Map(java.util.Map) QualifiedAsterisk(org.jooq.QualifiedAsterisk) DSL.median(org.jooq.impl.DSL.median) JSONTableColumnsStep(org.jooq.JSONTableColumnsStep) DSL.rowsBetweenUnboundedPreceding(org.jooq.impl.DSL.rowsBetweenUnboundedPreceding) BigInteger(java.math.BigInteger) DropTableStep(org.jooq.DropTableStep) SQLDialect(org.jooq.SQLDialect) DSL.cube(org.jooq.impl.DSL.cube) DSL.rank(org.jooq.impl.DSL.rank) EnumSet(java.util.EnumSet) Quoted(org.jooq.Name.Quoted) VisitListener.onVisitStart(org.jooq.VisitListener.onVisitStart) DSL.exists(org.jooq.impl.DSL.exists) CHAR(org.jooq.impl.SQLDataType.CHAR) DocumentOrContent(org.jooq.impl.QOM.DocumentOrContent) DSL.partitionBy(org.jooq.impl.DSL.partitionBy) DSL.reverse(org.jooq.impl.DSL.reverse) DSL.xmlserializeContent(org.jooq.impl.DSL.xmlserializeContent) RevokeFromStep(org.jooq.RevokeFromStep) JSONOnNull(org.jooq.impl.QOM.JSONOnNull) GrantToStep(org.jooq.GrantToStep) Queries(org.jooq.Queries) Collation(org.jooq.Collation) TableField(org.jooq.TableField) DSL.oldTable(org.jooq.impl.DSL.oldTable) DSL.now(org.jooq.impl.DSL.now) DSL.avg(org.jooq.impl.DSL.avg) DSL.week(org.jooq.impl.DSL.week) DSL.values0(org.jooq.impl.DSL.values0) JSONValueOnStep(org.jooq.JSONValueOnStep) TruncateCascadeStep(org.jooq.TruncateCascadeStep) Parameter(org.jooq.Parameter) LONGVARCHAR(org.jooq.impl.SQLDataType.LONGVARCHAR) DSL.coth(org.jooq.impl.DSL.coth) JSONValueDefaultStep(org.jooq.JSONValueDefaultStep) INTERVAL(org.jooq.impl.SQLDataType.INTERVAL) JSONObjectAggNullStep(org.jooq.JSONObjectAggNullStep) DSL.grouping(org.jooq.impl.DSL.grouping) VARCHAR(org.jooq.impl.SQLDataType.VARCHAR) MergeMatchedStep(org.jooq.MergeMatchedStep) DSL.decade(org.jooq.impl.DSL.decade) GEOMETRY(org.jooq.impl.SQLDataType.GEOMETRY) DSL.rowsFollowing(org.jooq.impl.DSL.rowsFollowing) MYSQL(org.jooq.SQLDialect.MYSQL) DSL.percentileCont(org.jooq.impl.DSL.percentileCont) DSL.epoch(org.jooq.impl.DSL.epoch) MergeMatchedWhereStep(org.jooq.MergeMatchedWhereStep) Transformations.transformAppendMissingTableReferences(org.jooq.impl.Transformations.transformAppendMissingTableReferences) SelectFieldOrAsterisk(org.jooq.SelectFieldOrAsterisk) DSL.jsonbArrayAgg(org.jooq.impl.DSL.jsonbArrayAgg) DSL.cosh(org.jooq.impl.DSL.cosh) BLOB(org.jooq.impl.SQLDataType.BLOB) Constraint(org.jooq.Constraint) YearToMonth(org.jooq.types.YearToMonth) DSL.jsonExists(org.jooq.impl.DSL.jsonExists) DSL.xmlattributes(org.jooq.impl.DSL.xmlattributes) DSL.microsecond(org.jooq.impl.DSL.microsecond) DeleteWhereStep(org.jooq.DeleteWhereStep) User(org.jooq.User) DSL.user(org.jooq.impl.DSL.user) DSL.overlay(org.jooq.impl.DSL.overlay) DSL.rowsCurrentRow(org.jooq.impl.DSL.rowsCurrentRow) DATE(org.jooq.impl.SQLDataType.DATE) UpdateReturningStep(org.jooq.UpdateReturningStep) XMLAggOrderByStep(org.jooq.XMLAggOrderByStep) DSL.millisecond(org.jooq.impl.DSL.millisecond) RenderKeywordCase(org.jooq.conf.RenderKeywordCase) TIMESTAMPWITHTIMEZONE(org.jooq.impl.SQLDataType.TIMESTAMPWITHTIMEZONE) CreateTableAsStep(org.jooq.CreateTableAsStep) BiFunction(java.util.function.BiFunction) DSL.rowNumber(org.jooq.impl.DSL.rowNumber) WindowBeforeOverStep(org.jooq.WindowBeforeOverStep) DSL.list(org.jooq.impl.DSL.list) DSL.boolOr(org.jooq.impl.DSL.boolOr) DSL.dayOfYear(org.jooq.impl.DSL.dayOfYear) DSL.currentSchema(org.jooq.impl.DSL.currentSchema) DSL.listAgg(org.jooq.impl.DSL.listAgg) Locale(java.util.Locale) CreateTableWithDataStep(org.jooq.CreateTableWithDataStep) Value(org.jooq.impl.ScopeStack.Value) JSONB(org.jooq.impl.SQLDataType.JSONB) DSL.lastValue(org.jooq.impl.DSL.lastValue) DSL.rowsBetweenPreceding(org.jooq.impl.DSL.rowsBetweenPreceding) GroupConcatOrderByStep(org.jooq.GroupConcatOrderByStep) DSL.groupsBetweenFollowing(org.jooq.impl.DSL.groupsBetweenFollowing) CreateTableCommentStep(org.jooq.CreateTableCommentStep) DSL.primaryKey(org.jooq.impl.DSL.primaryKey) Collection(java.util.Collection) EMPTY_COLLECTION(org.jooq.impl.Tools.EMPTY_COLLECTION) AlterDomainStep(org.jooq.AlterDomainStep) Field(org.jooq.Field) DSL.space(org.jooq.impl.DSL.space) DSL.rangeBetweenUnboundedFollowing(org.jooq.impl.DSL.rangeBetweenUnboundedFollowing) CreateIndexIncludeStep(org.jooq.CreateIndexIncludeStep) TableElement(org.jooq.TableElement) Tools.anyMatch(org.jooq.impl.Tools.anyMatch) DSL.minute(org.jooq.impl.DSL.minute) DSL.dayOfWeek(org.jooq.impl.DSL.dayOfWeek) EMPTY_NAME(org.jooq.impl.Tools.EMPTY_NAME) DSL.multisetAgg(org.jooq.impl.DSL.multisetAgg) ParseUnknownFunctions(org.jooq.conf.ParseUnknownFunctions) DropIndexOnStep(org.jooq.DropIndexOnStep) DSL.iif(org.jooq.impl.DSL.iif) HashSet(java.util.HashSet) ABSENT_ON_NULL(org.jooq.impl.QOM.JSONOnNull.ABSENT_ON_NULL) BIGINT(org.jooq.impl.SQLDataType.BIGINT) InsertReturningStep(org.jooq.InsertReturningStep) TableLike(org.jooq.TableLike) DSL.rangeCurrentRow(org.jooq.impl.DSL.rangeCurrentRow) DSL.log(org.jooq.impl.DSL.log) DSL.out(org.jooq.impl.DSL.out) ConstraintForeignKeyOnStep(org.jooq.ConstraintForeignKeyOnStep) DSL.inline(org.jooq.impl.DSL.inline) EMPTY_COMMON_TABLE_EXPRESSION(org.jooq.impl.Tools.EMPTY_COMMON_TABLE_EXPRESSION) EMPTY_TABLE(org.jooq.impl.Tools.EMPTY_TABLE) Delete(org.jooq.Delete) DSL.groupsFollowing(org.jooq.impl.DSL.groupsFollowing) DSL.bitLength(org.jooq.impl.DSL.bitLength) AlterSequenceFlagsStep(org.jooq.AlterSequenceFlagsStep) Date(java.sql.Date) Insert(org.jooq.Insert) InsertSetStep(org.jooq.InsertSetStep) DSL.rowsUnboundedPreceding(org.jooq.impl.DSL.rowsUnboundedPreceding) SortField(org.jooq.SortField) InsertOnDuplicateStep(org.jooq.InsertOnDuplicateStep) DSL.floor(org.jooq.impl.DSL.floor) IN(org.jooq.Comparator.IN) DSL.rangeFollowing(org.jooq.impl.DSL.rangeFollowing) DSL.bitAnd(org.jooq.impl.DSL.bitAnd) Tools.updateQueryImpl(org.jooq.impl.Tools.updateQueryImpl) AlterIndexStep(org.jooq.AlterIndexStep) XMLAttributes(org.jooq.XMLAttributes) FK_AND(org.jooq.impl.DefaultParseContext.FunctionKeyword.FK_AND) DSL.lag(org.jooq.impl.DSL.lag) CaseValueStep(org.jooq.CaseValueStep) DSL.all(org.jooq.impl.DSL.all) ParseContext(org.jooq.ParseContext) JOIN(org.jooq.JoinType.JOIN) DSL.when(org.jooq.impl.DSL.when) Condition(org.jooq.Condition) DSL.extract(org.jooq.impl.DSL.extract) Matcher(java.util.regex.Matcher) DSL.cot(org.jooq.impl.DSL.cot) DSL.rangeBetweenPreceding(org.jooq.impl.DSL.rangeBetweenPreceding) SelectField(org.jooq.SelectField) DSL.cos(org.jooq.impl.DSL.cos) WindowSpecification(org.jooq.WindowSpecification) DSL.ratioToReport(org.jooq.impl.DSL.ratioToReport) DSL.square(org.jooq.impl.DSL.square) Domain(org.jooq.Domain) JSONObjectNullStep(org.jooq.JSONObjectNullStep) NULL_ON_NULL(org.jooq.impl.QOM.JSONOnNull.NULL_ON_NULL) SMALLINT(org.jooq.impl.SQLDataType.SMALLINT) DSL.arrayAggDistinct(org.jooq.impl.DSL.arrayAggDistinct) DSL.constraint(org.jooq.impl.DSL.constraint) YearToSecond(org.jooq.types.YearToSecond) DSL.least(org.jooq.impl.DSL.least) DSL.second(org.jooq.impl.DSL.second) DSL.toHex(org.jooq.impl.DSL.toHex) DSL.xmlconcat(org.jooq.impl.DSL.xmlconcat) Set(java.util.Set) DSL.function(org.jooq.impl.DSL.function) DSL.month(org.jooq.impl.DSL.month) AggregateFunction(org.jooq.AggregateFunction) DeleteReturningStep(org.jooq.DeleteReturningStep) QueryPart(org.jooq.QueryPart) Block(org.jooq.Block) HOUR(org.jooq.DatePart.HOUR) DSL.xmlparseContent(org.jooq.impl.DSL.xmlparseContent) JSONArrayAggOrderByStep(org.jooq.JSONArrayAggOrderByStep) JSONObjectAggReturningStep(org.jooq.JSONObjectAggReturningStep) AlterSequenceStep(org.jooq.AlterSequenceStep) NCLOB(org.jooq.impl.SQLDataType.NCLOB) DSL.jsonObject(org.jooq.impl.DSL.jsonObject) DSL.jsonValue(org.jooq.impl.DSL.jsonValue) JSONArrayAggNullStep(org.jooq.JSONArrayAggNullStep) XML(org.jooq.XML) OrderedAggregateFunctionOfDeferredType(org.jooq.OrderedAggregateFunctionOfDeferredType) DSL.row(org.jooq.impl.DSL.row) DSL.cumeDist(org.jooq.impl.DSL.cumeDist) DSL.xmlelement(org.jooq.impl.DSL.xmlelement) LONGNVARCHAR(org.jooq.impl.SQLDataType.LONGNVARCHAR) DSL.rowsBetweenCurrentRow(org.jooq.impl.DSL.rowsBetweenCurrentRow) DSL.stddevPop(org.jooq.impl.DSL.stddevPop) UpdateSetFirstStep(org.jooq.UpdateSetFirstStep) LikeEscapeStep(org.jooq.LikeEscapeStep) VARBINARY(org.jooq.impl.SQLDataType.VARBINARY) DSL.keyword(org.jooq.impl.DSL.keyword) DSL.sql(org.jooq.impl.DSL.sql) DSL.translate(org.jooq.impl.DSL.translate) DSL.xmlcomment(org.jooq.impl.DSL.xmlcomment) Record(org.jooq.Record) TruncateIdentityStep(org.jooq.TruncateIdentityStep) DSL.varSamp(org.jooq.impl.DSL.varSamp) CreateSequenceFlagsStep(org.jooq.CreateSequenceFlagsStep) WindowSpecificationExcludeStep(org.jooq.WindowSpecificationExcludeStep) StringUtils(org.jooq.tools.StringUtils) WindowSpecificationRowsStep(org.jooq.WindowSpecificationRowsStep) AlterTableAddStep(org.jooq.AlterTableAddStep) DSL.jsonArray(org.jooq.impl.DSL.jsonArray) DSL.groupsCurrentRow(org.jooq.impl.DSL.groupsCurrentRow) DSL.bitOr(org.jooq.impl.DSL.bitOr) DSL.any(org.jooq.impl.DSL.any) EMULATE_SELECT_INTO_AS_CTAS(org.jooq.impl.SelectQueryImpl.EMULATE_SELECT_INTO_AS_CTAS) DeleteOrderByStep(org.jooq.DeleteOrderByStep) XMLTableColumnPathStep(org.jooq.XMLTableColumnPathStep) DSL.time(org.jooq.impl.DSL.time) DSL.foreignKey(org.jooq.impl.DSL.foreignKey) DSL.exp(org.jooq.impl.DSL.exp) WindowDefinition(org.jooq.WindowDefinition) DSL.atan(org.jooq.impl.DSL.atan) DSL.uuid(org.jooq.impl.DSL.uuid) CLOB(org.jooq.impl.SQLDataType.CLOB) GEOGRAPHY(org.jooq.impl.SQLDataType.GEOGRAPHY) CreateTableStorageStep(org.jooq.CreateTableStorageStep) Parser(org.jooq.Parser) NCHAR(org.jooq.impl.SQLDataType.NCHAR) EMPTY_ROW(org.jooq.impl.Tools.EMPTY_ROW) DSL.schema(org.jooq.impl.DSL.schema) DSL.xmlserializeDocument(org.jooq.impl.DSL.xmlserializeDocument) FieldOrRow(org.jooq.FieldOrRow) XMLTableColumnsStep(org.jooq.XMLTableColumnsStep) DSL.date(org.jooq.impl.DSL.date) DSL.firstValue(org.jooq.impl.DSL.firstValue) UpdateFromStep(org.jooq.UpdateFromStep) DSL.coalesce(org.jooq.impl.DSL.coalesce) K_DELETE(org.jooq.impl.Keywords.K_DELETE) DSL.characterSet(org.jooq.impl.DSL.characterSet) Tools.selectQueryImpl(org.jooq.impl.Tools.selectQueryImpl) CharacterSet(org.jooq.CharacterSet) DSL.timestamp(org.jooq.impl.DSL.timestamp) CaseWhenStep(org.jooq.CaseWhenStep) Collections.emptyList(java.util.Collections.emptyList) DSL.xmlparseDocument(org.jooq.impl.DSL.xmlparseDocument) DSL.select(org.jooq.impl.DSL.select) NO_SUPPORT_FOR_UPDATE_OF_FIELDS(org.jooq.impl.SelectQueryImpl.NO_SUPPORT_FOR_UPDATE_OF_FIELDS) DSL.coerce(org.jooq.impl.DSL.coerce) Statement(org.jooq.Statement) Reflect(org.jooq.tools.reflect.Reflect) DSL.toTimestamp(org.jooq.impl.DSL.toTimestamp) Context(org.jooq.Context) IGNORE_ON_FAILURE(org.jooq.conf.ParseWithMetaLookups.IGNORE_ON_FAILURE) INTEGER(org.jooq.impl.SQLDataType.INTEGER) CreateIndexWhereStep(org.jooq.CreateIndexWhereStep) DSL.isnull(org.jooq.impl.DSL.isnull) DSL.lower(org.jooq.impl.DSL.lower) DSL.quarter(org.jooq.impl.DSL.quarter) JSONArrayNullStep(org.jooq.JSONArrayNullStep) DDLQuery(org.jooq.DDLQuery) DSL.min(org.jooq.impl.DSL.min) BY_VALUE(org.jooq.impl.QOM.XMLPassingMechanism.BY_VALUE) DSL.ltrim(org.jooq.impl.DSL.ltrim) DSL.privilege(org.jooq.impl.DSL.privilege) EMPTY_SORTFIELD(org.jooq.impl.Tools.EMPTY_SORTFIELD) DSL.key(org.jooq.impl.DSL.key) DSL.nullif(org.jooq.impl.DSL.nullif) UpdateLimitStep(org.jooq.UpdateLimitStep) DeleteLimitStep(org.jooq.DeleteLimitStep) LONGVARBINARY(org.jooq.impl.SQLDataType.LONGVARBINARY) Privilege(org.jooq.Privilege) DSL.countDistinct(org.jooq.impl.DSL.countDistinct) DSL.bitXorAgg(org.jooq.impl.DSL.bitXorAgg) DSL.sum(org.jooq.impl.DSL.sum) DSL.ascii(org.jooq.impl.DSL.ascii) TIMEWITHTIMEZONE(org.jooq.impl.SQLDataType.TIMEWITHTIMEZONE) DSL.asterisk(org.jooq.impl.DSL.asterisk) AggregateFilterStep(org.jooq.AggregateFilterStep) DSL.rangeUnboundedFollowing(org.jooq.impl.DSL.rangeUnboundedFollowing) DatePart(org.jooq.DatePart) DSL.cast(org.jooq.impl.DSL.cast) GroupConcatSeparatorStep(org.jooq.GroupConcatSeparatorStep) THROW_ON_FAILURE(org.jooq.conf.ParseWithMetaLookups.THROW_ON_FAILURE) DSL.percentRank(org.jooq.impl.DSL.percentRank) DSL.maxDistinct(org.jooq.impl.DSL.maxDistinct) DSL.one(org.jooq.impl.DSL.one) NO_NAME(org.jooq.impl.AbstractName.NO_NAME) DSL.every(org.jooq.impl.DSL.every) DSL.groupsUnboundedFollowing(org.jooq.impl.DSL.groupsUnboundedFollowing) Tools.normaliseNameCase(org.jooq.impl.Tools.normaliseNameCase) TableOptionalOnStep(org.jooq.TableOptionalOnStep) DSL.jsonbObjectAgg(org.jooq.impl.DSL.jsonbObjectAgg) DSL.lead(org.jooq.impl.DSL.lead) DSL.arrayAgg(org.jooq.impl.DSL.arrayAgg) BINARY(org.jooq.impl.SQLDataType.BINARY) DerivedColumnList(org.jooq.DerivedColumnList) WindowFromFirstLastStep(org.jooq.WindowFromFirstLastStep) CommonTableExpression(org.jooq.CommonTableExpression) AlterDomainDropConstraintCascadeStep(org.jooq.AlterDomainDropConstraintCascadeStep) Constraint(org.jooq.Constraint) CreateTableOnCommitStep(org.jooq.CreateTableOnCommitStep) ArrayList(java.util.ArrayList) Index(org.jooq.Index) CreateTableStorageStep(org.jooq.CreateTableStorageStep) Name(org.jooq.Name) DSL.systemName(org.jooq.impl.DSL.systemName) GroupField(org.jooq.GroupField) TableField(org.jooq.TableField) Field(org.jooq.Field) SortField(org.jooq.SortField) SelectField(org.jooq.SelectField) CreateTableAsStep(org.jooq.CreateTableAsStep) CreateTableWithDataStep(org.jooq.CreateTableWithDataStep) Record(org.jooq.Record) ConstraintTypeStep(org.jooq.ConstraintTypeStep) Comment(org.jooq.Comment) Keyword(org.jooq.Keyword) CreateTableCommentStep(org.jooq.CreateTableCommentStep) CreateTableElementListStep(org.jooq.CreateTableElementListStep) SQL(org.jooq.SQL) MYSQL(org.jooq.SQLDialect.MYSQL)

Example 5 with Comment

use of org.jooq.Comment in project jOOQ by jOOQ.

the class AlterTableImpl method accept1.

private final void accept1(Context<?> ctx) {
    SQLDialect family = ctx.family();
    boolean omitAlterTable = (renameConstraint != null && family == HSQLDB) || (renameColumn != null && SUPPORT_RENAME_COLUMN.contains(ctx.dialect()));
    boolean renameTable = renameTo != null && SUPPORT_RENAME_TABLE.contains(ctx.dialect());
    boolean renameObject = renameTo != null && (false);
    if (!omitAlterTable) {
        ctx.start(ALTER_TABLE_TABLE).visit(renameObject ? K_RENAME_OBJECT : renameTable ? K_RENAME_TABLE : K_ALTER_TABLE);
        if (ifExists && supportsIfExists(ctx))
            ctx.sql(' ').visit(K_IF_EXISTS);
        ctx.sql(' ').visit(table).end(ALTER_TABLE_TABLE).formatIndentStart().formatSeparator();
    }
    if (comment != null) {
        ctx.visit(K_COMMENT).sql(' ').visit(comment);
    } else if (renameTo != null) {
        boolean qualify = ctx.qualify();
        ctx.start(ALTER_TABLE_RENAME);
        if (NO_SUPPORT_RENAME_QUALIFIED_TABLE.contains(ctx.dialect()))
            ctx.qualify(false);
        ctx.visit(renameObject || renameTable ? K_TO : K_RENAME_TO).sql(' ').visit(renameTo);
        if (NO_SUPPORT_RENAME_QUALIFIED_TABLE.contains(ctx.dialect()))
            ctx.qualify(qualify);
        ctx.end(ALTER_TABLE_RENAME);
    } else if (renameColumn != null) {
        ctx.start(ALTER_TABLE_RENAME_COLUMN);
        switch(ctx.family()) {
            case DERBY:
                ctx.visit(K_RENAME_COLUMN).sql(' ').visit(renameColumn).formatSeparator().visit(K_TO).sql(' ').qualify(false, c -> c.visit(renameColumnTo));
                break;
            case H2:
            case HSQLDB:
                ctx.visit(K_ALTER_COLUMN).sql(' ').qualify(false, c -> c.visit(renameColumn)).formatSeparator().visit(K_RENAME_TO).sql(' ').qualify(false, c -> c.visit(renameColumnTo));
                break;
            case FIREBIRD:
                ctx.visit(K_ALTER_COLUMN).sql(' ').qualify(false, c -> c.visit(renameColumn)).formatSeparator().visit(K_TO).sql(' ').qualify(false, c -> c.visit(renameColumnTo));
                break;
            default:
                ctx.visit(K_RENAME_COLUMN).sql(' ').qualify(false, c -> c.visit(renameColumn)).formatSeparator().visit(K_TO).sql(' ').qualify(false, c -> c.visit(renameColumnTo));
                break;
        }
        ctx.end(ALTER_TABLE_RENAME_COLUMN);
    } else if (renameIndex != null) {
        ctx.start(ALTER_TABLE_RENAME_INDEX).visit(K_RENAME_INDEX).sql(' ').qualify(false, c -> c.visit(renameIndex)).formatSeparator().visit(K_TO).sql(' ').qualify(false, c -> c.visit(renameIndexTo)).end(ALTER_TABLE_RENAME_INDEX);
    } else if (renameConstraint != null) {
        ctx.start(ALTER_TABLE_RENAME_CONSTRAINT);
        ctx.data(DATA_CONSTRAINT_REFERENCE, true, c1 -> {
            if (family == HSQLDB)
                c1.visit(K_ALTER_CONSTRAINT).sql(' ').qualify(false, c2 -> c2.visit(renameConstraint)).formatSeparator().visit(K_RENAME_TO).sql(' ').qualify(false, c2 -> c2.visit(renameConstraintTo));
            else
                c1.visit(K_RENAME_CONSTRAINT).sql(' ').qualify(false, c2 -> c2.visit(renameConstraint)).formatSeparator().visit(K_TO).sql(' ').qualify(false, c2 -> c2.visit(renameConstraintTo));
        });
        ctx.end(ALTER_TABLE_RENAME_CONSTRAINT);
    } else if (add != null) {
        boolean multiAdd = REQUIRE_REPEAT_ADD_ON_MULTI_ALTER.contains(ctx.dialect());
        boolean parens = !multiAdd;
        boolean comma = true;
        ctx.start(ALTER_TABLE_ADD).visit(addColumnKeyword(ctx)).sql(' ');
        if (parens)
            ctx.sql('(');
        boolean indent = !multiAdd && add.size() > 1;
        if (indent)
            ctx.formatIndentStart().formatNewLine();
        for (int i = 0; i < add.size(); i++) {
            if (i > 0) {
                ctx.sql(comma ? "," : "").formatSeparator();
                if (multiAdd)
                    ctx.visit(addColumnKeyword(ctx)).sql(' ');
            }
            TableElement part = add.get(i);
            ctx.qualify(false, c -> c.visit(part));
            if (part instanceof Field) {
                Field<?> f = (Field<?>) part;
                ctx.sql(' ');
                toSQLDDLTypeDeclarationForAddition(ctx, f.getDataType());
            }
        }
        if (indent)
            ctx.formatIndentEnd().formatNewLine();
        if (parens)
            ctx.sql(')');
        acceptFirstBeforeAfter(ctx);
        ctx.end(ALTER_TABLE_ADD);
    } else if (addColumn != null) {
        ctx.start(ALTER_TABLE_ADD).visit(addColumnKeyword(ctx)).sql(' ');
        if (ifNotExistsColumn && supportsIfNotExistsColumn(ctx))
            ctx.visit(K_IF_NOT_EXISTS).sql(' ');
        ctx.qualify(false, c -> c.visit(addColumn)).sql(' ');
        toSQLDDLTypeDeclarationForAddition(ctx, addColumnType);
        acceptFirstBeforeAfter(ctx);
        ctx.end(ALTER_TABLE_ADD);
    } else if (addConstraint != null) {
        ctx.start(ALTER_TABLE_ADD);
        ctx.visit(K_ADD).sql(' ');
        ctx.visit(addConstraint);
        ctx.end(ALTER_TABLE_ADD);
    } else if (alterConstraint != null) {
        ctx.start(ALTER_TABLE_ALTER);
        ctx.data(DATA_CONSTRAINT_REFERENCE, true, c -> {
            switch(family) {
                default:
                    ctx.visit(K_ALTER);
                    break;
            }
            ctx.sql(' ').visit(K_CONSTRAINT).sql(' ').visit(alterConstraint);
            ConstraintImpl.acceptEnforced(ctx, alterConstraintEnforced);
        });
        ctx.end(ALTER_TABLE_ALTER);
    } else if (alterColumn != null) {
        ctx.start(ALTER_TABLE_ALTER);
        switch(family) {
            case CUBRID:
            case MARIADB:
            case MYSQL:
                {
                    // MySQL's CHANGE COLUMN clause has a mandatory RENAMING syntax...
                    if (alterColumnDefault == null && !alterColumnDropDefault)
                        ctx.visit(K_CHANGE_COLUMN).sql(' ').qualify(false, c -> c.visit(alterColumn));
                    else
                        ctx.visit(K_ALTER_COLUMN);
                    break;
                }
            default:
                ctx.visit(K_ALTER);
                break;
        }
        ctx.sql(' ');
        ctx.qualify(false, c -> c.visit(alterColumn));
        if (alterColumnType != null) {
            switch(family) {
                case DERBY:
                    ctx.sql(' ').visit(K_SET_DATA_TYPE);
                    break;
                case FIREBIRD:
                case POSTGRES:
                case YUGABYTEDB:
                    ctx.sql(' ').visit(K_TYPE);
                    break;
            }
            ctx.sql(' ');
            toSQLDDLTypeDeclaration(ctx, alterColumnType);
            toSQLDDLTypeDeclarationIdentityBeforeNull(ctx, alterColumnType);
            // [#3805] Some databases cannot change the type and the NOT NULL constraint in a single statement
            if (!NO_SUPPORT_ALTER_TYPE_AND_NULL.contains(ctx.dialect())) {
                switch(alterColumnType.nullability()) {
                    case NULL:
                        ctx.sql(' ').visit(K_NULL);
                        break;
                    case NOT_NULL:
                        ctx.sql(' ').visit(K_NOT_NULL);
                        break;
                    case DEFAULT:
                        break;
                }
            }
            toSQLDDLTypeDeclarationIdentityAfterNull(ctx, alterColumnType);
        } else if (alterColumnDefault != null) {
            ctx.start(ALTER_TABLE_ALTER_DEFAULT);
            switch(family) {
                default:
                    ctx.sql(' ').visit(K_SET_DEFAULT);
                    break;
            }
            ctx.sql(' ').visit(alterColumnDefault).end(ALTER_TABLE_ALTER_DEFAULT);
        } else if (alterColumnDropDefault) {
            ctx.start(ALTER_TABLE_ALTER_DEFAULT);
            switch(family) {
                case MARIADB:
                case MYSQL:
                    ctx.sql(' ').visit(K_SET_DEFAULT).sql(' ').visit(K_NULL);
                    break;
                default:
                    ctx.sql(' ').visit(K_DROP_DEFAULT);
                    break;
            }
            ctx.end(ALTER_TABLE_ALTER_DEFAULT);
        } else if (alterColumnNullability != null) {
            ctx.start(ALTER_TABLE_ALTER_NULL);
            switch(ctx.family()) {
                default:
                    ctx.sql(' ').visit(alterColumnNullability.nullable() ? K_DROP_NOT_NULL : K_SET_NOT_NULL);
                    break;
            }
            ctx.end(ALTER_TABLE_ALTER_NULL);
        }
        ctx.end(ALTER_TABLE_ALTER);
    } else if (dropColumns != null) {
        ctx.start(ALTER_TABLE_DROP);
        if (REQUIRE_REPEAT_DROP_ON_MULTI_ALTER.contains(ctx.dialect())) {
            String separator = "";
            for (Field<?> dropColumn : dropColumns) {
                ctx.sql(separator);
                acceptDropColumn(ctx);
                if (ifExistsColumn && supportsIfExistsColumn(ctx))
                    ctx.sql(' ').visit(K_IF_EXISTS);
                ctx.sql(' ').qualify(false, c -> c.visit(dropColumn));
                separator = ", ";
            }
        } else {
            acceptDropColumn(ctx);
            if (ifExistsColumn && supportsIfExistsColumn(ctx))
                ctx.sql(' ').visit(K_IF_EXISTS);
            ctx.sql(' ');
            ctx.qualify(false, c -> c.visit(dropColumns));
        }
        acceptCascade(ctx);
        ctx.end(ALTER_TABLE_DROP);
    } else if (dropConstraint != null) {
        ctx.start(ALTER_TABLE_DROP);
        ctx.data(DATA_CONSTRAINT_REFERENCE, true, c -> {
            if (dropConstraintType == FOREIGN_KEY && NO_SUPPORT_DROP_CONSTRAINT.contains(c.dialect())) {
                c.visit(K_DROP).sql(' ').visit(K_FOREIGN_KEY).sql(' ').visit(dropConstraint);
            } else if (dropConstraintType == PRIMARY_KEY && NO_SUPPORT_DROP_CONSTRAINT.contains(c.dialect())) {
                c.visit(K_DROP).sql(' ').visit(K_PRIMARY_KEY);
            } else {
                // [#9382] In some dialects, unnamed UNIQUE constraints can be
                // dropped by dropping their declarations.
                c.visit(dropConstraint.getUnqualifiedName().empty() ? K_DROP : K_DROP_CONSTRAINT).sql(' ');
                if (ifExistsConstraint && !NO_SUPPORT_IF_EXISTS_CONSTRAINT.contains(c.dialect()))
                    c.visit(K_IF_EXISTS).sql(' ');
                c.visit(dropConstraint);
            }
            acceptCascade(c);
        });
        ctx.end(ALTER_TABLE_DROP);
    } else if (dropConstraintType == PRIMARY_KEY) {
        ctx.start(ALTER_TABLE_DROP);
        ctx.visit(K_DROP).sql(' ').visit(K_PRIMARY_KEY);
        ctx.end(ALTER_TABLE_DROP);
    }
    if (!omitAlterTable)
        ctx.formatIndentEnd();
}
Also used : Arrays(java.util.Arrays) K_ADD_COLUMN(org.jooq.impl.Keywords.K_ADD_COLUMN) K_RENAME_OBJECT(org.jooq.impl.Keywords.K_RENAME_OBJECT) UNIQUE(org.jooq.impl.ConstraintType.UNIQUE) DSL.field(org.jooq.impl.DSL.field) ALTER_TABLE_ADD(org.jooq.Clause.ALTER_TABLE_ADD) DSL.condition(org.jooq.impl.DSL.condition) POSTGRES(org.jooq.SQLDialect.POSTGRES) Tools.toSQLDDLTypeDeclarationIdentityAfterNull(org.jooq.impl.Tools.toSQLDDLTypeDeclarationIdentityAfterNull) K_PRIMARY_KEY(org.jooq.impl.Keywords.K_PRIMARY_KEY) ALTER_TABLE_RENAME_CONSTRAINT(org.jooq.Clause.ALTER_TABLE_RENAME_CONSTRAINT) DSL.begin(org.jooq.impl.DSL.begin) AlterTableFinalStep(org.jooq.AlterTableFinalStep) RESTRICT(org.jooq.impl.QOM.Cascade.RESTRICT) FOREIGN_KEY(org.jooq.impl.ConstraintType.FOREIGN_KEY) Record1(org.jooq.Record1) Index(org.jooq.Index) ALTER_TABLE_ALTER_DEFAULT(org.jooq.Clause.ALTER_TABLE_ALTER_DEFAULT) SQLDialect(org.jooq.SQLDialect) Select(org.jooq.Select) DSL.constraint(org.jooq.impl.DSL.constraint) K_DROP(org.jooq.impl.Keywords.K_DROP) Keyword(org.jooq.Keyword) K_DROP_DEFAULT(org.jooq.impl.Keywords.K_DROP_DEFAULT) K_IF(org.jooq.impl.Keywords.K_IF) Set(java.util.Set) K_SET_DATA_TYPE(org.jooq.impl.Keywords.K_SET_DATA_TYPE) QueryPart(org.jooq.QueryPart) K_END_IF(org.jooq.impl.Keywords.K_END_IF) K_FIRST(org.jooq.impl.Keywords.K_FIRST) DSL.noCondition(org.jooq.impl.DSL.noCondition) K_ALTER_COLUMN(org.jooq.impl.Keywords.K_ALTER_COLUMN) K_DROP_COLUMN(org.jooq.impl.Keywords.K_DROP_COLUMN) K_CHANGE_COLUMN(org.jooq.impl.Keywords.K_CHANGE_COLUMN) K_DROP_NOT_NULL(org.jooq.impl.Keywords.K_DROP_NOT_NULL) K_CONSTRAINTS(org.jooq.impl.Keywords.K_CONSTRAINTS) TRUE(java.lang.Boolean.TRUE) ALTER_TABLE_ALTER(org.jooq.Clause.ALTER_TABLE_ALTER) ALTER_TABLE_ALTER_NULL(org.jooq.Clause.ALTER_TABLE_ALTER_NULL) DERBY(org.jooq.SQLDialect.DERBY) Tools.tryCatch(org.jooq.impl.Tools.tryCatch) NOT_NULL(org.jooq.Nullability.NOT_NULL) K_RENAME(org.jooq.impl.Keywords.K_RENAME) DATA_CONSTRAINT_REFERENCE(org.jooq.impl.Tools.BooleanDataKey.DATA_CONSTRAINT_REFERENCE) AlterTableAlterStep(org.jooq.AlterTableAlterStep) K_DEFAULT(org.jooq.impl.Keywords.K_DEFAULT) K_RENAME_CONSTRAINT(org.jooq.impl.Keywords.K_RENAME_CONSTRAINT) FieldOrConstraint(org.jooq.FieldOrConstraint) ALTER_TABLE_RENAME_INDEX(org.jooq.Clause.ALTER_TABLE_RENAME_INDEX) DSL.sql(org.jooq.impl.DSL.sql) VARCHAR(org.jooq.impl.SQLDataType.VARCHAR) K_COLUMN(org.jooq.impl.Keywords.K_COLUMN) K_ALTER_CONSTRAINT(org.jooq.impl.Keywords.K_ALTER_CONSTRAINT) Tools.toSQLDDLTypeDeclaration(org.jooq.impl.Tools.toSQLDDLTypeDeclaration) MYSQL(org.jooq.SQLDialect.MYSQL) ALTER_TABLE(org.jooq.Clause.ALTER_TABLE) K_SET_NOT_NULL(org.jooq.impl.Keywords.K_SET_NOT_NULL) FIREBIRD(org.jooq.SQLDialect.FIREBIRD) K_CHANGE(org.jooq.impl.Keywords.K_CHANGE) Constraint(org.jooq.Constraint) AlterTableAddStep(org.jooq.AlterTableAddStep) ALTER_TABLE_RENAME_COLUMN(org.jooq.Clause.ALTER_TABLE_RENAME_COLUMN) YUGABYTEDB(org.jooq.SQLDialect.YUGABYTEDB) K_ADD(org.jooq.impl.Keywords.K_ADD) MARIADB(org.jooq.SQLDialect.MARIADB) ALTER_TABLE_TABLE(org.jooq.Clause.ALTER_TABLE_TABLE) Tools.endExecuteImmediate(org.jooq.impl.Tools.endExecuteImmediate) K_BEFORE(org.jooq.impl.Keywords.K_BEFORE) K_EXCEPTION(org.jooq.impl.Keywords.K_EXCEPTION) UNotYetImplemented(org.jooq.impl.QOM.UNotYetImplemented) K_LIKE(org.jooq.impl.Keywords.K_LIKE) PRIMARY_KEY(org.jooq.impl.ConstraintType.PRIMARY_KEY) Table(org.jooq.Table) ALTER_TABLE_RENAME(org.jooq.Clause.ALTER_TABLE_RENAME) K_EXEC(org.jooq.impl.Keywords.K_EXEC) Clause(org.jooq.Clause) K_ALTER(org.jooq.impl.Keywords.K_ALTER) K_FOREIGN_KEY(org.jooq.impl.Keywords.K_FOREIGN_KEY) K_NULL(org.jooq.impl.Keywords.K_NULL) K_NOT_NULL(org.jooq.impl.Keywords.K_NOT_NULL) K_IF_EXISTS(org.jooq.impl.Keywords.K_IF_EXISTS) DSLContext(org.jooq.DSLContext) AlterTableUsingIndexStep(org.jooq.AlterTableUsingIndexStep) K_CONSTRAINT(org.jooq.impl.Keywords.K_CONSTRAINT) Nullability(org.jooq.Nullability) DataType(org.jooq.DataType) NULL(org.jooq.Nullability.NULL) DSL.name(org.jooq.impl.DSL.name) Tools.toSQLDDLTypeDeclarationForAddition(org.jooq.impl.Tools.toSQLDDLTypeDeclarationForAddition) AlterTableStep(org.jooq.AlterTableStep) K_RENAME_INDEX(org.jooq.impl.Keywords.K_RENAME_INDEX) Name(org.jooq.Name) K_RAISE(org.jooq.impl.Keywords.K_RAISE) Collection(java.util.Collection) Cascade(org.jooq.impl.QOM.Cascade) Field(org.jooq.Field) DSL.select(org.jooq.impl.DSL.select) CUBRID(org.jooq.SQLDialect.CUBRID) K_POSITION(org.jooq.impl.Keywords.K_POSITION) HSQLDB(org.jooq.SQLDialect.HSQLDB) K_USING_INDEX(org.jooq.impl.Keywords.K_USING_INDEX) List(java.util.List) Context(org.jooq.Context) DSL.commentOnTable(org.jooq.impl.DSL.commentOnTable) AlterTableAlterConstraintStep(org.jooq.AlterTableAlterConstraintStep) K_RESTRICT(org.jooq.impl.Keywords.K_RESTRICT) TableElement(org.jooq.TableElement) Tools.toSQLDDLTypeDeclarationIdentityBeforeNull(org.jooq.impl.Tools.toSQLDDLTypeDeclarationIdentityBeforeNull) Query(org.jooq.Query) K_AFTER(org.jooq.impl.Keywords.K_AFTER) AlterTableDropStep(org.jooq.AlterTableDropStep) AlterTableRenameConstraintToStep(org.jooq.AlterTableRenameConstraintToStep) K_CASCADE(org.jooq.impl.Keywords.K_CASCADE) K_RENAME_TABLE(org.jooq.impl.Keywords.K_RENAME_TABLE) AlterTableRenameIndexToStep(org.jooq.AlterTableRenameIndexToStep) DSL.index(org.jooq.impl.DSL.index) K_MODIFY(org.jooq.impl.Keywords.K_MODIFY) K_TO(org.jooq.impl.Keywords.K_TO) Tools.executeImmediate(org.jooq.impl.Tools.executeImmediate) K_ELSE(org.jooq.impl.Keywords.K_ELSE) Comment(org.jooq.Comment) K_ALTER_TABLE(org.jooq.impl.Keywords.K_ALTER_TABLE) K_WHEN(org.jooq.impl.Keywords.K_WHEN) K_TYPE(org.jooq.impl.Keywords.K_TYPE) DSL.inline(org.jooq.impl.DSL.inline) K_WITH_NO_DATACOPY(org.jooq.impl.Keywords.K_WITH_NO_DATACOPY) K_DROP_CONSTRAINT(org.jooq.impl.Keywords.K_DROP_CONSTRAINT) FALSE(java.lang.Boolean.FALSE) Tools.beginExecuteImmediate(org.jooq.impl.Tools.beginExecuteImmediate) K_SET_DEFAULT(org.jooq.impl.Keywords.K_SET_DEFAULT) K_COMMENT(org.jooq.impl.Keywords.K_COMMENT) ALTER_TABLE_DROP(org.jooq.Clause.ALTER_TABLE_DROP) AlterTableRenameColumnToStep(org.jooq.AlterTableRenameColumnToStep) K_RENAME_COLUMN(org.jooq.impl.Keywords.K_RENAME_COLUMN) K_RENAME_TO(org.jooq.impl.Keywords.K_RENAME_TO) CASCADE(org.jooq.impl.QOM.Cascade.CASCADE) Tools.begin(org.jooq.impl.Tools.begin) Configuration(org.jooq.Configuration) H2(org.jooq.SQLDialect.H2) Tools.fieldsByName(org.jooq.impl.Tools.fieldsByName) K_REPLACE(org.jooq.impl.Keywords.K_REPLACE) K_IF_NOT_EXISTS(org.jooq.impl.Keywords.K_IF_NOT_EXISTS) Collections(java.util.Collections) K_THEN(org.jooq.impl.Keywords.K_THEN) Field(org.jooq.Field) SQLDialect(org.jooq.SQLDialect) TableElement(org.jooq.TableElement)

Aggregations

Comment (org.jooq.Comment)5 Field (org.jooq.Field)3 Query (org.jooq.Query)3 FALSE (java.lang.Boolean.FALSE)2 TRUE (java.lang.Boolean.TRUE)2 Arrays (java.util.Arrays)2 Collection (java.util.Collection)2 List (java.util.List)2 Set (java.util.Set)2 AlterTableAddStep (org.jooq.AlterTableAddStep)2 AlterTableDropStep (org.jooq.AlterTableDropStep)2 AlterTableStep (org.jooq.AlterTableStep)2 Configuration (org.jooq.Configuration)2 Constraint (org.jooq.Constraint)2 ConstraintTypeStep (org.jooq.ConstraintTypeStep)2 Context (org.jooq.Context)2 DSLContext (org.jooq.DSLContext)2 DataType (org.jooq.DataType)2 GroupField (org.jooq.GroupField)2 Index (org.jooq.Index)2