Go to the source code of this file.
◆ ANALYZE_NO_STAGE
| #define ANALYZE_NO_STAGE -1 |
◆ ANALYZE_NUM_STAGES
| #define ANALYZE_NUM_STAGES 3 |
◆ OBJFILTER_ALL_DBS
| #define OBJFILTER_ALL_DBS 0x01 /* --all */ |
◆ OBJFILTER_DATABASE
| #define OBJFILTER_DATABASE 0x02 /* --dbname */ |
◆ OBJFILTER_SCHEMA
| #define OBJFILTER_SCHEMA 0x08 /* --schema */ |
◆ OBJFILTER_SCHEMA_EXCLUDE
| #define OBJFILTER_SCHEMA_EXCLUDE 0x10 /* --exclude-schema */ |
◆ OBJFILTER_TABLE
| #define OBJFILTER_TABLE 0x04 /* --table */ |
◆ vacuumingOptions
◆ RunMode
| Enumerator |
|---|
| MODE_VACUUM | |
| MODE_ANALYZE | |
| MODE_ANALYZE_IN_STAGES | |
Definition at line 20 of file vacuuming.h.
◆ escape_quotes()
| char * escape_quotes |
( |
const char * |
src | ) |
|
◆ vacuuming_main()
| int vacuuming_main |
( |
ConnParams * |
cparams, |
|
|
const char * |
dbname, |
|
|
const char * |
maintenance_db, |
|
|
vacuumingOptions * |
vacopts, |
|
|
SimpleStringList * |
objects, |
|
|
unsigned int |
tbl_count, |
|
|
int |
concurrentCons, |
|
|
const char * |
progname |
|
) |
| |
Definition at line 55 of file vacuuming.c.
60{
62
63
64 if (tbl_count > 0 && (concurrentCons > tbl_count))
65 concurrentCons = tbl_count;
66
68 {
69 cparams->
dbname = maintenance_db;
70
72 objects,
73 concurrentCons,
75 }
76 else
77 {
79 {
80 if (getenv("PGDATABASE"))
81 dbname = getenv(
"PGDATABASE");
82 else if (getenv("PGUSER"))
84 else
86 }
87
89
91 {
93
95 {
96 int ret;
97
99 stage,
100 objects,
102 concurrentCons,
104 if (ret != 0)
105 {
107 return ret;
108 }
109 }
110
113 }
114 else
117 objects, NULL,
118 concurrentCons,
120 }
121}
void setup_cancel_handler(void(*query_cancel_callback)(void))
const char * get_user_name_or_exit(const char *progname)
static int vacuum_all_databases(ConnParams *cparams, vacuumingOptions *vacopts, SimpleStringList *objects, int concurrentCons, const char *progname)
static int vacuum_one_database(ConnParams *cparams, vacuumingOptions *vacopts, int stage, SimpleStringList *objects, SimpleStringList **found_objs, int concurrentCons, const char *progname)
static void free_retrieved_objects(SimpleStringList *list)
#define OBJFILTER_ALL_DBS
#define ANALYZE_NUM_STAGES
References ANALYZE_NO_STAGE, ANALYZE_NUM_STAGES, dbname, _connParams::dbname, EXIT_SUCCESS, free_retrieved_objects(), get_user_name_or_exit(), vacuumingOptions::missing_stats_only, vacuumingOptions::mode, MODE_ANALYZE_IN_STAGES, vacuumingOptions::objfilter, OBJFILTER_ALL_DBS, progname, setup_cancel_handler(), vacuum_all_databases(), and vacuum_one_database().
Referenced by main().