Re: pgsql: Enforce foreign key correctly during cross-partition updates

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Enforce foreign key correctly during cross-partition updates
Date: 2022-03-20 20:29:52
Message-ID: 1596411.1647808192@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> writes:
> Enforce foreign key correctly during cross-partition updates

skink is not too happy with this:

==2663594== VALGRINDERROR-BEGIN
==2663594== Conditional jump or move depends on uninitialised value(s)
==2663594== at 0x421526: ExecUpdateAct (nodeModifyTable.c:1855)
==2663594== by 0x4217A3: ExecUpdate (nodeModifyTable.c:2107)
==2663594== by 0x423027: ExecModifyTable (nodeModifyTable.c:2905)
==2663594== by 0x3F5CB8: ExecProcNodeFirst (execProcnode.c:463)
==2663594== by 0x3EE739: ExecProcNode (executor.h:259)
==2663594== by 0x3EE739: ExecutePlan (execMain.c:1633)
==2663594== by 0x3EE90E: standard_ExecutorRun (execMain.c:362)
==2663594== by 0x3EE9D4: ExecutorRun (execMain.c:306)
==2663594== by 0x5B3628: ProcessQuery (pquery.c:160)
==2663594== by 0x5B41E9: PortalRunMulti (pquery.c:1274)
==2663594== by 0x5B47AD: PortalRun (pquery.c:788)
==2663594== by 0x5B091D: exec_simple_query (postgres.c:1250)
==2663594== by 0x5B281B: PostgresMain (postgres.c:4520)
==2663594== Uninitialised value was created by a stack allocation
==2663594== at 0x421433: ExecUpdateAct (nodeModifyTable.c:1773)
==2663594==
==2663594== VALGRINDERROR-END

It reproduces easily for me under valgrind. I guess
ExecCrossPartitionUpdate must be failing to set
inserted_tuple or insert_destrel.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2022-03-20 20:43:42 pgsql: Log regression.diffs in 027_stream_regress.pl.
Previous Message Tom Lane 2022-03-20 20:07:03 pgsql: psql: handle tab completion of timezone names after "SET TIMEZON