MCPcopy Create free account
hub / github.com/apache/cloudberry / RememberToFreeTupleDescAtEOX

Function RememberToFreeTupleDescAtEOX

src/backend/utils/cache/relcache.c:3177–3203  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3175}
3176
3177static void
3178RememberToFreeTupleDescAtEOX(TupleDesc td)
3179{
3180 if (EOXactTupleDescArray == NULL)
3181 {
3182 MemoryContext oldcxt;
3183
3184 oldcxt = MemoryContextSwitchTo(CacheMemoryContext);
3185
3186 EOXactTupleDescArray = (TupleDesc *) palloc(16 * sizeof(TupleDesc));
3187 EOXactTupleDescArrayLen = 16;
3188 NextEOXactTupleDescNum = 0;
3189 MemoryContextSwitchTo(oldcxt);
3190 }
3191 else if (NextEOXactTupleDescNum >= EOXactTupleDescArrayLen)
3192 {
3193 int32 newlen = EOXactTupleDescArrayLen * 2;
3194
3195 Assert(EOXactTupleDescArrayLen > 0);
3196
3197 EOXactTupleDescArray = (TupleDesc *) repalloc(EOXactTupleDescArray,
3198 newlen * sizeof(TupleDesc));
3199 EOXactTupleDescArrayLen = newlen;
3200 }
3201
3202 EOXactTupleDescArray[NextEOXactTupleDescNum++] = td;
3203}
3204
3205#ifdef USE_ASSERT_CHECKING
3206static void

Callers 1

RelationDestroyRelationFunction · 0.85

Calls 3

MemoryContextSwitchToFunction · 0.85
pallocFunction · 0.50
repallocFunction · 0.50

Tested by

no test coverage detected