PostgreSQL Source Code  git master
resowner_private.h File Reference
#include "storage/dsm.h"
#include "storage/fd.h"
#include "storage/lock.h"
#include "utils/catcache.h"
#include "utils/plancache.h"
#include "utils/resowner.h"
#include "utils/snapshot.h"
Include dependency graph for resowner_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void ResourceOwnerEnlargeBuffers (ResourceOwner owner)
 
void ResourceOwnerRememberBuffer (ResourceOwner owner, Buffer buffer)
 
void ResourceOwnerForgetBuffer (ResourceOwner owner, Buffer buffer)
 
void ResourceOwnerEnlargeBufferIOs (ResourceOwner owner)
 
void ResourceOwnerRememberBufferIO (ResourceOwner owner, Buffer buffer)
 
void ResourceOwnerForgetBufferIO (ResourceOwner owner, Buffer buffer)
 
void ResourceOwnerRememberLock (ResourceOwner owner, LOCALLOCK *locallock)
 
void ResourceOwnerForgetLock (ResourceOwner owner, LOCALLOCK *locallock)
 
void ResourceOwnerEnlargeCatCacheRefs (ResourceOwner owner)
 
void ResourceOwnerRememberCatCacheRef (ResourceOwner owner, HeapTuple tuple)
 
void ResourceOwnerForgetCatCacheRef (ResourceOwner owner, HeapTuple tuple)
 
void ResourceOwnerEnlargeCatCacheListRefs (ResourceOwner owner)
 
void ResourceOwnerRememberCatCacheListRef (ResourceOwner owner, CatCList *list)
 
void ResourceOwnerForgetCatCacheListRef (ResourceOwner owner, CatCList *list)
 
void ResourceOwnerEnlargeRelationRefs (ResourceOwner owner)
 
void ResourceOwnerRememberRelationRef (ResourceOwner owner, Relation rel)
 
void ResourceOwnerForgetRelationRef (ResourceOwner owner, Relation rel)
 
void ResourceOwnerEnlargePlanCacheRefs (ResourceOwner owner)
 
void ResourceOwnerRememberPlanCacheRef (ResourceOwner owner, CachedPlan *plan)
 
void ResourceOwnerForgetPlanCacheRef (ResourceOwner owner, CachedPlan *plan)
 
void ResourceOwnerEnlargeTupleDescs (ResourceOwner owner)
 
void ResourceOwnerRememberTupleDesc (ResourceOwner owner, TupleDesc tupdesc)
 
void ResourceOwnerForgetTupleDesc (ResourceOwner owner, TupleDesc tupdesc)
 
void ResourceOwnerEnlargeSnapshots (ResourceOwner owner)
 
void ResourceOwnerRememberSnapshot (ResourceOwner owner, Snapshot snapshot)
 
void ResourceOwnerForgetSnapshot (ResourceOwner owner, Snapshot snapshot)
 
void ResourceOwnerEnlargeFiles (ResourceOwner owner)
 
void ResourceOwnerRememberFile (ResourceOwner owner, File file)
 
void ResourceOwnerForgetFile (ResourceOwner owner, File file)
 
void ResourceOwnerEnlargeDSMs (ResourceOwner owner)
 
void ResourceOwnerRememberDSM (ResourceOwner owner, dsm_segment *)
 
void ResourceOwnerForgetDSM (ResourceOwner owner, dsm_segment *)
 
void ResourceOwnerEnlargeJIT (ResourceOwner owner)
 
void ResourceOwnerRememberJIT (ResourceOwner owner, Datum handle)
 
void ResourceOwnerForgetJIT (ResourceOwner owner, Datum handle)
 
void ResourceOwnerEnlargeCryptoHash (ResourceOwner owner)
 
void ResourceOwnerRememberCryptoHash (ResourceOwner owner, Datum handle)
 
void ResourceOwnerForgetCryptoHash (ResourceOwner owner, Datum handle)
 
void ResourceOwnerEnlargeHMAC (ResourceOwner owner)
 
void ResourceOwnerRememberHMAC (ResourceOwner owner, Datum handle)
 
void ResourceOwnerForgetHMAC (ResourceOwner owner, Datum handle)
 

Function Documentation

◆ ResourceOwnerEnlargeBufferIOs()

void ResourceOwnerEnlargeBufferIOs ( ResourceOwner  owner)

Definition at line 1010 of file resowner.c.

1011 {
1012  /* We used to allow pinning buffers without a resowner, but no more */
1013  Assert(owner != NULL);
1014  ResourceArrayEnlarge(&(owner->bufferioarr));
1015 }
Assert(fmt[strlen(fmt) - 1] !='\n')
static void ResourceArrayEnlarge(ResourceArray *resarr)
Definition: resowner.c:215
ResourceArray bufferioarr
Definition: resowner.c:124

References Assert(), ResourceOwnerData::bufferioarr, and ResourceArrayEnlarge().

Referenced by StartBufferIO().

◆ ResourceOwnerEnlargeBuffers()

void ResourceOwnerEnlargeBuffers ( ResourceOwner  owner)

Definition at line 972 of file resowner.c.

973 {
974  /* We used to allow pinning buffers without a resowner, but no more */
975  Assert(owner != NULL);
976  ResourceArrayEnlarge(&(owner->bufferarr));
977 }
ResourceArray bufferarr
Definition: resowner.c:123

References Assert(), ResourceOwnerData::bufferarr, and ResourceArrayEnlarge().

Referenced by BgBufferSync(), BufferSync(), ExtendBufferedRelShared(), FlushDatabaseBuffers(), FlushRelationBuffers(), FlushRelationsAllBuffers(), GetLocalVictimBuffer(), GetVictimBuffer(), IncrBufferRefCount(), ReadBuffer_common(), and ReadRecentBuffer().

◆ ResourceOwnerEnlargeCatCacheListRefs()

void ResourceOwnerEnlargeCatCacheListRefs ( ResourceOwner  owner)

Definition at line 1134 of file resowner.c.

1135 {
1137 }
ResourceArray catlistrefarr
Definition: resowner.c:126

References ResourceOwnerData::catlistrefarr, and ResourceArrayEnlarge().

Referenced by SearchCatCacheList().

◆ ResourceOwnerEnlargeCatCacheRefs()

void ResourceOwnerEnlargeCatCacheRefs ( ResourceOwner  owner)

Definition at line 1099 of file resowner.c.

1100 {
1101  ResourceArrayEnlarge(&(owner->catrefarr));
1102 }
ResourceArray catrefarr
Definition: resowner.c:125

References ResourceOwnerData::catrefarr, and ResourceArrayEnlarge().

Referenced by SearchCatCacheInternal(), and SearchCatCacheMiss().

◆ ResourceOwnerEnlargeCryptoHash()

void ResourceOwnerEnlargeCryptoHash ( ResourceOwner  owner)

Definition at line 1475 of file resowner.c.

1476 {
1478 }
ResourceArray cryptohasharr
Definition: resowner.c:134

References ResourceOwnerData::cryptohasharr, and ResourceArrayEnlarge().

Referenced by pg_cryptohash_create().

◆ ResourceOwnerEnlargeDSMs()

void ResourceOwnerEnlargeDSMs ( ResourceOwner  owner)

Definition at line 1395 of file resowner.c.

1396 {
1397  ResourceArrayEnlarge(&(owner->dsmarr));
1398 }
ResourceArray dsmarr
Definition: resowner.c:132

References ResourceOwnerData::dsmarr, and ResourceArrayEnlarge().

Referenced by dsm_create_descriptor(), and dsm_unpin_mapping().

◆ ResourceOwnerEnlargeFiles()

void ResourceOwnerEnlargeFiles ( ResourceOwner  owner)

Definition at line 1350 of file resowner.c.

1351 {
1352  ResourceArrayEnlarge(&(owner->filearr));
1353 }
ResourceArray filearr
Definition: resowner.c:131

References ResourceOwnerData::filearr, and ResourceArrayEnlarge().

Referenced by OpenTemporaryFile(), PathNameCreateTemporaryFile(), and PathNameOpenTemporaryFile().

◆ ResourceOwnerEnlargeHMAC()

void ResourceOwnerEnlargeHMAC ( ResourceOwner  owner)

Definition at line 1520 of file resowner.c.

1521 {
1522  ResourceArrayEnlarge(&(owner->hmacarr));
1523 }
ResourceArray hmacarr
Definition: resowner.c:135

References ResourceOwnerData::hmacarr, and ResourceArrayEnlarge().

Referenced by pg_hmac_create().

◆ ResourceOwnerEnlargeJIT()

void ResourceOwnerEnlargeJIT ( ResourceOwner  owner)

Definition at line 1440 of file resowner.c.

1441 {
1442  ResourceArrayEnlarge(&(owner->jitarr));
1443 }
ResourceArray jitarr
Definition: resowner.c:133

References ResourceOwnerData::jitarr, and ResourceArrayEnlarge().

Referenced by llvm_create_context().

◆ ResourceOwnerEnlargePlanCacheRefs()

void ResourceOwnerEnlargePlanCacheRefs ( ResourceOwner  owner)

Definition at line 1214 of file resowner.c.

1215 {
1216  ResourceArrayEnlarge(&(owner->planrefarr));
1217 }
ResourceArray planrefarr
Definition: resowner.c:128

References ResourceOwnerData::planrefarr, and ResourceArrayEnlarge().

Referenced by CachedPlanAllowsSimpleValidityCheck(), CachedPlanIsSimplyValid(), and GetCachedPlan().

◆ ResourceOwnerEnlargeRelationRefs()

void ResourceOwnerEnlargeRelationRefs ( ResourceOwner  owner)

Definition at line 1169 of file resowner.c.

1170 {
1171  ResourceArrayEnlarge(&(owner->relrefarr));
1172 }
ResourceArray relrefarr
Definition: resowner.c:127

References ResourceOwnerData::relrefarr, and ResourceArrayEnlarge().

Referenced by RelationIncrementReferenceCount().

◆ ResourceOwnerEnlargeSnapshots()

void ResourceOwnerEnlargeSnapshots ( ResourceOwner  owner)

Definition at line 1304 of file resowner.c.

1305 {
1306  ResourceArrayEnlarge(&(owner->snapshotarr));
1307 }
ResourceArray snapshotarr
Definition: resowner.c:130

References ResourceArrayEnlarge(), and ResourceOwnerData::snapshotarr.

Referenced by RegisterSnapshotOnOwner().

◆ ResourceOwnerEnlargeTupleDescs()

void ResourceOwnerEnlargeTupleDescs ( ResourceOwner  owner)

Definition at line 1258 of file resowner.c.

1259 {
1260  ResourceArrayEnlarge(&(owner->tupdescarr));
1261 }
ResourceArray tupdescarr
Definition: resowner.c:129

References ResourceArrayEnlarge(), and ResourceOwnerData::tupdescarr.

Referenced by IncrTupleDescRefCount().

◆ ResourceOwnerForgetBuffer()

void ResourceOwnerForgetBuffer ( ResourceOwner  owner,
Buffer  buffer 
)

Definition at line 994 of file resowner.c.

995 {
996  if (!ResourceArrayRemove(&(owner->bufferarr), BufferGetDatum(buffer)))
997  elog(ERROR, "buffer %d is not owned by resource owner %s",
998  buffer, owner->name);
999 }
#define ERROR
Definition: elog.h:39
static bool ResourceArrayRemove(ResourceArray *resarr, Datum value)
Definition: resowner.c:308
#define BufferGetDatum(buffer)
Definition: resowner.c:46
const char * name
Definition: resowner.c:120

References ResourceOwnerData::bufferarr, BufferGetDatum, elog(), ERROR, ResourceOwnerData::name, and ResourceArrayRemove().

Referenced by UnpinBuffer(), and UnpinLocalBuffer().

◆ ResourceOwnerForgetBufferIO()

void ResourceOwnerForgetBufferIO ( ResourceOwner  owner,
Buffer  buffer 
)

Definition at line 1032 of file resowner.c.

1033 {
1034  if (!ResourceArrayRemove(&(owner->bufferioarr), BufferGetDatum(buffer)))
1035  elog(PANIC, "buffer IO %d is not owned by resource owner %s",
1036  buffer, owner->name);
1037 }
#define PANIC
Definition: elog.h:42

References BufferGetDatum, ResourceOwnerData::bufferioarr, elog(), ResourceOwnerData::name, PANIC, and ResourceArrayRemove().

Referenced by TerminateBufferIO().

◆ ResourceOwnerForgetCatCacheListRef()

void ResourceOwnerForgetCatCacheListRef ( ResourceOwner  owner,
CatCList list 
)

Definition at line 1154 of file resowner.c.

1155 {
1157  elog(ERROR, "catcache list reference %p is not owned by resource owner %s",
1158  list, owner->name);
1159 }
static Datum PointerGetDatum(const void *X)
Definition: postgres.h:322

References ResourceOwnerData::catlistrefarr, elog(), ERROR, sort-test::list, ResourceOwnerData::name, PointerGetDatum(), and ResourceArrayRemove().

Referenced by ReleaseCatCacheList().

◆ ResourceOwnerForgetCatCacheRef()

void ResourceOwnerForgetCatCacheRef ( ResourceOwner  owner,
HeapTuple  tuple 
)

Definition at line 1119 of file resowner.c.

1120 {
1121  if (!ResourceArrayRemove(&(owner->catrefarr), PointerGetDatum(tuple)))
1122  elog(ERROR, "catcache reference %p is not owned by resource owner %s",
1123  tuple, owner->name);
1124 }

References ResourceOwnerData::catrefarr, elog(), ERROR, ResourceOwnerData::name, PointerGetDatum(), and ResourceArrayRemove().

Referenced by ReleaseCatCache().

◆ ResourceOwnerForgetCryptoHash()

void ResourceOwnerForgetCryptoHash ( ResourceOwner  owner,
Datum  handle 
)

Definition at line 1495 of file resowner.c.

1496 {
1497  if (!ResourceArrayRemove(&(owner->cryptohasharr), handle))
1498  elog(ERROR, "cryptohash context %p is not owned by resource owner %s",
1499  DatumGetPointer(handle), owner->name);
1500 }
static Pointer DatumGetPointer(Datum X)
Definition: postgres.h:312

References ResourceOwnerData::cryptohasharr, DatumGetPointer(), elog(), ERROR, ResourceOwnerData::name, and ResourceArrayRemove().

Referenced by pg_cryptohash_free().

◆ ResourceOwnerForgetDSM()

void ResourceOwnerForgetDSM ( ResourceOwner  owner,
dsm_segment seg 
)

Definition at line 1415 of file resowner.c.

1416 {
1417  if (!ResourceArrayRemove(&(owner->dsmarr), PointerGetDatum(seg)))
1418  elog(ERROR, "dynamic shared memory segment %u is not owned by resource owner %s",
1419  dsm_segment_handle(seg), owner->name);
1420 }
dsm_handle dsm_segment_handle(dsm_segment *seg)
Definition: dsm.c:1094

References dsm_segment_handle(), ResourceOwnerData::dsmarr, elog(), ERROR, ResourceOwnerData::name, PointerGetDatum(), and ResourceArrayRemove().

Referenced by dsm_create(), dsm_detach(), and dsm_pin_mapping().

◆ ResourceOwnerForgetFile()

void ResourceOwnerForgetFile ( ResourceOwner  owner,
File  file 
)

Definition at line 1370 of file resowner.c.

1371 {
1372  if (!ResourceArrayRemove(&(owner->filearr), FileGetDatum(file)))
1373  elog(ERROR, "temporary file %d is not owned by resource owner %s",
1374  file, owner->name);
1375 }
#define FileGetDatum(file)
Definition: resowner.c:44

References elog(), ERROR, ResourceOwnerData::filearr, FileGetDatum, ResourceOwnerData::name, and ResourceArrayRemove().

Referenced by FileClose().

◆ ResourceOwnerForgetHMAC()

void ResourceOwnerForgetHMAC ( ResourceOwner  owner,
Datum  handle 
)

Definition at line 1540 of file resowner.c.

1541 {
1542  if (!ResourceArrayRemove(&(owner->hmacarr), handle))
1543  elog(ERROR, "HMAC context %p is not owned by resource owner %s",
1544  DatumGetPointer(handle), owner->name);
1545 }

References DatumGetPointer(), elog(), ERROR, ResourceOwnerData::hmacarr, ResourceOwnerData::name, and ResourceArrayRemove().

Referenced by pg_hmac_free().

◆ ResourceOwnerForgetJIT()

void ResourceOwnerForgetJIT ( ResourceOwner  owner,
Datum  handle 
)

Definition at line 1460 of file resowner.c.

1461 {
1462  if (!ResourceArrayRemove(&(owner->jitarr), handle))
1463  elog(ERROR, "JIT context %p is not owned by resource owner %s",
1464  DatumGetPointer(handle), owner->name);
1465 }

References DatumGetPointer(), elog(), ERROR, ResourceOwnerData::jitarr, ResourceOwnerData::name, and ResourceArrayRemove().

Referenced by jit_release_context().

◆ ResourceOwnerForgetLock()

void ResourceOwnerForgetLock ( ResourceOwner  owner,
LOCALLOCK locallock 
)

Definition at line 1070 of file resowner.c.

1071 {
1072  int i;
1073 
1074  if (owner->nlocks > MAX_RESOWNER_LOCKS)
1075  return; /* we have overflowed */
1076 
1077  Assert(owner->nlocks > 0);
1078  for (i = owner->nlocks - 1; i >= 0; i--)
1079  {
1080  if (locallock == owner->locks[i])
1081  {
1082  owner->locks[i] = owner->locks[owner->nlocks - 1];
1083  owner->nlocks--;
1084  return;
1085  }
1086  }
1087  elog(ERROR, "lock reference %p is not owned by resource owner %s",
1088  locallock, owner->name);
1089 }
int i
Definition: isn.c:73
#define MAX_RESOWNER_LOCKS
Definition: resowner.c:110
LOCALLOCK * locks[MAX_RESOWNER_LOCKS]
Definition: resowner.c:139

References Assert(), elog(), ERROR, i, ResourceOwnerData::locks, MAX_RESOWNER_LOCKS, ResourceOwnerData::name, and ResourceOwnerData::nlocks.

Referenced by LockReassignOwner(), LockRelease(), LockReleaseAll(), ReleaseLockIfHeld(), and RemoveLocalLock().

◆ ResourceOwnerForgetPlanCacheRef()

void ResourceOwnerForgetPlanCacheRef ( ResourceOwner  owner,
CachedPlan plan 
)

Definition at line 1234 of file resowner.c.

1235 {
1237  elog(ERROR, "plancache reference %p is not owned by resource owner %s",
1238  plan, owner->name);
1239 }
#define plan(x)
Definition: pg_regress.c:154

References elog(), ERROR, ResourceOwnerData::name, plan, ResourceOwnerData::planrefarr, PointerGetDatum(), and ResourceArrayRemove().

Referenced by ReleaseCachedPlan().

◆ ResourceOwnerForgetRelationRef()

void ResourceOwnerForgetRelationRef ( ResourceOwner  owner,
Relation  rel 
)

Definition at line 1189 of file resowner.c.

1190 {
1191  if (!ResourceArrayRemove(&(owner->relrefarr), PointerGetDatum(rel)))
1192  elog(ERROR, "relcache reference %s is not owned by resource owner %s",
1193  RelationGetRelationName(rel), owner->name);
1194 }
#define RelationGetRelationName(relation)
Definition: rel.h:538

References elog(), ERROR, ResourceOwnerData::name, PointerGetDatum(), RelationGetRelationName, ResourceOwnerData::relrefarr, and ResourceArrayRemove().

Referenced by RelationDecrementReferenceCount().

◆ ResourceOwnerForgetSnapshot()

void ResourceOwnerForgetSnapshot ( ResourceOwner  owner,
Snapshot  snapshot 
)

Definition at line 1324 of file resowner.c.

1325 {
1326  if (!ResourceArrayRemove(&(owner->snapshotarr), PointerGetDatum(snapshot)))
1327  elog(ERROR, "snapshot reference %p is not owned by resource owner %s",
1328  snapshot, owner->name);
1329 }

References elog(), ERROR, ResourceOwnerData::name, PointerGetDatum(), ResourceArrayRemove(), and ResourceOwnerData::snapshotarr.

Referenced by UnregisterSnapshotFromOwner().

◆ ResourceOwnerForgetTupleDesc()

void ResourceOwnerForgetTupleDesc ( ResourceOwner  owner,
TupleDesc  tupdesc 
)

Definition at line 1278 of file resowner.c.

1279 {
1280  if (!ResourceArrayRemove(&(owner->tupdescarr), PointerGetDatum(tupdesc)))
1281  elog(ERROR, "tupdesc reference %p is not owned by resource owner %s",
1282  tupdesc, owner->name);
1283 }

References elog(), ERROR, ResourceOwnerData::name, PointerGetDatum(), ResourceArrayRemove(), and ResourceOwnerData::tupdescarr.

Referenced by DecrTupleDescRefCount().

◆ ResourceOwnerRememberBuffer()

void ResourceOwnerRememberBuffer ( ResourceOwner  owner,
Buffer  buffer 
)

Definition at line 985 of file resowner.c.

986 {
987  ResourceArrayAdd(&(owner->bufferarr), BufferGetDatum(buffer));
988 }
static void ResourceArrayAdd(ResourceArray *resarr, Datum value)
Definition: resowner.c:270

References ResourceOwnerData::bufferarr, BufferGetDatum, and ResourceArrayAdd().

Referenced by IncrBufferRefCount(), PinBuffer(), PinBuffer_Locked(), and PinLocalBuffer().

◆ ResourceOwnerRememberBufferIO()

void ResourceOwnerRememberBufferIO ( ResourceOwner  owner,
Buffer  buffer 
)

Definition at line 1023 of file resowner.c.

1024 {
1025  ResourceArrayAdd(&(owner->bufferioarr), BufferGetDatum(buffer));
1026 }

References BufferGetDatum, ResourceOwnerData::bufferioarr, and ResourceArrayAdd().

Referenced by StartBufferIO().

◆ ResourceOwnerRememberCatCacheListRef()

void ResourceOwnerRememberCatCacheListRef ( ResourceOwner  owner,
CatCList list 
)

Definition at line 1145 of file resowner.c.

1146 {
1148 }

References ResourceOwnerData::catlistrefarr, sort-test::list, PointerGetDatum(), and ResourceArrayAdd().

Referenced by SearchCatCacheList().

◆ ResourceOwnerRememberCatCacheRef()

void ResourceOwnerRememberCatCacheRef ( ResourceOwner  owner,
HeapTuple  tuple 
)

Definition at line 1110 of file resowner.c.

1111 {
1112  ResourceArrayAdd(&(owner->catrefarr), PointerGetDatum(tuple));
1113 }

References ResourceOwnerData::catrefarr, PointerGetDatum(), and ResourceArrayAdd().

Referenced by SearchCatCacheInternal(), and SearchCatCacheMiss().

◆ ResourceOwnerRememberCryptoHash()

void ResourceOwnerRememberCryptoHash ( ResourceOwner  owner,
Datum  handle 
)

Definition at line 1486 of file resowner.c.

1487 {
1488  ResourceArrayAdd(&(owner->cryptohasharr), handle);
1489 }

References ResourceOwnerData::cryptohasharr, and ResourceArrayAdd().

Referenced by pg_cryptohash_create().

◆ ResourceOwnerRememberDSM()

void ResourceOwnerRememberDSM ( ResourceOwner  owner,
dsm_segment seg 
)

Definition at line 1406 of file resowner.c.

1407 {
1408  ResourceArrayAdd(&(owner->dsmarr), PointerGetDatum(seg));
1409 }

References ResourceOwnerData::dsmarr, PointerGetDatum(), and ResourceArrayAdd().

Referenced by dsm_create_descriptor(), and dsm_unpin_mapping().

◆ ResourceOwnerRememberFile()

void ResourceOwnerRememberFile ( ResourceOwner  owner,
File  file 
)

Definition at line 1361 of file resowner.c.

1362 {
1363  ResourceArrayAdd(&(owner->filearr), FileGetDatum(file));
1364 }

References ResourceOwnerData::filearr, FileGetDatum, and ResourceArrayAdd().

Referenced by RegisterTemporaryFile().

◆ ResourceOwnerRememberHMAC()

void ResourceOwnerRememberHMAC ( ResourceOwner  owner,
Datum  handle 
)

Definition at line 1531 of file resowner.c.

1532 {
1533  ResourceArrayAdd(&(owner->hmacarr), handle);
1534 }

References ResourceOwnerData::hmacarr, and ResourceArrayAdd().

Referenced by pg_hmac_create().

◆ ResourceOwnerRememberJIT()

void ResourceOwnerRememberJIT ( ResourceOwner  owner,
Datum  handle 
)

Definition at line 1451 of file resowner.c.

1452 {
1453  ResourceArrayAdd(&(owner->jitarr), handle);
1454 }

References ResourceOwnerData::jitarr, and ResourceArrayAdd().

Referenced by llvm_create_context().

◆ ResourceOwnerRememberLock()

void ResourceOwnerRememberLock ( ResourceOwner  owner,
LOCALLOCK locallock 
)

Definition at line 1050 of file resowner.c.

1051 {
1052  Assert(locallock != NULL);
1053 
1054  if (owner->nlocks > MAX_RESOWNER_LOCKS)
1055  return; /* we have already overflowed */
1056 
1057  if (owner->nlocks < MAX_RESOWNER_LOCKS)
1058  owner->locks[owner->nlocks] = locallock;
1059  else
1060  {
1061  /* overflowed */
1062  }
1063  owner->nlocks++;
1064 }

References Assert(), ResourceOwnerData::locks, MAX_RESOWNER_LOCKS, and ResourceOwnerData::nlocks.

Referenced by GrantLockLocal(), and LockReassignOwner().

◆ ResourceOwnerRememberPlanCacheRef()

void ResourceOwnerRememberPlanCacheRef ( ResourceOwner  owner,
CachedPlan plan 
)

◆ ResourceOwnerRememberRelationRef()

void ResourceOwnerRememberRelationRef ( ResourceOwner  owner,
Relation  rel 
)

Definition at line 1180 of file resowner.c.

1181 {
1182  ResourceArrayAdd(&(owner->relrefarr), PointerGetDatum(rel));
1183 }

References PointerGetDatum(), ResourceOwnerData::relrefarr, and ResourceArrayAdd().

Referenced by RelationIncrementReferenceCount().

◆ ResourceOwnerRememberSnapshot()

void ResourceOwnerRememberSnapshot ( ResourceOwner  owner,
Snapshot  snapshot 
)

Definition at line 1315 of file resowner.c.

1316 {
1317  ResourceArrayAdd(&(owner->snapshotarr), PointerGetDatum(snapshot));
1318 }

References PointerGetDatum(), ResourceArrayAdd(), and ResourceOwnerData::snapshotarr.

Referenced by RegisterSnapshotOnOwner().

◆ ResourceOwnerRememberTupleDesc()

void ResourceOwnerRememberTupleDesc ( ResourceOwner  owner,
TupleDesc  tupdesc 
)

Definition at line 1269 of file resowner.c.

1270 {
1271  ResourceArrayAdd(&(owner->tupdescarr), PointerGetDatum(tupdesc));
1272 }

References PointerGetDatum(), ResourceArrayAdd(), and ResourceOwnerData::tupdescarr.

Referenced by IncrTupleDescRefCount().