mirror of https://github.com/citusdata/citus.git
Introduces macros for vacuum options
VacOptTernaryValue enum is renamed to VacOptValue. In the enum there were three values, VACOPT_TERNARY_DEFAULT, VACOPT_TERNARY_DISABLED, and VACOPT_TERNARY_ENABLED Now there are four values VACOPTVALUE_UNSPECIFIED, VACOPTVALUE_AUTO, VACOPTVALUE_DISABLED, and VACOPTVALUE_ENABLED New macros are VacOptValue_compat, VACOPTVALUE_UNSPECIFIED_COMPAT, VACOPTVALUE_DISABLED_COMPAT, and VACOPTVALUE_ENABLED_COMPAT The VACOPTVALUE_UNSPECIFIED_COMPAT matches VACOPT_TERNARY_DEFAULT and VACOPTVALUE_UNSPECIFIED. And there are no macro for VACOPTVALUE_AUTO. Relevant PG commit: 3499df0dee8c4ea51d264a674df5b5e31991319apull/5209/head
parent
ebf1b7e23f
commit
37ae22ce3e
|
@ -966,7 +966,7 @@ columnar_vacuum_rel(Relation rel, VacuumParams *params,
|
|||
int elevel = (params->options & VACOPT_VERBOSE) ? INFO : DEBUG2;
|
||||
|
||||
/* this should have been resolved by vacuum.c until now */
|
||||
Assert(params->truncate != VACOPT_TERNARY_DEFAULT);
|
||||
Assert(params->truncate != VACOPTVALUE_UNSPECIFIED);
|
||||
|
||||
LogRelationStats(rel, elevel);
|
||||
|
||||
|
@ -974,7 +974,7 @@ columnar_vacuum_rel(Relation rel, VacuumParams *params,
|
|||
* We don't have updates, deletes, or concurrent updates, so all we
|
||||
* care for now is truncating the unused space at the end of storage.
|
||||
*/
|
||||
if (params->truncate == VACOPT_TERNARY_ENABLED)
|
||||
if (params->truncate == VACOPTVALUE_ENABLED)
|
||||
{
|
||||
TruncateColumnar(rel, elevel);
|
||||
}
|
||||
|
|
|
@ -39,8 +39,8 @@
|
|||
typedef struct CitusVacuumParams
|
||||
{
|
||||
int options;
|
||||
VacOptTernaryValue truncate;
|
||||
VacOptTernaryValue index_cleanup;
|
||||
VacOptValue truncate;
|
||||
VacOptValue index_cleanup;
|
||||
|
||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||
int nworkers;
|
||||
|
@ -346,8 +346,8 @@ DeparseVacuumStmtPrefix(CitusVacuumParams vacuumParams)
|
|||
|
||||
/* if no flags remain, exit early */
|
||||
if (vacuumFlags == 0 &&
|
||||
vacuumParams.truncate == VACOPT_TERNARY_DEFAULT &&
|
||||
vacuumParams.index_cleanup == VACOPT_TERNARY_DEFAULT
|
||||
vacuumParams.truncate == VACOPTVALUE_UNSPECIFIED &&
|
||||
vacuumParams.index_cleanup == VACOPTVALUE_UNSPECIFIED
|
||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||
&& vacuumParams.nworkers == VACUUM_PARALLEL_NOTSET
|
||||
#endif
|
||||
|
@ -389,18 +389,18 @@ DeparseVacuumStmtPrefix(CitusVacuumParams vacuumParams)
|
|||
appendStringInfoString(vacuumPrefix, "SKIP_LOCKED,");
|
||||
}
|
||||
|
||||
if (vacuumParams.truncate != VACOPT_TERNARY_DEFAULT)
|
||||
if (vacuumParams.truncate != VACOPTVALUE_UNSPECIFIED)
|
||||
{
|
||||
appendStringInfoString(vacuumPrefix,
|
||||
vacuumParams.truncate == VACOPT_TERNARY_ENABLED ?
|
||||
vacuumParams.truncate == VACOPTVALUE_ENABLED ?
|
||||
"TRUNCATE," : "TRUNCATE false,"
|
||||
);
|
||||
}
|
||||
|
||||
if (vacuumParams.index_cleanup != VACOPT_TERNARY_DEFAULT)
|
||||
if (vacuumParams.index_cleanup != VACOPTVALUE_UNSPECIFIED)
|
||||
{
|
||||
appendStringInfoString(vacuumPrefix,
|
||||
vacuumParams.index_cleanup == VACOPT_TERNARY_ENABLED ?
|
||||
vacuumParams.index_cleanup == VACOPTVALUE_ENABLED ?
|
||||
"INDEX_CLEANUP," : "INDEX_CLEANUP false,"
|
||||
);
|
||||
}
|
||||
|
@ -506,8 +506,8 @@ VacuumStmtParams(VacuumStmt *vacstmt)
|
|||
bool disable_page_skipping = false;
|
||||
|
||||
/* Set default value */
|
||||
params.index_cleanup = VACOPT_TERNARY_DEFAULT;
|
||||
params.truncate = VACOPT_TERNARY_DEFAULT;
|
||||
params.index_cleanup = VACOPTVALUE_UNSPECIFIED;
|
||||
params.truncate = VACOPTVALUE_UNSPECIFIED;
|
||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||
params.nworkers = VACUUM_PARALLEL_NOTSET;
|
||||
#endif
|
||||
|
@ -551,13 +551,13 @@ VacuumStmtParams(VacuumStmt *vacstmt)
|
|||
}
|
||||
else if (strcmp(opt->defname, "index_cleanup") == 0)
|
||||
{
|
||||
params.index_cleanup = defGetBoolean(opt) ? VACOPT_TERNARY_ENABLED :
|
||||
VACOPT_TERNARY_DISABLED;
|
||||
params.index_cleanup = defGetBoolean(opt) ? VACOPTVALUE_ENABLED :
|
||||
VACOPTVALUE_DISABLED;
|
||||
}
|
||||
else if (strcmp(opt->defname, "truncate") == 0)
|
||||
{
|
||||
params.truncate = defGetBoolean(opt) ? VACOPT_TERNARY_ENABLED :
|
||||
VACOPT_TERNARY_DISABLED;
|
||||
params.truncate = defGetBoolean(opt) ? VACOPTVALUE_ENABLED :
|
||||
VACOPTVALUE_DISABLED;
|
||||
}
|
||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||
else if (strcmp(opt->defname, "parallel") == 0)
|
||||
|
|
|
@ -43,6 +43,10 @@
|
|||
#define FuncnameGetCandidates_compat(a, b, c, d, e, f, g) \
|
||||
FuncnameGetCandidates(a, b, c, d, e, f, g)
|
||||
#define expand_function_arguments_compat(a, b, c, d) expand_function_arguments(a, b, c, d)
|
||||
#define VacOptValue_compat VacOptValue
|
||||
#define VACOPTVALUE_UNSPECIFIED_COMPAT VACOPTVALUE_UNSPECIFIED
|
||||
#define VACOPTVALUE_DISABLED_COMPAT VACOPTVALUE_DISABLED
|
||||
#define VACOPTVALUE_ENABLED_COMPAT VACOPTVALUE_ENABLED
|
||||
#else
|
||||
#define AlterTableStmtObjType(a) ((a)->relkind)
|
||||
#define F_NEXTVAL_COMPAT F_NEXTVAL_OID
|
||||
|
@ -56,6 +60,10 @@
|
|||
#define FuncnameGetCandidates_compat(a, b, c, d, e, f, g) \
|
||||
FuncnameGetCandidates(a, b, c, d, e, g)
|
||||
#define expand_function_arguments_compat(a, b, c, d) expand_function_arguments(a, c, d)
|
||||
#define VacOptValue_compat VacOptTernaryValue
|
||||
#define VACOPTVALUE_UNSPECIFIED_COMPAT VACOPT_TERNARY_DEFAULT
|
||||
#define VACOPTVALUE_DISABLED_COMPAT VACOPT_TERNARY_DISABLED
|
||||
#define VACOPTVALUE_ENABLED_COMPAT VACOPT_TERNARY_ENABLED
|
||||
#endif
|
||||
|
||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||
|
|
Loading…
Reference in New Issue