/*
 * 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.PgProc;

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


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

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>pg_catalog.pg_proc.oid</code>.
     */
    public void setOid(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.oid</code>.
     */
    public Long getOid() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proname</code>.
     */
    public void setProname(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proname</code>.
     */
    public String getProname() {
        return (String) get(1);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.pronamespace</code>.
     */
    public void setPronamespace(Long value) {
        set(2, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.pronamespace</code>.
     */
    public Long getPronamespace() {
        return (Long) get(2);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proowner</code>.
     */
    public void setProowner(Long value) {
        set(3, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proowner</code>.
     */
    public Long getProowner() {
        return (Long) get(3);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.prolang</code>.
     */
    public void setProlang(Long value) {
        set(4, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.prolang</code>.
     */
    public Long getProlang() {
        return (Long) get(4);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.procost</code>.
     */
    public void setProcost(Float value) {
        set(5, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.procost</code>.
     */
    public Float getProcost() {
        return (Float) get(5);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.prorows</code>.
     */
    public void setProrows(Float value) {
        set(6, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.prorows</code>.
     */
    public Float getProrows() {
        return (Float) get(6);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.provariadic</code>.
     */
    public void setProvariadic(Long value) {
        set(7, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.provariadic</code>.
     */
    public Long getProvariadic() {
        return (Long) get(7);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.prosupport</code>.
     */
    public void setProsupport(String value) {
        set(8, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.prosupport</code>.
     */
    public String getProsupport() {
        return (String) get(8);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.prokind</code>.
     */
    public void setProkind(String value) {
        set(9, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.prokind</code>.
     */
    public String getProkind() {
        return (String) get(9);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.prosecdef</code>.
     */
    public void setProsecdef(Boolean value) {
        set(10, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.prosecdef</code>.
     */
    public Boolean getProsecdef() {
        return (Boolean) get(10);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proleakproof</code>.
     */
    public void setProleakproof(Boolean value) {
        set(11, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proleakproof</code>.
     */
    public Boolean getProleakproof() {
        return (Boolean) get(11);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proisstrict</code>.
     */
    public void setProisstrict(Boolean value) {
        set(12, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proisstrict</code>.
     */
    public Boolean getProisstrict() {
        return (Boolean) get(12);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proretset</code>.
     */
    public void setProretset(Boolean value) {
        set(13, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proretset</code>.
     */
    public Boolean getProretset() {
        return (Boolean) get(13);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.provolatile</code>.
     */
    public void setProvolatile(String value) {
        set(14, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.provolatile</code>.
     */
    public String getProvolatile() {
        return (String) get(14);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proparallel</code>.
     */
    public void setProparallel(String value) {
        set(15, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proparallel</code>.
     */
    public String getProparallel() {
        return (String) get(15);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.pronargs</code>.
     */
    public void setPronargs(Short value) {
        set(16, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.pronargs</code>.
     */
    public Short getPronargs() {
        return (Short) get(16);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.pronargdefaults</code>.
     */
    public void setPronargdefaults(Short value) {
        set(17, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.pronargdefaults</code>.
     */
    public Short getPronargdefaults() {
        return (Short) get(17);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.prorettype</code>.
     */
    public void setProrettype(Long value) {
        set(18, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.prorettype</code>.
     */
    public Long getProrettype() {
        return (Long) get(18);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proargtypes</code>.
     */
    public void setProargtypes(Object[] value) {
        set(19, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proargtypes</code>.
     */
    public Object[] getProargtypes() {
        return (Object[]) get(19);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proallargtypes</code>.
     */
    public void setProallargtypes(Long[] value) {
        set(20, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proallargtypes</code>.
     */
    public Long[] getProallargtypes() {
        return (Long[]) get(20);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proargmodes</code>.
     */
    public void setProargmodes(String[] value) {
        set(21, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proargmodes</code>.
     */
    public String[] getProargmodes() {
        return (String[]) get(21);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proargnames</code>.
     */
    public void setProargnames(String[] value) {
        set(22, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proargnames</code>.
     */
    public String[] getProargnames() {
        return (String[]) get(22);
    }

    /**
     * @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 setProargdefaults(Object value) {
        set(23, 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 getProargdefaults() {
        return get(23);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.protrftypes</code>.
     */
    public void setProtrftypes(Long[] value) {
        set(24, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.protrftypes</code>.
     */
    public Long[] getProtrftypes() {
        return (Long[]) get(24);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.prosrc</code>.
     */
    public void setProsrc(String value) {
        set(25, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.prosrc</code>.
     */
    public String getProsrc() {
        return (String) get(25);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.probin</code>.
     */
    public void setProbin(String value) {
        set(26, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.probin</code>.
     */
    public String getProbin() {
        return (String) get(26);
    }

    /**
     * @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 setProsqlbody(Object value) {
        set(27, 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 getProsqlbody() {
        return get(27);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proconfig</code>.
     */
    public void setProconfig(String[] value) {
        set(28, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proconfig</code>.
     */
    public String[] getProconfig() {
        return (String[]) get(28);
    }

    /**
     * Setter for <code>pg_catalog.pg_proc.proacl</code>.
     */
    public void setProacl(String[] value) {
        set(29, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_proc.proacl</code>.
     */
    public String[] getProacl() {
        return (String[]) get(29);
    }

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

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

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

    /**
     * Create a detached PgProcRecord
     */
    public PgProcRecord() {
        super(PgProc.PG_PROC);
    }

    /**
     * Create a detached, initialised PgProcRecord
     */
    public PgProcRecord(Long oid, String proname, Long pronamespace, Long proowner, Long prolang, Float procost, Float prorows, Long provariadic, String prosupport, String prokind, Boolean prosecdef, Boolean proleakproof, Boolean proisstrict, Boolean proretset, String provolatile, String proparallel, Short pronargs, Short pronargdefaults, Long prorettype, Object[] proargtypes, Long[] proallargtypes, String[] proargmodes, String[] proargnames, Object proargdefaults, Long[] protrftypes, String prosrc, String probin, Object prosqlbody, String[] proconfig, String[] proacl) {
        super(PgProc.PG_PROC);

        setOid(oid);
        setProname(proname);
        setPronamespace(pronamespace);
        setProowner(proowner);
        setProlang(prolang);
        setProcost(procost);
        setProrows(prorows);
        setProvariadic(provariadic);
        setProsupport(prosupport);
        setProkind(prokind);
        setProsecdef(prosecdef);
        setProleakproof(proleakproof);
        setProisstrict(proisstrict);
        setProretset(proretset);
        setProvolatile(provolatile);
        setProparallel(proparallel);
        setPronargs(pronargs);
        setPronargdefaults(pronargdefaults);
        setProrettype(prorettype);
        setProargtypes(proargtypes);
        setProallargtypes(proallargtypes);
        setProargmodes(proargmodes);
        setProargnames(proargnames);
        setProargdefaults(proargdefaults);
        setProtrftypes(protrftypes);
        setProsrc(prosrc);
        setProbin(probin);
        setProsqlbody(prosqlbody);
        setProconfig(proconfig);
        setProacl(proacl);
        resetChangedOnNotNull();
    }
}
