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


import ervu_secret.ervu_secret.db_beans.pg_catalog.PgCatalog;

import java.math.BigDecimal;
import java.sql.Timestamp;

import org.jooq.Parameter;
import org.jooq.impl.AbstractRoutine;
import org.jooq.impl.Internal;
import org.jooq.impl.SQLDataType;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class PgStatGetWal extends AbstractRoutine<java.lang.Void> {

    private static final long serialVersionUID = 1L;

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.wal_records</code>.
     */
    public static final Parameter<Long> WAL_RECORDS = Internal.createParameter("wal_records", SQLDataType.BIGINT, false, false);

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.wal_fpi</code>.
     */
    public static final Parameter<Long> WAL_FPI = Internal.createParameter("wal_fpi", SQLDataType.BIGINT, false, false);

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.wal_bytes</code>.
     */
    public static final Parameter<BigDecimal> WAL_BYTES = Internal.createParameter("wal_bytes", SQLDataType.NUMERIC, false, false);

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.wal_buffers_full</code>.
     */
    public static final Parameter<Long> WAL_BUFFERS_FULL = Internal.createParameter("wal_buffers_full", SQLDataType.BIGINT, false, false);

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.wal_write</code>.
     */
    public static final Parameter<Long> WAL_WRITE = Internal.createParameter("wal_write", SQLDataType.BIGINT, false, false);

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.wal_sync</code>.
     */
    public static final Parameter<Long> WAL_SYNC = Internal.createParameter("wal_sync", SQLDataType.BIGINT, false, false);

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.wal_write_time</code>.
     */
    public static final Parameter<Double> WAL_WRITE_TIME = Internal.createParameter("wal_write_time", SQLDataType.DOUBLE, false, false);

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.wal_sync_time</code>.
     */
    public static final Parameter<Double> WAL_SYNC_TIME = Internal.createParameter("wal_sync_time", SQLDataType.DOUBLE, false, false);

    /**
     * The parameter <code>pg_catalog.pg_stat_get_wal.stats_reset</code>.
     */
    public static final Parameter<Timestamp> STATS_RESET = Internal.createParameter("stats_reset", SQLDataType.TIMESTAMP(0), false, false);

    /**
     * Create a new routine call instance
     */
    public PgStatGetWal() {
        super("pg_stat_get_wal", PgCatalog.PG_CATALOG);

        addOutParameter(WAL_RECORDS);
        addOutParameter(WAL_FPI);
        addOutParameter(WAL_BYTES);
        addOutParameter(WAL_BUFFERS_FULL);
        addOutParameter(WAL_WRITE);
        addOutParameter(WAL_SYNC);
        addOutParameter(WAL_WRITE_TIME);
        addOutParameter(WAL_SYNC_TIME);
        addOutParameter(STATS_RESET);
    }

    /**
     * Get the <code>wal_records</code> parameter OUT value from the routine
     */
    public Long getWalRecords() {
        return get(WAL_RECORDS);
    }

    /**
     * Get the <code>wal_fpi</code> parameter OUT value from the routine
     */
    public Long getWalFpi() {
        return get(WAL_FPI);
    }

    /**
     * Get the <code>wal_bytes</code> parameter OUT value from the routine
     */
    public BigDecimal getWalBytes() {
        return get(WAL_BYTES);
    }

    /**
     * Get the <code>wal_buffers_full</code> parameter OUT value from the
     * routine
     */
    public Long getWalBuffersFull() {
        return get(WAL_BUFFERS_FULL);
    }

    /**
     * Get the <code>wal_write</code> parameter OUT value from the routine
     */
    public Long getWalWrite() {
        return get(WAL_WRITE);
    }

    /**
     * Get the <code>wal_sync</code> parameter OUT value from the routine
     */
    public Long getWalSync() {
        return get(WAL_SYNC);
    }

    /**
     * Get the <code>wal_write_time</code> parameter OUT value from the routine
     */
    public Double getWalWriteTime() {
        return get(WAL_WRITE_TIME);
    }

    /**
     * Get the <code>wal_sync_time</code> parameter OUT value from the routine
     */
    public Double getWalSyncTime() {
        return get(WAL_SYNC_TIME);
    }

    /**
     * Get the <code>stats_reset</code> parameter OUT value from the routine
     */
    public Timestamp getStatsReset() {
        return get(STATS_RESET);
    }
}
