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;
|
int elevel = (params->options & VACOPT_VERBOSE) ? INFO : DEBUG2;
|
||||||
|
|
||||||
/* this should have been resolved by vacuum.c until now */
|
/* this should have been resolved by vacuum.c until now */
|
||||||
Assert(params->truncate != VACOPT_TERNARY_DEFAULT);
|
Assert(params->truncate != VACOPTVALUE_UNSPECIFIED);
|
||||||
|
|
||||||
LogRelationStats(rel, elevel);
|
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
|
* 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.
|
* 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);
|
TruncateColumnar(rel, elevel);
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,8 +39,8 @@
|
||||||
typedef struct CitusVacuumParams
|
typedef struct CitusVacuumParams
|
||||||
{
|
{
|
||||||
int options;
|
int options;
|
||||||
VacOptTernaryValue truncate;
|
VacOptValue truncate;
|
||||||
VacOptTernaryValue index_cleanup;
|
VacOptValue index_cleanup;
|
||||||
|
|
||||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||||
int nworkers;
|
int nworkers;
|
||||||
|
@ -346,8 +346,8 @@ DeparseVacuumStmtPrefix(CitusVacuumParams vacuumParams)
|
||||||
|
|
||||||
/* if no flags remain, exit early */
|
/* if no flags remain, exit early */
|
||||||
if (vacuumFlags == 0 &&
|
if (vacuumFlags == 0 &&
|
||||||
vacuumParams.truncate == VACOPT_TERNARY_DEFAULT &&
|
vacuumParams.truncate == VACOPTVALUE_UNSPECIFIED &&
|
||||||
vacuumParams.index_cleanup == VACOPT_TERNARY_DEFAULT
|
vacuumParams.index_cleanup == VACOPTVALUE_UNSPECIFIED
|
||||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||||
&& vacuumParams.nworkers == VACUUM_PARALLEL_NOTSET
|
&& vacuumParams.nworkers == VACUUM_PARALLEL_NOTSET
|
||||||
#endif
|
#endif
|
||||||
|
@ -389,18 +389,18 @@ DeparseVacuumStmtPrefix(CitusVacuumParams vacuumParams)
|
||||||
appendStringInfoString(vacuumPrefix, "SKIP_LOCKED,");
|
appendStringInfoString(vacuumPrefix, "SKIP_LOCKED,");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vacuumParams.truncate != VACOPT_TERNARY_DEFAULT)
|
if (vacuumParams.truncate != VACOPTVALUE_UNSPECIFIED)
|
||||||
{
|
{
|
||||||
appendStringInfoString(vacuumPrefix,
|
appendStringInfoString(vacuumPrefix,
|
||||||
vacuumParams.truncate == VACOPT_TERNARY_ENABLED ?
|
vacuumParams.truncate == VACOPTVALUE_ENABLED ?
|
||||||
"TRUNCATE," : "TRUNCATE false,"
|
"TRUNCATE," : "TRUNCATE false,"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vacuumParams.index_cleanup != VACOPT_TERNARY_DEFAULT)
|
if (vacuumParams.index_cleanup != VACOPTVALUE_UNSPECIFIED)
|
||||||
{
|
{
|
||||||
appendStringInfoString(vacuumPrefix,
|
appendStringInfoString(vacuumPrefix,
|
||||||
vacuumParams.index_cleanup == VACOPT_TERNARY_ENABLED ?
|
vacuumParams.index_cleanup == VACOPTVALUE_ENABLED ?
|
||||||
"INDEX_CLEANUP," : "INDEX_CLEANUP false,"
|
"INDEX_CLEANUP," : "INDEX_CLEANUP false,"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -506,8 +506,8 @@ VacuumStmtParams(VacuumStmt *vacstmt)
|
||||||
bool disable_page_skipping = false;
|
bool disable_page_skipping = false;
|
||||||
|
|
||||||
/* Set default value */
|
/* Set default value */
|
||||||
params.index_cleanup = VACOPT_TERNARY_DEFAULT;
|
params.index_cleanup = VACOPTVALUE_UNSPECIFIED;
|
||||||
params.truncate = VACOPT_TERNARY_DEFAULT;
|
params.truncate = VACOPTVALUE_UNSPECIFIED;
|
||||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||||
params.nworkers = VACUUM_PARALLEL_NOTSET;
|
params.nworkers = VACUUM_PARALLEL_NOTSET;
|
||||||
#endif
|
#endif
|
||||||
|
@ -551,13 +551,13 @@ VacuumStmtParams(VacuumStmt *vacstmt)
|
||||||
}
|
}
|
||||||
else if (strcmp(opt->defname, "index_cleanup") == 0)
|
else if (strcmp(opt->defname, "index_cleanup") == 0)
|
||||||
{
|
{
|
||||||
params.index_cleanup = defGetBoolean(opt) ? VACOPT_TERNARY_ENABLED :
|
params.index_cleanup = defGetBoolean(opt) ? VACOPTVALUE_ENABLED :
|
||||||
VACOPT_TERNARY_DISABLED;
|
VACOPTVALUE_DISABLED;
|
||||||
}
|
}
|
||||||
else if (strcmp(opt->defname, "truncate") == 0)
|
else if (strcmp(opt->defname, "truncate") == 0)
|
||||||
{
|
{
|
||||||
params.truncate = defGetBoolean(opt) ? VACOPT_TERNARY_ENABLED :
|
params.truncate = defGetBoolean(opt) ? VACOPTVALUE_ENABLED :
|
||||||
VACOPT_TERNARY_DISABLED;
|
VACOPTVALUE_DISABLED;
|
||||||
}
|
}
|
||||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||||
else if (strcmp(opt->defname, "parallel") == 0)
|
else if (strcmp(opt->defname, "parallel") == 0)
|
||||||
|
|
|
@ -43,6 +43,10 @@
|
||||||
#define FuncnameGetCandidates_compat(a, b, c, d, e, f, g) \
|
#define FuncnameGetCandidates_compat(a, b, c, d, e, f, g) \
|
||||||
FuncnameGetCandidates(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 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
|
#else
|
||||||
#define AlterTableStmtObjType(a) ((a)->relkind)
|
#define AlterTableStmtObjType(a) ((a)->relkind)
|
||||||
#define F_NEXTVAL_COMPAT F_NEXTVAL_OID
|
#define F_NEXTVAL_COMPAT F_NEXTVAL_OID
|
||||||
|
@ -56,6 +60,10 @@
|
||||||
#define FuncnameGetCandidates_compat(a, b, c, d, e, f, g) \
|
#define FuncnameGetCandidates_compat(a, b, c, d, e, f, g) \
|
||||||
FuncnameGetCandidates(a, b, c, d, e, g)
|
FuncnameGetCandidates(a, b, c, d, e, g)
|
||||||
#define expand_function_arguments_compat(a, b, c, d) expand_function_arguments(a, c, d)
|
#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
|
#endif
|
||||||
|
|
||||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||||
|
|
Loading…
Reference in New Issue