/** Master Information */
@javax.annotation.Generated(
    value = {"http://www.jooq.org", "jOOQ version:3.5.4"},
    comments = "This class is generated by jOOQ")
@java.lang.SuppressWarnings({"all", "unchecked", "rawtypes"})
public class SlaveMasterInfo
    extends org.jooq.impl.TableImpl<
        com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord> {

  private static final long serialVersionUID = -1917844042;

  /** The reference instance of <code>mysql.slave_master_info</code> */
  public static final com.davidm.mykindlenews.generated.jooq.mysql.tables.SlaveMasterInfo
      SLAVE_MASTER_INFO = new com.davidm.mykindlenews.generated.jooq.mysql.tables.SlaveMasterInfo();

  /** The class holding records for this type */
  @Override
  public java.lang.Class<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord>
      getRecordType() {
    return com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord.class;
  }

  /**
   * The column <code>mysql.slave_master_info.Number_of_lines</code>. Number of lines in the file.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          org.jooq.types.UInteger>
      NUMBER_OF_LINES =
          createField(
              "Number_of_lines",
              org.jooq.impl.SQLDataType.INTEGERUNSIGNED.nullable(false),
              this,
              "Number of lines in the file.");

  /**
   * The column <code>mysql.slave_master_info.Master_log_name</code>. The name of the master binary
   * log currently being read from the master.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      MASTER_LOG_NAME =
          createField(
              "Master_log_name",
              org.jooq.impl.SQLDataType.CLOB.length(65535).nullable(false),
              this,
              "The name of the master binary log currently being read from the master.");

  /**
   * The column <code>mysql.slave_master_info.Master_log_pos</code>. The master log position of the
   * last read event.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          org.jooq.types.ULong>
      MASTER_LOG_POS =
          createField(
              "Master_log_pos",
              org.jooq.impl.SQLDataType.BIGINTUNSIGNED.nullable(false),
              this,
              "The master log position of the last read event.");

  /** The column <code>mysql.slave_master_info.Host</code>. The host name of the master. */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      HOST =
          createField(
              "Host",
              org.jooq.impl.SQLDataType.CHAR.length(255).nullable(false).defaulted(true),
              this,
              "The host name of the master.");

  /**
   * The column <code>mysql.slave_master_info.User_name</code>. The user name used to connect to the
   * master.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      USER_NAME =
          createField(
              "User_name",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The user name used to connect to the master.");

  /**
   * The column <code>mysql.slave_master_info.User_password</code>. The password used to connect to
   * the master.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      USER_PASSWORD =
          createField(
              "User_password",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The password used to connect to the master.");

  /**
   * The column <code>mysql.slave_master_info.Port</code>. The network port used to connect to the
   * master.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          org.jooq.types.UInteger>
      PORT =
          createField(
              "Port",
              org.jooq.impl.SQLDataType.INTEGERUNSIGNED.nullable(false),
              this,
              "The network port used to connect to the master.");

  /**
   * The column <code>mysql.slave_master_info.Connect_retry</code>. The period (in seconds) that the
   * slave will wait before trying to reconnect to the master.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          org.jooq.types.UInteger>
      CONNECT_RETRY =
          createField(
              "Connect_retry",
              org.jooq.impl.SQLDataType.INTEGERUNSIGNED.nullable(false),
              this,
              "The period (in seconds) that the slave will wait before trying to reconnect to the master.");

  /**
   * The column <code>mysql.slave_master_info.Enabled_ssl</code>. Indicates whether the server
   * supports SSL connections.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.Byte>
      ENABLED_SSL =
          createField(
              "Enabled_ssl",
              org.jooq.impl.SQLDataType.TINYINT.nullable(false),
              this,
              "Indicates whether the server supports SSL connections.");

  /**
   * The column <code>mysql.slave_master_info.Ssl_ca</code>. The file used for the Certificate
   * Authority (CA) certificate.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      SSL_CA =
          createField(
              "Ssl_ca",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The file used for the Certificate Authority (CA) certificate.");

  /**
   * The column <code>mysql.slave_master_info.Ssl_capath</code>. The path to the Certificate
   * Authority (CA) certificates.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      SSL_CAPATH =
          createField(
              "Ssl_capath",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The path to the Certificate Authority (CA) certificates.");

  /**
   * The column <code>mysql.slave_master_info.Ssl_cert</code>. The name of the SSL certificate file.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      SSL_CERT =
          createField(
              "Ssl_cert",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The name of the SSL certificate file.");

  /**
   * The column <code>mysql.slave_master_info.Ssl_cipher</code>. The name of the cipher in use for
   * the SSL connection.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      SSL_CIPHER =
          createField(
              "Ssl_cipher",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The name of the cipher in use for the SSL connection.");

  /** The column <code>mysql.slave_master_info.Ssl_key</code>. The name of the SSL key file. */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      SSL_KEY =
          createField(
              "Ssl_key",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The name of the SSL key file.");

  /**
   * The column <code>mysql.slave_master_info.Ssl_verify_server_cert</code>. Whether to verify the
   * server certificate.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.Byte>
      SSL_VERIFY_SERVER_CERT =
          createField(
              "Ssl_verify_server_cert",
              org.jooq.impl.SQLDataType.TINYINT.nullable(false),
              this,
              "Whether to verify the server certificate.");

  /** The column <code>mysql.slave_master_info.Heartbeat</code>. */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.Double>
      HEARTBEAT =
          createField("Heartbeat", org.jooq.impl.SQLDataType.FLOAT.nullable(false), this, "");

  /**
   * The column <code>mysql.slave_master_info.Bind</code>. Displays which interface is employed when
   * connecting to the MySQL server
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      BIND =
          createField(
              "Bind",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "Displays which interface is employed when connecting to the MySQL server");

  /**
   * The column <code>mysql.slave_master_info.Ignored_server_ids</code>. The number of server IDs to
   * be ignored, followed by the actual server IDs
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      IGNORED_SERVER_IDS =
          createField(
              "Ignored_server_ids",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The number of server IDs to be ignored, followed by the actual server IDs");

  /** The column <code>mysql.slave_master_info.Uuid</code>. The master server uuid. */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      UUID =
          createField(
              "Uuid",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The master server uuid.");

  /**
   * The column <code>mysql.slave_master_info.Retry_count</code>. Number of reconnect attempts, to
   * the master, before giving up.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          org.jooq.types.ULong>
      RETRY_COUNT =
          createField(
              "Retry_count",
              org.jooq.impl.SQLDataType.BIGINTUNSIGNED.nullable(false),
              this,
              "Number of reconnect attempts, to the master, before giving up.");

  /**
   * The column <code>mysql.slave_master_info.Ssl_crl</code>. The file used for the Certificate
   * Revocation List (CRL)
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      SSL_CRL =
          createField(
              "Ssl_crl",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The file used for the Certificate Revocation List (CRL)");

  /**
   * The column <code>mysql.slave_master_info.Ssl_crlpath</code>. The path used for Certificate
   * Revocation List (CRL) files
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.String>
      SSL_CRLPATH =
          createField(
              "Ssl_crlpath",
              org.jooq.impl.SQLDataType.CLOB.length(65535),
              this,
              "The path used for Certificate Revocation List (CRL) files");

  /**
   * The column <code>mysql.slave_master_info.Enabled_auto_position</code>. Indicates whether GTIDs
   * will be used to retrieve events from the master.
   */
  public final org.jooq.TableField<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord,
          java.lang.Byte>
      ENABLED_AUTO_POSITION =
          createField(
              "Enabled_auto_position",
              org.jooq.impl.SQLDataType.TINYINT.nullable(false),
              this,
              "Indicates whether GTIDs will be used to retrieve events from the master.");

  /** Create a <code>mysql.slave_master_info</code> table reference */
  public SlaveMasterInfo() {
    this("slave_master_info", null);
  }

  /** Create an aliased <code>mysql.slave_master_info</code> table reference */
  public SlaveMasterInfo(java.lang.String alias) {
    this(
        alias,
        com.davidm.mykindlenews.generated.jooq.mysql.tables.SlaveMasterInfo.SLAVE_MASTER_INFO);
  }

  private SlaveMasterInfo(
      java.lang.String alias,
      org.jooq.Table<
              com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord>
          aliased) {
    this(alias, aliased, null);
  }

  private SlaveMasterInfo(
      java.lang.String alias,
      org.jooq.Table<
              com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord>
          aliased,
      org.jooq.Field<?>[] parameters) {
    super(
        alias,
        com.davidm.mykindlenews.generated.jooq.mysql.Mysql.MYSQL,
        aliased,
        parameters,
        "Master Information");
  }

  /** {@inheritDoc} */
  @Override
  public org.jooq.UniqueKey<
          com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord>
      getPrimaryKey() {
    return com.davidm.mykindlenews.generated.jooq.mysql.Keys.KEY_SLAVE_MASTER_INFO_PRIMARY;
  }

  /** {@inheritDoc} */
  @Override
  public java.util.List<
          org.jooq.UniqueKey<
              com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord>>
      getKeys() {
    return java.util.Arrays
        .<org.jooq.UniqueKey<
                com.davidm.mykindlenews.generated.jooq.mysql.tables.records.SlaveMasterInfoRecord>>
            asList(com.davidm.mykindlenews.generated.jooq.mysql.Keys.KEY_SLAVE_MASTER_INFO_PRIMARY);
  }

  /** {@inheritDoc} */
  @Override
  public com.davidm.mykindlenews.generated.jooq.mysql.tables.SlaveMasterInfo as(
      java.lang.String alias) {
    return new com.davidm.mykindlenews.generated.jooq.mysql.tables.SlaveMasterInfo(alias, this);
  }

  /** Rename this table */
  public com.davidm.mykindlenews.generated.jooq.mysql.tables.SlaveMasterInfo rename(
      java.lang.String name) {
    return new com.davidm.mykindlenews.generated.jooq.mysql.tables.SlaveMasterInfo(name, null);
  }
}
/** This class is generated by jOOQ. */
@javax.annotation.Generated(
    value = {"http://www.jooq.org", "jOOQ version:3.5.0"},
    comments = "This class is generated by jOOQ")
@java.lang.SuppressWarnings({"all", "unchecked", "rawtypes"})
public class Coupons
    extends org.jooq.impl.TableImpl<
        org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord> {

  private static final long serialVersionUID = -2146926277;

  /** The reference instance of <code>killbill.coupons</code> */
  public static final org.killbill.billing.plugin.coupon.dao.gen.tables.Coupons COUPONS =
      new org.killbill.billing.plugin.coupon.dao.gen.tables.Coupons();

  /** The class holding records for this type */
  @Override
  public java.lang.Class<org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord>
      getRecordType() {
    return org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord.class;
  }

  /** The column <code>killbill.coupons.record_id</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord,
          org.jooq.types.UInteger>
      RECORD_ID =
          createField(
              "record_id", org.jooq.impl.SQLDataType.INTEGERUNSIGNED.nullable(false), this, "");

  /** The column <code>killbill.coupons.coupon_code</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.String>
      COUPON_CODE =
          createField(
              "coupon_code",
              org.jooq.impl.SQLDataType.VARCHAR.length(36).nullable(false),
              this,
              "");

  /** The column <code>killbill.coupons.coupon_name</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.String>
      COUPON_NAME =
          createField(
              "coupon_name",
              org.jooq.impl.SQLDataType.VARCHAR.length(100).nullable(false),
              this,
              "");

  /** The column <code>killbill.coupons.discount_type</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.String>
      DISCOUNT_TYPE =
          createField(
              "discount_type",
              org.jooq.impl.SQLDataType.VARCHAR.length(15).nullable(false),
              this,
              "");

  /** The column <code>killbill.coupons.percentage_discount</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.Double>
      PERCENTAGE_DISCOUNT =
          createField(
              "percentage_discount", org.jooq.impl.SQLDataType.FLOAT.defaulted(true), this, "");

  /** The column <code>killbill.coupons.amount_discount</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.Double>
      AMOUNT_DISCOUNT =
          createField("amount_discount", org.jooq.impl.SQLDataType.FLOAT.defaulted(true), this, "");

  /** The column <code>killbill.coupons.amount_currency</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.String>
      AMOUNT_CURRENCY =
          createField("amount_currency", org.jooq.impl.SQLDataType.VARCHAR.length(3), this, "");

  /** The column <code>killbill.coupons.is_active</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.Byte>
      IS_ACTIVE =
          createField(
              "is_active",
              org.jooq.impl.SQLDataType.TINYINT.nullable(false).defaulted(true),
              this,
              "");

  /** The column <code>killbill.coupons.duration</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.String>
      DURATION =
          createField(
              "duration", org.jooq.impl.SQLDataType.VARCHAR.length(15).nullable(false), this, "");

  /** The column <code>killbill.coupons.number_of_invoices</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord,
          java.lang.Integer>
      NUMBER_OF_INVOICES =
          createField(
              "number_of_invoices", org.jooq.impl.SQLDataType.INTEGER.defaulted(true), this, "");

  /** The column <code>killbill.coupons.start_date</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.sql.Date>
      START_DATE =
          createField("start_date", org.jooq.impl.SQLDataType.DATE.nullable(false), this, "");

  /** The column <code>killbill.coupons.expiration_date</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.sql.Date>
      EXPIRATION_DATE = createField("expiration_date", org.jooq.impl.SQLDataType.DATE, this, "");

  /** The column <code>killbill.coupons.max_redemptions</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord,
          java.lang.Integer>
      MAX_REDEMPTIONS =
          createField(
              "max_redemptions", org.jooq.impl.SQLDataType.INTEGER.defaulted(true), this, "");

  /** The column <code>killbill.coupons.kb_tenant_id</code>. */
  public final org.jooq.TableField<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord, java.lang.String>
      KB_TENANT_ID =
          createField(
              "kb_tenant_id", org.jooq.impl.SQLDataType.CHAR.length(36).nullable(false), this, "");

  /** Create a <code>killbill.coupons</code> table reference */
  public Coupons() {
    this("coupons", null);
  }

  /** Create an aliased <code>killbill.coupons</code> table reference */
  public Coupons(java.lang.String alias) {
    this(alias, org.killbill.billing.plugin.coupon.dao.gen.tables.Coupons.COUPONS);
  }

  private Coupons(
      java.lang.String alias,
      org.jooq.Table<org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord>
          aliased) {
    this(alias, aliased, null);
  }

  private Coupons(
      java.lang.String alias,
      org.jooq.Table<org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord>
          aliased,
      org.jooq.Field<?>[] parameters) {
    super(
        alias,
        org.killbill.billing.plugin.coupon.dao.gen.Killbill.KILLBILL,
        aliased,
        parameters,
        "");
  }

  /** {@inheritDoc} */
  @Override
  public org.jooq.Identity<
          org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord,
          org.jooq.types.UInteger>
      getIdentity() {
    return org.killbill.billing.plugin.coupon.dao.gen.Keys.IDENTITY_COUPONS;
  }

  /** {@inheritDoc} */
  @Override
  public org.jooq.UniqueKey<org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord>
      getPrimaryKey() {
    return org.killbill.billing.plugin.coupon.dao.gen.Keys.KEY_COUPONS_PRIMARY;
  }

  /** {@inheritDoc} */
  @Override
  public java.util.List<
          org.jooq.UniqueKey<
              org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord>>
      getKeys() {
    return java.util.Arrays
        .<org.jooq.UniqueKey<
                org.killbill.billing.plugin.coupon.dao.gen.tables.records.CouponsRecord>>
            asList(
                org.killbill.billing.plugin.coupon.dao.gen.Keys.KEY_COUPONS_PRIMARY,
                org.killbill.billing.plugin.coupon.dao.gen.Keys.KEY_COUPONS_COUPONS_CODE);
  }

  /** {@inheritDoc} */
  @Override
  public org.killbill.billing.plugin.coupon.dao.gen.tables.Coupons as(java.lang.String alias) {
    return new org.killbill.billing.plugin.coupon.dao.gen.tables.Coupons(alias, this);
  }

  /** Rename this table */
  public org.killbill.billing.plugin.coupon.dao.gen.tables.Coupons rename(java.lang.String name) {
    return new org.killbill.billing.plugin.coupon.dao.gen.tables.Coupons(name, null);
  }
}