diff options
author | Andres Freund | 2019-03-29 03:01:14 +0000 |
---|---|---|
committer | Andres Freund | 2019-03-29 03:01:43 +0000 |
commit | d25f519107bff602e1ebc81853fe592d020c118d (patch) | |
tree | 00cfff63480c0d555f372ba2e1866d6622740432 /src/backend/bootstrap/bootparse.y | |
parent | 7e69323bf72a924fd1b04a7a91da343a0cda91cf (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.y | 7 |
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 |