SchemaVersion.java
/*
* This file is generated by jOOQ.
*/
package com.io7m.idstore.database.postgres.internal.tables;
import com.io7m.idstore.database.postgres.internal.DefaultSchema;
import com.io7m.idstore.database.postgres.internal.Keys;
import com.io7m.idstore.database.postgres.internal.tables.records.SchemaVersionRecord;
import java.util.Arrays;
import java.util.List;
import java.util.function.Function;
import org.jooq.Check;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Function3;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Records;
import org.jooq.Row3;
import org.jooq.Schema;
import org.jooq.SelectField;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.Internal;
import org.jooq.impl.SQLDataType;
import org.jooq.impl.TableImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class SchemaVersion extends TableImpl<SchemaVersionRecord> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>SCHEMA_VERSION</code>
*/
public static final SchemaVersion SCHEMA_VERSION = new SchemaVersion();
/**
* The class holding records for this type
*/
@Override
public Class<SchemaVersionRecord> getRecordType() {
return SchemaVersionRecord.class;
}
/**
* The column <code>SCHEMA_VERSION.VERSION_LOCK</code>.
*/
public final TableField<SchemaVersionRecord, String> VERSION_LOCK = createField(DSL.name("VERSION_LOCK"), SQLDataType.CHAR(1).nullable(false).defaultValue(DSL.field(DSL.raw("'X'"), SQLDataType.CHAR)), this, "");
/**
* The column <code>SCHEMA_VERSION.VERSION_APPLICATION_ID</code>.
*/
public final TableField<SchemaVersionRecord, String> VERSION_APPLICATION_ID = createField(DSL.name("VERSION_APPLICATION_ID"), SQLDataType.CLOB.nullable(false), this, "");
/**
* The column <code>SCHEMA_VERSION.VERSION_NUMBER</code>.
*/
public final TableField<SchemaVersionRecord, Long> VERSION_NUMBER = createField(DSL.name("VERSION_NUMBER"), SQLDataType.BIGINT.nullable(false), this, "");
private SchemaVersion(Name alias, Table<SchemaVersionRecord> aliased) {
this(alias, aliased, null);
}
private SchemaVersion(Name alias, Table<SchemaVersionRecord> aliased, Field<?>[] parameters) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
}
/**
* Create an aliased <code>SCHEMA_VERSION</code> table reference
*/
public SchemaVersion(String alias) {
this(DSL.name(alias), SCHEMA_VERSION);
}
/**
* Create an aliased <code>SCHEMA_VERSION</code> table reference
*/
public SchemaVersion(Name alias) {
this(alias, SCHEMA_VERSION);
}
/**
* Create a <code>SCHEMA_VERSION</code> table reference
*/
public SchemaVersion() {
this(DSL.name("SCHEMA_VERSION"), null);
}
public <O extends Record> SchemaVersion(Table<O> child, ForeignKey<O, SchemaVersionRecord> key) {
super(child, key, SCHEMA_VERSION);
}
@Override
public Schema getSchema() {
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public UniqueKey<SchemaVersionRecord> getPrimaryKey() {
return Keys.CHECK_LOCK_PRIMARY;
}
@Override
public List<Check<SchemaVersionRecord>> getChecks() {
return Arrays.asList(
Internal.createCheck(this, DSL.name("CHECK_LOCK_LOCKED"), "\"VERSION_LOCK\" = 'X'", true)
);
}
@Override
public SchemaVersion as(String alias) {
return new SchemaVersion(DSL.name(alias), this);
}
@Override
public SchemaVersion as(Name alias) {
return new SchemaVersion(alias, this);
}
@Override
public SchemaVersion as(Table<?> alias) {
return new SchemaVersion(alias.getQualifiedName(), this);
}
/**
* Rename this table
*/
@Override
public SchemaVersion rename(String name) {
return new SchemaVersion(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public SchemaVersion rename(Name name) {
return new SchemaVersion(name, null);
}
/**
* Rename this table
*/
@Override
public SchemaVersion rename(Table<?> name) {
return new SchemaVersion(name.getQualifiedName(), null);
}
// -------------------------------------------------------------------------
// Row3 type methods
// -------------------------------------------------------------------------
@Override
public Row3<String, String, Long> fieldsRow() {
return (Row3) super.fieldsRow();
}
/**
* Convenience mapping calling {@link SelectField#convertFrom(Function)}.
*/
public <U> SelectField<U> mapping(Function3<? super String, ? super String, ? super Long, ? extends U> from) {
return convertFrom(Records.mapping(from));
}
/**
* Convenience mapping calling {@link SelectField#convertFrom(Class,
* Function)}.
*/
public <U> SelectField<U> mapping(Class<U> toType, Function3<? super String, ? super String, ? super Long, ? extends U> from) {
return convertFrom(toType, Records.mapping(from));
}
}