Reported-by: Ranier Vilela
Discussion: https://postgr.es/m/CAEudQAo1+AcGppxDSg8k+zF4+Kv+eJyqzEDdbpDg58-=MQcerQ@mail.gmail.com
Author: Ranier Vilela
Backpatch-through: master
* logged value is very old, so that XID wrap-around already happened
* on it, there can't be any snapshots that still see it.
*/
- nextXid = ReadNextFullTransactionId();
diff = U64FromFullTransactionId(nextXid) -
U64FromFullTransactionId(latestRemovedFullXid);
if (diff < MaxTransactionId / 2)
heap_truncate_find_FKs(List *relationIds)
{
List *result = NIL;
- List *oids = list_copy(relationIds);
+ List *oids;
List *parent_cons;
ListCell *cell;
ScanKeyData key;
BlockNumber
mdnblocks(SMgrRelation reln, ForkNumber forknum)
{
- MdfdVec *v = mdopenfork(reln, forknum, EXTENSION_FAIL);
+ MdfdVec *v;
BlockNumber nblocks;
- BlockNumber segno = 0;
+ BlockNumber segno;
+
+ mdopenfork(reln, forknum, EXTENSION_FAIL);
/* mdopen has opened the first segment */
Assert(reln->md_num_open_segs[forknum] > 0);
Datum
json_build_object(PG_FUNCTION_ARGS)
{
- int nargs = PG_NARGS();
+ int nargs;
int i;
const char *sep = "";
StringInfo result;
if (recurse)
{
- MemoryContext child = context->firstchild;
+ MemoryContext child;
for (child = context->firstchild;
child != NULL;