/**
 * This class is generated by jOOQ
 */
package org.jooq.meta.cubrid.dba.tables;

/**
 * This class is generated by jOOQ.
 */
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DbAttribute extends org.jooq.impl.TableImpl<org.jooq.Record> {

	private static final long serialVersionUID = -737420802;

	/**
	 * The singleton instance of <code>db_attribute</code>
	 */
	public static final org.jooq.meta.cubrid.dba.tables.DbAttribute DB_ATTRIBUTE = new org.jooq.meta.cubrid.dba.tables.DbAttribute();

	/**
	 * The class holding records for this type
	 */
	@Override
	public java.lang.Class<org.jooq.Record> getRecordType() {
		return org.jooq.Record.class;
	}

	/**
	 * The column <code>db_attribute.attr_name</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> ATTR_NAME = createField("attr_name", org.jooq.impl.SQLDataType.VARCHAR.length(255), this, "");

	/**
	 * The column <code>db_attribute.class_name</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> CLASS_NAME = createField("class_name", org.jooq.impl.SQLDataType.VARCHAR.length(255), this, "");

	/**
	 * The column <code>db_attribute.attr_type</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> ATTR_TYPE = createField("attr_type", org.jooq.impl.SQLDataType.VARCHAR.length(8), this, "");

	/**
	 * The column <code>db_attribute.def_order</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.Integer> DEF_ORDER = createField("def_order", org.jooq.impl.SQLDataType.INTEGER, this, "");

	/**
	 * The column <code>db_attribute.from_class_name</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> FROM_CLASS_NAME = createField("from_class_name", org.jooq.impl.SQLDataType.VARCHAR.length(255), this, "");

	/**
	 * The column <code>db_attribute.from_attr_name</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> FROM_ATTR_NAME = createField("from_attr_name", org.jooq.impl.SQLDataType.VARCHAR.length(255), this, "");

	/**
	 * The column <code>db_attribute.data_type</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> DATA_TYPE = createField("data_type", org.jooq.impl.SQLDataType.VARCHAR.length(9), this, "");

	/**
	 * The column <code>db_attribute.prec</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.Integer> PREC = createField("prec", org.jooq.impl.SQLDataType.INTEGER, this, "");

	/**
	 * The column <code>db_attribute.scale</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.Integer> SCALE = createField("scale", org.jooq.impl.SQLDataType.INTEGER, this, "");

	/**
	 * The column <code>db_attribute.code_set</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.Integer> CODE_SET = createField("code_set", org.jooq.impl.SQLDataType.INTEGER, this, "");

	/**
	 * The column <code>db_attribute.domain_class_name</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> DOMAIN_CLASS_NAME = createField("domain_class_name", org.jooq.impl.SQLDataType.VARCHAR.length(255), this, "");

	/**
	 * The column <code>db_attribute.default_value</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> DEFAULT_VALUE = createField("default_value", org.jooq.impl.SQLDataType.VARCHAR.length(255), this, "");

	/**
	 * The column <code>db_attribute.is_nullable</code>.
	 */
	public final org.jooq.TableField<org.jooq.Record, java.lang.String> IS_NULLABLE = createField("is_nullable", org.jooq.impl.SQLDataType.VARCHAR.length(3), this, "");

	/**
	 * Create a <code>db_attribute</code> table reference
	 */
	public DbAttribute() {
		this("db_attribute", null);
	}

	/**
	 * Create an aliased <code>db_attribute</code> table reference
	 */
	public DbAttribute(java.lang.String alias) {
		this(alias, org.jooq.meta.cubrid.dba.tables.DbAttribute.DB_ATTRIBUTE);
	}

	private DbAttribute(java.lang.String alias, org.jooq.Table<org.jooq.Record> aliased) {
		this(alias, aliased, null);
	}

	private DbAttribute(java.lang.String alias, org.jooq.Table<org.jooq.Record> aliased, org.jooq.Field<?>[] parameters) {
		super(alias, org.jooq.meta.cubrid.dba.DefaultSchema.DEFAULT_SCHEMA, aliased, parameters, "");
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public org.jooq.meta.cubrid.dba.tables.DbAttribute as(java.lang.String alias) {
		return new org.jooq.meta.cubrid.dba.tables.DbAttribute(alias, this);
	}

	/**
	 * Rename this table
	 */
	public org.jooq.meta.cubrid.dba.tables.DbAttribute rename(java.lang.String name) {
		return new org.jooq.meta.cubrid.dba.tables.DbAttribute(name, null);
	}
}
