/*
 * This file is generated by jOOQ.
 */
package ervu_secret.ervu_secret.db_beans.pg_catalog.tables.records;


import ervu_secret.ervu_secret.db_beans.pg_catalog.tables.PgIndex;

import org.jooq.Record1;
import org.jooq.impl.UpdatableRecordImpl;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class PgIndexRecord extends UpdatableRecordImpl<PgIndexRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>pg_catalog.pg_index.indexrelid</code>.
     */
    public void setIndexrelid(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indexrelid</code>.
     */
    public Long getIndexrelid() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indrelid</code>.
     */
    public void setIndrelid(Long value) {
        set(1, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indrelid</code>.
     */
    public Long getIndrelid() {
        return (Long) get(1);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indnatts</code>.
     */
    public void setIndnatts(Short value) {
        set(2, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indnatts</code>.
     */
    public Short getIndnatts() {
        return (Short) get(2);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indnkeyatts</code>.
     */
    public void setIndnkeyatts(Short value) {
        set(3, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indnkeyatts</code>.
     */
    public Short getIndnkeyatts() {
        return (Short) get(3);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indisunique</code>.
     */
    public void setIndisunique(Boolean value) {
        set(4, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indisunique</code>.
     */
    public Boolean getIndisunique() {
        return (Boolean) get(4);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indnullsnotdistinct</code>.
     */
    public void setIndnullsnotdistinct(Boolean value) {
        set(5, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indnullsnotdistinct</code>.
     */
    public Boolean getIndnullsnotdistinct() {
        return (Boolean) get(5);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indisprimary</code>.
     */
    public void setIndisprimary(Boolean value) {
        set(6, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indisprimary</code>.
     */
    public Boolean getIndisprimary() {
        return (Boolean) get(6);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indisexclusion</code>.
     */
    public void setIndisexclusion(Boolean value) {
        set(7, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indisexclusion</code>.
     */
    public Boolean getIndisexclusion() {
        return (Boolean) get(7);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indimmediate</code>.
     */
    public void setIndimmediate(Boolean value) {
        set(8, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indimmediate</code>.
     */
    public Boolean getIndimmediate() {
        return (Boolean) get(8);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indisclustered</code>.
     */
    public void setIndisclustered(Boolean value) {
        set(9, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indisclustered</code>.
     */
    public Boolean getIndisclustered() {
        return (Boolean) get(9);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indisvalid</code>.
     */
    public void setIndisvalid(Boolean value) {
        set(10, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indisvalid</code>.
     */
    public Boolean getIndisvalid() {
        return (Boolean) get(10);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indcheckxmin</code>.
     */
    public void setIndcheckxmin(Boolean value) {
        set(11, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indcheckxmin</code>.
     */
    public Boolean getIndcheckxmin() {
        return (Boolean) get(11);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indisready</code>.
     */
    public void setIndisready(Boolean value) {
        set(12, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indisready</code>.
     */
    public Boolean getIndisready() {
        return (Boolean) get(12);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indislive</code>.
     */
    public void setIndislive(Boolean value) {
        set(13, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indislive</code>.
     */
    public Boolean getIndislive() {
        return (Boolean) get(13);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indisreplident</code>.
     */
    public void setIndisreplident(Boolean value) {
        set(14, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indisreplident</code>.
     */
    public Boolean getIndisreplident() {
        return (Boolean) get(14);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indkey</code>.
     */
    public void setIndkey(Object[] value) {
        set(15, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indkey</code>.
     */
    public Object[] getIndkey() {
        return (Object[]) get(15);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indcollation</code>.
     */
    public void setIndcollation(Object[] value) {
        set(16, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indcollation</code>.
     */
    public Object[] getIndcollation() {
        return (Object[]) get(16);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indclass</code>.
     */
    public void setIndclass(Object[] value) {
        set(17, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indclass</code>.
     */
    public Object[] getIndclass() {
        return (Object[]) get(17);
    }

    /**
     * Setter for <code>pg_catalog.pg_index.indoption</code>.
     */
    public void setIndoption(Object[] value) {
        set(18, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_index.indoption</code>.
     */
    public Object[] getIndoption() {
        return (Object[]) get(18);
    }

    /**
     * @deprecated Unknown data type. If this is a qualified, user-defined type,
     * it may have been excluded from code generation. If this is a built-in
     * type, you can define an explicit {@link org.jooq.Binding} to specify how
     * this type should be handled. Deprecation can be turned off using
     * {@literal <deprecationOnUnknownTypes/>} in your code generator
     * configuration.
     */
    @Deprecated
    public void setIndexprs(Object value) {
        set(19, value);
    }

    /**
     * @deprecated Unknown data type. If this is a qualified, user-defined type,
     * it may have been excluded from code generation. If this is a built-in
     * type, you can define an explicit {@link org.jooq.Binding} to specify how
     * this type should be handled. Deprecation can be turned off using
     * {@literal <deprecationOnUnknownTypes/>} in your code generator
     * configuration.
     */
    @Deprecated
    public Object getIndexprs() {
        return get(19);
    }

    /**
     * @deprecated Unknown data type. If this is a qualified, user-defined type,
     * it may have been excluded from code generation. If this is a built-in
     * type, you can define an explicit {@link org.jooq.Binding} to specify how
     * this type should be handled. Deprecation can be turned off using
     * {@literal <deprecationOnUnknownTypes/>} in your code generator
     * configuration.
     */
    @Deprecated
    public void setIndpred(Object value) {
        set(20, value);
    }

    /**
     * @deprecated Unknown data type. If this is a qualified, user-defined type,
     * it may have been excluded from code generation. If this is a built-in
     * type, you can define an explicit {@link org.jooq.Binding} to specify how
     * this type should be handled. Deprecation can be turned off using
     * {@literal <deprecationOnUnknownTypes/>} in your code generator
     * configuration.
     */
    @Deprecated
    public Object getIndpred() {
        return get(20);
    }

    // -------------------------------------------------------------------------
    // Primary key information
    // -------------------------------------------------------------------------

    @Override
    public Record1<Long> key() {
        return (Record1) super.key();
    }

    // -------------------------------------------------------------------------
    // Constructors
    // -------------------------------------------------------------------------

    /**
     * Create a detached PgIndexRecord
     */
    public PgIndexRecord() {
        super(PgIndex.PG_INDEX);
    }

    /**
     * Create a detached, initialised PgIndexRecord
     */
    public PgIndexRecord(Long indexrelid, Long indrelid, Short indnatts, Short indnkeyatts, Boolean indisunique, Boolean indnullsnotdistinct, Boolean indisprimary, Boolean indisexclusion, Boolean indimmediate, Boolean indisclustered, Boolean indisvalid, Boolean indcheckxmin, Boolean indisready, Boolean indislive, Boolean indisreplident, Object[] indkey, Object[] indcollation, Object[] indclass, Object[] indoption, Object indexprs, Object indpred) {
        super(PgIndex.PG_INDEX);

        setIndexrelid(indexrelid);
        setIndrelid(indrelid);
        setIndnatts(indnatts);
        setIndnkeyatts(indnkeyatts);
        setIndisunique(indisunique);
        setIndnullsnotdistinct(indnullsnotdistinct);
        setIndisprimary(indisprimary);
        setIndisexclusion(indisexclusion);
        setIndimmediate(indimmediate);
        setIndisclustered(indisclustered);
        setIndisvalid(indisvalid);
        setIndcheckxmin(indcheckxmin);
        setIndisready(indisready);
        setIndislive(indislive);
        setIndisreplident(indisreplident);
        setIndkey(indkey);
        setIndcollation(indcollation);
        setIndclass(indclass);
        setIndoption(indoption);
        setIndexprs(indexprs);
        setIndpred(indpred);
        resetChangedOnNotNull();
    }
}
