Re: [HACKERS] MERGE SQL Statement for PG11

From: Andreas Seltenreich <seltenreich(at)gmx(dot)de>
To: Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Chapman Flack <chap(at)anastigmatix(dot)net>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [HACKERS] MERGE SQL Statement for PG11
Date: 2018-04-07 19:11:48
Message-ID: 871sfq3k7f.fsf@ansel.ydns.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

sqlsmith triggered an assertion with the following MERGE statement
against the regression database. Testing was done with master at
039eb6e92f. Backtrace below.

regards,
Andreas

MERGE INTO public.pagg_tab_ml_p3 as target_0
USING public.hash_i4_heap as ref_0
ON target_0.b = ref_0.seqno
WHEN MATCHED AND ((select bitcol from public.brintest limit 1 offset 92)
> cast(null as "bit"))
and (false)
THEN UPDATE set
b = target_0.b,
a = target_0.b
WHEN NOT MATCHED
AND cast(null as text) ~ cast(nullif(case when cast(null as float8) <= cast(null as float8) then cast(null as text) else cast(null as text) end
,
cast(null as text)) as text)
THEN DO NOTHING;

#0 __GI_raise (sig=sig(at)entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f25474cf42a in __GI_abort () at abort.c:89
#2 0x0000556c14b75bb3 in ExceptionalCondition (
conditionName=conditionName(at)entry=0x556c14d09bf8 "!(list != ((List *) ((void *)0)))",
errorType=errorType(at)entry=0x556c14bc4dbd "FailedAssertion", fileName=fileName(at)entry=0x556c14d3022c "list.c",
lineNumber=lineNumber(at)entry=390) at assert.c:54
#3 0x0000556c1495d580 in list_nth_cell (list=<optimized out>, n=<optimized out>) at list.c:390
#4 0x0000556c1495d5d6 in list_nth (list=list(at)entry=0x0, n=<optimized out>) at list.c:413
#5 0x0000556c14911fa5 in adjust_partition_tlist (tlist=0x0, map=<optimized out>, map=<optimized out>) at execPartition.c:1266
#6 0x0000556c14913049 in ExecInitPartitionInfo (mtstate=mtstate(at)entry=0x556c16c163e8, resultRelInfo=<optimized out>,
proute=proute(at)entry=0x556c16c29988, estate=estate(at)entry=0x556c16c15bf8, partidx=0) at execPartition.c:683
#7 0x0000556c1490ff80 in ExecMergeMatched (junkfilter=0x556c16c15bf8, tupleid=0x7ffe8088a10a, slot=0x556c16c22e20,
estate=0x556c16c15bf8, mtstate=0x556c16c163e8) at execMerge.c:205
#8 ExecMerge (mtstate=mtstate(at)entry=0x556c16c163e8, estate=estate(at)entry=0x556c16c15bf8, slot=slot(at)entry=0x556c16c22e20,
junkfilter=junkfilter(at)entry=0x556c16c2b730, resultRelInfo=resultRelInfo(at)entry=0x556c16c15e48) at execMerge.c:127
#9 0x0000556c14933614 in ExecModifyTable (pstate=0x556c16c163e8) at nodeModifyTable.c:2179
#10 0x0000556c1490c0ca in ExecProcNode (node=0x556c16c163e8) at ../../../src/include/executor/executor.h:239
#11 ExecutePlan (execute_once=<optimized out>, dest=0x556c16c111b8, direction=<optimized out>, numberTuples=0,
sendTuples=<optimized out>, operation=CMD_MERGE, use_parallel_mode=<optimized out>, planstate=0x556c16c163e8,
estate=0x556c16c15bf8) at execMain.c:1729
#12 standard_ExecutorRun (queryDesc=0x556c16c1bce8, direction=<optimized out>, count=0, execute_once=<optimized out>)
at execMain.c:364
#13 0x0000556c14a6ba52 in ProcessQuery (plan=<optimized out>,
sourceText=0x556c16b2ac08 "...", params=0x0,
queryEnv=0x0, dest=0x556c16c111b8, completionTag=0x7ffe8088a500 "") at pquery.c:161
#14 0x0000556c14a6bceb in PortalRunMulti (portal=portal(at)entry=0x556c16b96468, isTopLevel=isTopLevel(at)entry=true,
setHoldSnapshot=setHoldSnapshot(at)entry=false, dest=dest(at)entry=0x556c16c111b8, altdest=altdest(at)entry=0x556c16c111b8,
completionTag=completionTag(at)entry=0x7ffe8088a500 "") at pquery.c:1291
#15 0x0000556c14a6c979 in PortalRun (portal=portal(at)entry=0x556c16b96468, count=count(at)entry=9223372036854775807,
isTopLevel=isTopLevel(at)entry=true, run_once=run_once(at)entry=true, dest=dest(at)entry=0x556c16c111b8,
altdest=altdest(at)entry=0x556c16c111b8, completionTag=0x7ffe8088a500 "") at pquery.c:804
#16 0x0000556c14a6859b in exec_simple_query (
query_string=0x556c16b2ac08 "MERGE INTO public.pagg_tab_ml_p3 as target_0\nUSING public.hash_i4_heap as ref_0\nON target_0.b = ref_0.seqno\nWHEN MATCHED AND ((select bitcol from public.brintest limit 1 offset 92)\n > cast(null as \"bi"...) at postgres.c:1121
#17 0x0000556c14a6a341 in PostgresMain (argc=<optimized out>, argv=argv(at)entry=0x556c16b56ad8, dbname=<optimized out>,
username=<optimized out>) at postgres.c:4149
#18 0x0000556c1474eac4 in BackendRun (port=0x556c16b4c030) at postmaster.c:4409
#19 BackendStartup (port=0x556c16b4c030) at postmaster.c:4081
#20 ServerLoop () at postmaster.c:1754
#21 0x0000556c149ec017 in PostmasterMain (argc=3, argv=0x556c16b257d0) at postmaster.c:1362
#22 0x0000556c1475006d in main (argc=3, argv=0x556c16b257d0) at main.c:228

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andreas Seltenreich 2018-04-07 19:28:39 [sqlsmith] Segfault in expand_tuple
Previous Message Andreas Seltenreich 2018-04-07 18:56:22 Re: [sqlsmith] Failed assertion in create_gather_path