aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/dbcommands.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/dbcommands.c')
-rw-r--r--src/backend/commands/dbcommands.c108
1 files changed, 54 insertions, 54 deletions
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c
index f2691684010..1901b434c58 100644
--- a/src/backend/commands/dbcommands.c
+++ b/src/backend/commands/dbcommands.c
@@ -101,7 +101,7 @@ typedef struct
*/
typedef struct CreateDBRelInfo
{
- RelFileNode rnode; /* physical relation identifier */
+ RelFileLocator rlocator; /* physical relation identifier */
Oid reloid; /* relation oid */
bool permanent; /* relation is permanent or unlogged */
} CreateDBRelInfo;
@@ -127,7 +127,7 @@ static void CreateDatabaseUsingWalLog(Oid src_dboid, Oid dboid, Oid src_tsid,
static List *ScanSourceDatabasePgClass(Oid srctbid, Oid srcdbid, char *srcpath);
static List *ScanSourceDatabasePgClassPage(Page page, Buffer buf, Oid tbid,
Oid dbid, char *srcpath,
- List *rnodelist, Snapshot snapshot);
+ List *rlocatorlist, Snapshot snapshot);
static CreateDBRelInfo *ScanSourceDatabasePgClassTuple(HeapTupleData *tuple,
Oid tbid, Oid dbid,
char *srcpath);
@@ -147,12 +147,12 @@ CreateDatabaseUsingWalLog(Oid src_dboid, Oid dst_dboid,
{
char *srcpath;
char *dstpath;
- List *rnodelist = NULL;
+ List *rlocatorlist = NULL;
ListCell *cell;
LockRelId srcrelid;
LockRelId dstrelid;
- RelFileNode srcrnode;
- RelFileNode dstrnode;
+ RelFileLocator srcrlocator;
+ RelFileLocator dstrlocator;
CreateDBRelInfo *relinfo;
/* Get source and destination database paths. */
@@ -165,9 +165,9 @@ CreateDatabaseUsingWalLog(Oid src_dboid, Oid dst_dboid,
/* Copy relmap file from source database to the destination database. */
RelationMapCopy(dst_dboid, dst_tsid, srcpath, dstpath);
- /* Get list of relfilenodes to copy from the source database. */
- rnodelist = ScanSourceDatabasePgClass(src_tsid, src_dboid, srcpath);
- Assert(rnodelist != NIL);
+ /* Get list of relfilelocators to copy from the source database. */
+ rlocatorlist = ScanSourceDatabasePgClass(src_tsid, src_dboid, srcpath);
+ Assert(rlocatorlist != NIL);
/*
* Database IDs will be the same for all relations so set them before
@@ -176,11 +176,11 @@ CreateDatabaseUsingWalLog(Oid src_dboid, Oid dst_dboid,
srcrelid.dbId = src_dboid;
dstrelid.dbId = dst_dboid;
- /* Loop over our list of relfilenodes and copy each one. */
- foreach(cell, rnodelist)
+ /* Loop over our list of relfilelocators and copy each one. */
+ foreach(cell, rlocatorlist)
{
relinfo = lfirst(cell);
- srcrnode = relinfo->rnode;
+ srcrlocator = relinfo->rlocator;
/*
* If the relation is from the source db's default tablespace then we
@@ -188,13 +188,13 @@ CreateDatabaseUsingWalLog(Oid src_dboid, Oid dst_dboid,
* Otherwise, we need to create in the same tablespace as it is in the
* source database.
*/
- if (srcrnode.spcNode == src_tsid)
- dstrnode.spcNode = dst_tsid;
+ if (srcrlocator.spcOid == src_tsid)
+ dstrlocator.spcOid = dst_tsid;
else
- dstrnode.spcNode = srcrnode.spcNode;
+ dstrlocator.spcOid = srcrlocator.spcOid;
- dstrnode.dbNode = dst_dboid;
- dstrnode.relNode = srcrnode.relNode;
+ dstrlocator.dbOid = dst_dboid;
+ dstrlocator.relNumber = srcrlocator.relNumber;
/*
* Acquire locks on source and target relations before copying.
@@ -210,7 +210,7 @@ CreateDatabaseUsingWalLog(Oid src_dboid, Oid dst_dboid,
LockRelationId(&dstrelid, AccessShareLock);
/* Copy relation storage from source to the destination. */
- CreateAndCopyRelationData(srcrnode, dstrnode, relinfo->permanent);
+ CreateAndCopyRelationData(srcrlocator, dstrlocator, relinfo->permanent);
/* Release the relation locks. */
UnlockRelationId(&srcrelid, AccessShareLock);
@@ -219,7 +219,7 @@ CreateDatabaseUsingWalLog(Oid src_dboid, Oid dst_dboid,
pfree(srcpath);
pfree(dstpath);
- list_free_deep(rnodelist);
+ list_free_deep(rlocatorlist);
}
/*
@@ -246,31 +246,31 @@ CreateDatabaseUsingWalLog(Oid src_dboid, Oid dst_dboid,
static List *
ScanSourceDatabasePgClass(Oid tbid, Oid dbid, char *srcpath)
{
- RelFileNode rnode;
+ RelFileLocator rlocator;
BlockNumber nblocks;
BlockNumber blkno;
Buffer buf;
- Oid relfilenode;
+ Oid relfilenumber;
Page page;
- List *rnodelist = NIL;
+ List *rlocatorlist = NIL;
LockRelId relid;
Relation rel;
Snapshot snapshot;
BufferAccessStrategy bstrategy;
- /* Get pg_class relfilenode. */
- relfilenode = RelationMapOidToFilenodeForDatabase(srcpath,
- RelationRelationId);
+ /* Get pg_class relfilenumber. */
+ relfilenumber = RelationMapOidToFilenumberForDatabase(srcpath,
+ RelationRelationId);
/* Don't read data into shared_buffers without holding a relation lock. */
relid.dbId = dbid;
relid.relId = RelationRelationId;
LockRelationId(&relid, AccessShareLock);
- /* Prepare a RelFileNode for the pg_class relation. */
- rnode.spcNode = tbid;
- rnode.dbNode = dbid;
- rnode.relNode = relfilenode;
+ /* Prepare a RelFileLocator for the pg_class relation. */
+ rlocator.spcOid = tbid;
+ rlocator.dbOid = dbid;
+ rlocator.relNumber = relfilenumber;
/*
* We can't use a real relcache entry for a relation in some other
@@ -279,7 +279,7 @@ ScanSourceDatabasePgClass(Oid tbid, Oid dbid, char *srcpath)
* used the smgr layer directly, we would have to worry about
* invalidations.
*/
- rel = CreateFakeRelcacheEntry(rnode);
+ rel = CreateFakeRelcacheEntry(rlocator);
nblocks = smgrnblocks(RelationGetSmgr(rel), MAIN_FORKNUM);
FreeFakeRelcacheEntry(rel);
@@ -299,7 +299,7 @@ ScanSourceDatabasePgClass(Oid tbid, Oid dbid, char *srcpath)
{
CHECK_FOR_INTERRUPTS();
- buf = ReadBufferWithoutRelcache(rnode, MAIN_FORKNUM, blkno,
+ buf = ReadBufferWithoutRelcache(rlocator, MAIN_FORKNUM, blkno,
RBM_NORMAL, bstrategy, false);
LockBuffer(buf, BUFFER_LOCK_SHARE);
@@ -310,10 +310,10 @@ ScanSourceDatabasePgClass(Oid tbid, Oid dbid, char *srcpath)
continue;
}
- /* Append relevant pg_class tuples for current page to rnodelist. */
- rnodelist = ScanSourceDatabasePgClassPage(page, buf, tbid, dbid,
- srcpath, rnodelist,
- snapshot);
+ /* Append relevant pg_class tuples for current page to rlocatorlist. */
+ rlocatorlist = ScanSourceDatabasePgClassPage(page, buf, tbid, dbid,
+ srcpath, rlocatorlist,
+ snapshot);
UnlockReleaseBuffer(buf);
}
@@ -321,16 +321,16 @@ ScanSourceDatabasePgClass(Oid tbid, Oid dbid, char *srcpath)
/* Release relation lock. */
UnlockRelationId(&relid, AccessShareLock);
- return rnodelist;
+ return rlocatorlist;
}
/*
* Scan one page of the source database's pg_class relation and add relevant
- * entries to rnodelist. The return value is the updated list.
+ * entries to rlocatorlist. The return value is the updated list.
*/
static List *
ScanSourceDatabasePgClassPage(Page page, Buffer buf, Oid tbid, Oid dbid,
- char *srcpath, List *rnodelist,
+ char *srcpath, List *rlocatorlist,
Snapshot snapshot)
{
BlockNumber blkno = BufferGetBlockNumber(buf);
@@ -376,11 +376,11 @@ ScanSourceDatabasePgClassPage(Page page, Buffer buf, Oid tbid, Oid dbid,
relinfo = ScanSourceDatabasePgClassTuple(&tuple, tbid, dbid,
srcpath);
if (relinfo != NULL)
- rnodelist = lappend(rnodelist, relinfo);
+ rlocatorlist = lappend(rlocatorlist, relinfo);
}
}
- return rnodelist;
+ return rlocatorlist;
}
/*
@@ -397,7 +397,7 @@ ScanSourceDatabasePgClassTuple(HeapTupleData *tuple, Oid tbid, Oid dbid,
{
CreateDBRelInfo *relinfo;
Form_pg_class classForm;
- Oid relfilenode = InvalidOid;
+ Oid relfilenumber = InvalidRelFileNumber;
classForm = (Form_pg_class) GETSTRUCT(tuple);
@@ -418,29 +418,29 @@ ScanSourceDatabasePgClassTuple(HeapTupleData *tuple, Oid tbid, Oid dbid,
return NULL;
/*
- * If relfilenode is valid then directly use it. Otherwise, consult the
+ * If relfilenumber is valid then directly use it. Otherwise, consult the
* relmap.
*/
- if (OidIsValid(classForm->relfilenode))
- relfilenode = classForm->relfilenode;
+ if (RelFileNumberIsValid(classForm->relfilenode))
+ relfilenumber = classForm->relfilenode;
else
- relfilenode = RelationMapOidToFilenodeForDatabase(srcpath,
- classForm->oid);
+ relfilenumber = RelationMapOidToFilenumberForDatabase(srcpath,
+ classForm->oid);
- /* We must have a valid relfilenode oid. */
- if (!OidIsValid(relfilenode))
- elog(ERROR, "relation with OID %u does not have a valid relfilenode",
+ /* We must have a valid relfilenumber. */
+ if (!RelFileNumberIsValid(relfilenumber))
+ elog(ERROR, "relation with OID %u does not have a valid relfilenumber",
classForm->oid);
/* Prepare a rel info element and add it to the list. */
relinfo = (CreateDBRelInfo *) palloc(sizeof(CreateDBRelInfo));
if (OidIsValid(classForm->reltablespace))
- relinfo->rnode.spcNode = classForm->reltablespace;
+ relinfo->rlocator.spcOid = classForm->reltablespace;
else
- relinfo->rnode.spcNode = tbid;
+ relinfo->rlocator.spcOid = tbid;
- relinfo->rnode.dbNode = dbid;
- relinfo->rnode.relNode = relfilenode;
+ relinfo->rlocator.dbOid = dbid;
+ relinfo->rlocator.relNumber = relfilenumber;
relinfo->reloid = classForm->oid;
/* Temporary relations were rejected above. */
@@ -2867,8 +2867,8 @@ remove_dbtablespaces(Oid db_id)
* try to remove that already-existing subdirectory during the cleanup in
* remove_dbtablespaces. Nuking existing files seems like a bad idea, so
* instead we make this extra check before settling on the OID of the new
- * database. This exactly parallels what GetNewRelFileNode() does for table
- * relfilenode values.
+ * database. This exactly parallels what GetNewRelFileNumber() does for table
+ * relfilenumber values.
*/
static bool
check_db_file_conflict(Oid db_id)