// Path: src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Employee.java
// @Generated(
//     value = {
//         "http://www.jooq.org",
//         "jOOQ version:3.8.4"
//     },
//     comments = "This class is generated by jOOQ"
// )
// @SuppressWarnings({ "all", "unchecked", "rawtypes" })
// public class Employee extends TableImpl<EmployeeRecord> {
// 
//     private static final long serialVersionUID = -2096947570;
// 
//     /**
//      * The reference instance of <code>public.employee</code>
//      */
//     public static final Employee EMPLOYEE = new Employee();
// 
//     /**
//      * The class holding records for this type
//      */
//     @Override
//     public Class<EmployeeRecord> getRecordType() {
//         return EmployeeRecord.class;
//     }
// 
//     /**
//      * The column <code>public.employee.pid</code>.
//      */
//     public final TableField<EmployeeRecord, Integer> PID = createField("pid", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("nextval('employee_pid_seq'::regclass)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
// 
//     /**
//      * The column <code>public.employee.department_pid</code>.
//      */
//     public final TableField<EmployeeRecord, Integer> DEPARTMENT_PID = createField("department_pid", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
// 
//     /**
//      * The column <code>public.employee.name</code>.
//      */
//     public final TableField<EmployeeRecord, String> NAME = createField("name", org.jooq.impl.SQLDataType.CLOB.nullable(false), this, "");
// 
//     /**
//      * The column <code>public.employee.surname</code>.
//      */
//     public final TableField<EmployeeRecord, String> SURNAME = createField("surname", org.jooq.impl.SQLDataType.CLOB.nullable(false), this, "");
// 
//     /**
//      * The column <code>public.employee.email</code>.
//      */
//     public final TableField<EmployeeRecord, String> EMAIL = createField("email", org.jooq.impl.SQLDataType.CLOB, this, "");
// 
//     /**
//      * The column <code>public.employee.salary</code>.
//      */
//     public final TableField<EmployeeRecord, BigDecimal> SALARY = createField("salary", org.jooq.impl.SQLDataType.NUMERIC.precision(10, 2), this, "");
// 
//     /**
//      * Create a <code>public.employee</code> table reference
//      */
//     public Employee() {
//         this("employee", null);
//     }
// 
//     /**
//      * Create an aliased <code>public.employee</code> table reference
//      */
//     public Employee(String alias) {
//         this(alias, EMPLOYEE);
//     }
// 
//     private Employee(String alias, Table<EmployeeRecord> aliased) {
//         this(alias, aliased, null);
//     }
// 
//     private Employee(String alias, Table<EmployeeRecord> aliased, Field<?>[] parameters) {
//         super(alias, null, aliased, parameters, "");
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Schema getSchema() {
//         return Public.PUBLIC;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Identity<EmployeeRecord, Integer> getIdentity() {
//         return Keys.IDENTITY_EMPLOYEE;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public UniqueKey<EmployeeRecord> getPrimaryKey() {
//         return Keys.EMPLOYEE_PKEY;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public List<UniqueKey<EmployeeRecord>> getKeys() {
//         return Arrays.<UniqueKey<EmployeeRecord>>asList(Keys.EMPLOYEE_PKEY, Keys.EMPLOYEE_NAME_SURNAME_UNIQUE);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public List<ForeignKey<EmployeeRecord, ?>> getReferences() {
//         return Arrays.<ForeignKey<EmployeeRecord, ?>>asList(Keys.EMPLOYEE__EMPLOYEE_DEPARTMENT_PID_FKEY);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Employee as(String alias) {
//         return new Employee(alias, this);
//     }
// 
//     /**
//      * Rename this table
//      */
//     public Employee rename(String name) {
//         return new Employee(name, null);
//     }
// }


import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Employee;
import java.math.BigDecimal;
import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record6;
import org.jooq.Row6;
import org.jooq.impl.UpdatableRecordImpl;
    @Override
    public Record1<Integer> key() {
        return (Record1) super.key();
    }

    // -------------------------------------------------------------------------
    // Record6 type implementation
    // -------------------------------------------------------------------------

    /**
     * {@inheritDoc}
     */
    @Override
    public Row6<Integer, Integer, String, String, String, BigDecimal> fieldsRow() {
        return (Row6) super.fieldsRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Row6<Integer, Integer, String, String, String, BigDecimal> valuesRow() {
        return (Row6) super.valuesRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Integer> field1() {
// Path: src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Employee.java
// @Generated(
//     value = {
//         "http://www.jooq.org",
//         "jOOQ version:3.8.4"
//     },
//     comments = "This class is generated by jOOQ"
// )
// @SuppressWarnings({ "all", "unchecked", "rawtypes" })
// public class Employee extends TableImpl<EmployeeRecord> {
// 
//     private static final long serialVersionUID = -2096947570;
// 
//     /**
//      * The reference instance of <code>public.employee</code>
//      */
//     public static final Employee EMPLOYEE = new Employee();
// 
//     /**
//      * The class holding records for this type
//      */
//     @Override
//     public Class<EmployeeRecord> getRecordType() {
//         return EmployeeRecord.class;
//     }
// 
//     /**
//      * The column <code>public.employee.pid</code>.
//      */
//     public final TableField<EmployeeRecord, Integer> PID = createField("pid", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("nextval('employee_pid_seq'::regclass)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
// 
//     /**
//      * The column <code>public.employee.department_pid</code>.
//      */
//     public final TableField<EmployeeRecord, Integer> DEPARTMENT_PID = createField("department_pid", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
// 
//     /**
//      * The column <code>public.employee.name</code>.
//      */
//     public final TableField<EmployeeRecord, String> NAME = createField("name", org.jooq.impl.SQLDataType.CLOB.nullable(false), this, "");
// 
//     /**
//      * The column <code>public.employee.surname</code>.
//      */
//     public final TableField<EmployeeRecord, String> SURNAME = createField("surname", org.jooq.impl.SQLDataType.CLOB.nullable(false), this, "");
// 
//     /**
//      * The column <code>public.employee.email</code>.
//      */
//     public final TableField<EmployeeRecord, String> EMAIL = createField("email", org.jooq.impl.SQLDataType.CLOB, this, "");
// 
//     /**
//      * The column <code>public.employee.salary</code>.
//      */
//     public final TableField<EmployeeRecord, BigDecimal> SALARY = createField("salary", org.jooq.impl.SQLDataType.NUMERIC.precision(10, 2), this, "");
// 
//     /**
//      * Create a <code>public.employee</code> table reference
//      */
//     public Employee() {
//         this("employee", null);
//     }
// 
//     /**
//      * Create an aliased <code>public.employee</code> table reference
//      */
//     public Employee(String alias) {
//         this(alias, EMPLOYEE);
//     }
// 
//     private Employee(String alias, Table<EmployeeRecord> aliased) {
//         this(alias, aliased, null);
//     }
// 
//     private Employee(String alias, Table<EmployeeRecord> aliased, Field<?>[] parameters) {
//         super(alias, null, aliased, parameters, "");
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Schema getSchema() {
//         return Public.PUBLIC;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Identity<EmployeeRecord, Integer> getIdentity() {
//         return Keys.IDENTITY_EMPLOYEE;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public UniqueKey<EmployeeRecord> getPrimaryKey() {
//         return Keys.EMPLOYEE_PKEY;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public List<UniqueKey<EmployeeRecord>> getKeys() {
//         return Arrays.<UniqueKey<EmployeeRecord>>asList(Keys.EMPLOYEE_PKEY, Keys.EMPLOYEE_NAME_SURNAME_UNIQUE);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public List<ForeignKey<EmployeeRecord, ?>> getReferences() {
//         return Arrays.<ForeignKey<EmployeeRecord, ?>>asList(Keys.EMPLOYEE__EMPLOYEE_DEPARTMENT_PID_FKEY);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Employee as(String alias) {
//         return new Employee(alias, this);
//     }
// 
//     /**
//      * Rename this table
//      */
//     public Employee rename(String name) {
//         return new Employee(name, null);
//     }
// }


// Path: src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/EmployeeRecord.java
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Employee;
import java.math.BigDecimal;
import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record6;
import org.jooq.Row6;
import org.jooq.impl.UpdatableRecordImpl;

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

    // -------------------------------------------------------------------------
    // Record6 type implementation
    // -------------------------------------------------------------------------

    /**
     * {@inheritDoc}
     */
    @Override
    public Row6<Integer, Integer, String, String, String, BigDecimal> fieldsRow() {
        return (Row6) super.fieldsRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Row6<Integer, Integer, String, String, String, BigDecimal> valuesRow() {
        return (Row6) super.valuesRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Integer> field1() {
        return Employee.EMPLOYEE.PID;