summaryrefslogtreecommitdiff
path: root/src/backend/bootstrap/bootparse.y
diff options
context:
space:
mode:
authorAndres Freund2019-03-29 03:01:14 +0000
committerAndres Freund2019-03-29 03:01:43 +0000
commitd25f519107bff602e1ebc81853fe592d020c118d (patch)
tree00cfff63480c0d555f372ba2e1866d6622740432 /src/backend/bootstrap/bootparse.y
parent7e69323bf72a924fd1b04a7a91da343a0cda91cf (diff)
tableam: relation creation, VACUUM FULL/CLUSTER, SET TABLESPACE.
This moves the responsibility for: - creating the storage necessary for a relation, including creating a new relfilenode for a relation with existing storage - non-transactional truncation of a relation - VACUUM FULL / CLUSTER's rewrite of a table below tableam. This is fairly straight forward, with a bit of complexity smattered in to move the computation of xid / multixid horizons below the AM, as they don't make sense for every table AM. Author: Andres Freund Discussion: https://postgr.es/m/[email protected]
Diffstat (limited to 'src/backend/bootstrap/bootparse.y')
-rw-r--r--src/backend/bootstrap/bootparse.y7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y
index fef6e7c3dc4..6d7e11645d2 100644
--- a/src/backend/bootstrap/bootparse.y
+++ b/src/backend/bootstrap/bootparse.y
@@ -209,6 +209,9 @@ Boot_CreateStmt:
if ($4)
{
+ TransactionId relfrozenxid;
+ MultiXactId relminmxid;
+
if (boot_reldesc)
{
elog(DEBUG4, "create bootstrap: warning, open relation exists, closing first");
@@ -226,7 +229,9 @@ Boot_CreateStmt:
RELPERSISTENCE_PERMANENT,
shared_relation,
mapped_relation,
- true);
+ true,
+ &relfrozenxid,
+ &relminmxid);
elog(DEBUG4, "bootstrap relation created");
}
else