This is an automated email from the ASF dual-hosted git repository.
chenjinbao1989 pushed a commit to branch cbdb-postgres-merge
in repository https://gitbox.apache.org/repos/asf/cloudberry.git
The following commit(s) were added to refs/heads/cbdb-postgres-merge by this
push:
new 12a95b2f30d Enable vacuum command
12a95b2f30d is described below
commit 12a95b2f30df5db620fd995b42681d0f47f84bcf
Author: Jinbao Chen <[email protected]>
AuthorDate: Wed Oct 29 22:01:06 2025 +0800
Enable vacuum command
---
src/backend/commands/vacuum.c | 23 ++++++++---------------
src/bin/initdb/initdb.c | 16 ++++++++--------
2 files changed, 16 insertions(+), 23 deletions(-)
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index 42d8aff5182..936aa9bcda9 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -2272,21 +2272,9 @@ vac_update_datfrozenxid(void)
newMinMulti = dbform->datminmxid;
if (dirty)
- {
- /*
- * GPDB_14_MERGE_FIXME
- * Remove some codes(fetch_database_tuple) from GPDB upstream.
- * Check if pg upstream has already fixed it or check from GPDB
- *
https://github.com/greenplum-db/gpdb/commit/373e676de819fc0cdadfb59d35d9279abe3d11d9
- */
-
- heap_inplace_update(relation, tuple);
-#ifdef FAULT_INJECTOR
- FaultInjector_InjectFaultIfSet(
- "vacuum_update_dat_frozen_xid", DDLNotSpecified,
- NameStr(dbform->datname), "");
-#endif
- }
+ systable_inplace_update_finish(inplace_state, tuple);
+ else
+ systable_inplace_update_cancel(inplace_state);
heap_freetuple(tuple);
table_close(relation, RowExclusiveLock);
@@ -3413,6 +3401,11 @@ vacuum_params_to_options_list(VacuumParams *params)
options = lappend(options, makeDefElem("skip_locked", (Node *)
makeInteger(1), -1));
optmask &= ~VACOPT_SKIP_LOCKED;
}
+ if (optmask & VACOPT_PROCESS_MAIN)
+ {
+ options = lappend(options, makeDefElem("process_main", (Node *)
makeInteger(1), -1));
+ optmask &= ~VACOPT_PROCESS_MAIN;
+ }
if (optmask & VACOPT_PROCESS_TOAST)
{
/* GPDB_14_MERGE_FIXME: skip_toast is replaced by
process_toast, need to check */
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 5278d4c02bc..893965a2a2e 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -302,7 +302,7 @@ static void setup_schema(FILE *cmdfd);
static void setup_cdb_schema(FILE *cmdfd);
static void setup_password_history(FILE *cmdfd);
//static void load_plpgsql(FILE *cmdfd);
-//static void vacuum_db(FILE *cmdfd);
+static void vacuum_db(FILE *cmdfd);
static void make_template0(FILE *cmdfd);
static void make_postgres(FILE *cmdfd);
static void trapsig(SIGNAL_ARGS);
@@ -2174,12 +2174,12 @@ load_exttable(FILE *cmdfd)
/*
* clean everything up in template1
*/
-//static void
-//vacuum_db(FILE *cmdfd)
-//{
-// /* Run analyze before VACUUM so the statistics are frozen. */
-// PG_CMD_PUTS("ANALYZE;\n\nVACUUM FREEZE;\n\n");
-//}
+static void
+vacuum_db(FILE *cmdfd)
+{
+ /* Run analyze before VACUUM so the statistics are frozen. */
+ PG_CMD_PUTS("ANALYZE;\n\nVACUUM FREEZE;\n\n");
+}
/*
* copy template1 to template0
@@ -3423,7 +3423,7 @@ initialize_data_directory(void)
/* sets up the Apache Cloudberry admin schema */
setup_cdb_schema(cmdfd);
-// vacuum_db(cmdfd);
+ vacuum_db(cmdfd);
make_template0(cmdfd);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]