Table AM callback table_complete_speculative()'s succeeded argumentis reversed - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Table AM callback table_complete_speculative()'s succeeded argumentis reversed
Date
Msg-id 97673451-339f-b21e-a781-998d06b1067c@iki.fi
Whole thread Raw
Responses Re: Table AM callback table_complete_speculative()'s succeeded argument is reversed  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
The 'succeeded' argument seems backwards here:

> static void
> heapam_tuple_complete_speculative(Relation relation, TupleTableSlot *slot,
>                                   uint32 spekToken, bool succeeded)
> {
>     bool        shouldFree = true;
>     HeapTuple    tuple = ExecFetchSlotHeapTuple(slot, true, &shouldFree);
> 
>     /* adjust the tuple's state accordingly */
>     if (!succeeded)
>         heap_finish_speculative(relation, &slot->tts_tid);
>     else
>         heap_abort_speculative(relation, &slot->tts_tid);
> 
>     if (shouldFree)
>         pfree(tuple);
> }

According to the comments, if "succeeded = true", the insertion is 
completed, and otherwise it's killed. It works, because the only caller 
is also passing the argument wrong.

Barring objections, I'll push the attached patch to fix that.

- Heikki

Attachment

pgsql-hackers by date:

Previous
From: Kyotaro HORIGUCHI
Date:
Subject: Re: Tab completion for CREATE TYPE
Next
From: "Ideriha, Takeshi"
Date:
Subject: RE: Copy data to DSA area