Re: mysql_fdw + PG10: unrecognized node type: 217

From: Christoph Berg <myon(at)debian(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: mysql_fdw + PG10: unrecognized node type: 217
Date: 2017-09-11 08:31:36
Message-ID: 20170911083136.stdnc4w52wk3o4se@msg.df7cb.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Re: Tom Lane 2017-09-10 <13662(dot)1505077015(at)sss(dot)pgh(dot)pa(dot)us>
> Christoph Berg <myon(at)debian(dot)org> writes:
> > I'm not sure if this is a bug in mysql_fdw, or in PG10:
>
> > ! ERROR: unrecognized node type: 217
>
> Hm, nodetag 217 is T_List according to gdb. Wouldn't expect that
> failure in very many places. If you could get a stack trace from
> the errfinish call, it might help narrow things down.
>
> Offhand my bet is on mysql_fdw needing an update for some PG10
> change, but that's just a guess.

postgres=# select test_param_where();
FEHLER: XX000: unrecognized node type: 217
KONTEXT: SQL-Anweisung »select b from numbers where a=x«
PL/pgSQL-Funktion test_param_where() Zeile 6 bei SQL-Anweisung
ORT: ExecInitExprRec, execExpr.c:2031

(gdb) b execExpr.c:2031
Breakpoint 2 at 0x55d5a728e530: file ./build/../src/backend/executor/execExpr.c, line 2031.
(gdb) c
Continuing.

Breakpoint 2, ExecInitExprRec (node=<optimized out>, parent=parent(at)entry=0x55d5a8766368,
state=state(at)entry=0x55d5a87667d0, resv=resv(at)entry=0x55d5a87667d8, resnull=resnull(at)entry=0x55d5a87667d5 "")
at ./build/../src/backend/executor/execExpr.c:2034
2034 ./build/../src/backend/executor/execExpr.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt f
#0 ExecInitExprRec (node=<optimized out>, parent=parent(at)entry=0x55d5a8766368, state=state(at)entry=0x55d5a87667d0,
resv=resv(at)entry=0x55d5a87667d8, resnull=resnull(at)entry=0x55d5a87667d5 "")
at ./build/../src/backend/executor/execExpr.c:2034
scratch = {opcode = 20, resvalue = 0x55d5a87667d8, resnull = 0x55d5a87667d5 "", d = {fetch = {
last_var = -1468635040}, var = {attnum = -1468635040, vartype = 21973}, wholerow = {
var = 0x55d5a8766860, first = -72 '\270', slow = 104 'h',
tupdesc = 0x7f9e21220140 <plpgsql_call_handler>, junkFilter = 0x55d500000000}, assign_var = {
resultnum = -1468635040, attnum = 21973}, assign_tmp = {resultnum = -1468635040}, constval = {
value = 94376142727264, isnull = -72 '\270'}, func = {finfo = 0x55d5a8766860,
fcinfo_data = 0x55d5a87668b8, fn_addr = 0x7f9e21220140 <plpgsql_call_handler>, nargs = 0}, boolexpr = {
anynull = 0x55d5a8766860 "@\001\"!\236\177", jumpdone = -1468634952}, qualexpr = {
jumpdone = -1468635040}, jump = {jumpdone = -1468635040}, nulltest_row = {argdesc = 0x55d5a8766860},
param = {paramid = -1468635040, paramtype = 21973}, casetest = {value = 0x55d5a8766860,
isnull = 0x55d5a87668b8 "`hv\250\325U"}, make_readonly = {value = 0x55d5a8766860,
isnull = 0x55d5a87668b8 "`hv\250\325U"}, iocoerce = {finfo_out = 0x55d5a8766860,
fcinfo_data_out = 0x55d5a87668b8, finfo_in = 0x7f9e21220140 <plpgsql_call_handler>,
fcinfo_data_in = 0x55d500000000}, sqlvaluefunction = {svf = 0x55d5a8766860}, nextvalueexpr = {
seqid = 2826332256, seqtypid = 21973}, arrayexpr = {elemvalues = 0x55d5a8766860,
elemnulls = 0x55d5a87668b8 "`hv\250\325U", nelems = 555876672, elemtype = 32670, elemlength = 0,
elembyval = 0 '\000', elemalign = 0 '\000', multidims = -43 '\325'}, arraycoerce = {
coerceexpr = 0x55d5a8766860, resultelemtype = 2826332344,
elemfunc = 0x7f9e21220140 <plpgsql_call_handler>, amstate = 0x55d500000000}, row = {
tupdesc = 0x55d5a8766860, elemvalues = 0x55d5a87668b8,
elemnulls = 0x7f9e21220140 <plpgsql_call_handler> "UH\211\345ATSH\201", <incomplete sequence \354>},
rowcompare_step = {finfo = 0x55d5a8766860, fcinfo_data = 0x55d5a87668b8,
fn_addr = 0x7f9e21220140 <plpgsql_call_handler>, jumpnull = 0, jumpdone = 21973}, rowcompare_final = {
rctype = 2826332256}, minmax = {values = 0x55d5a8766860, nulls = 0x55d5a87668b8 "`hv\250\325U",
nelems = 555876672, op = (unknown: 32670), finfo = 0x55d500000000, fcinfo_data = 0x55d5a86d5df8},
fieldselect = {fieldnum = 26720, resulttype = 21973, argdesc = 0x55d5a87668b8}, fieldstore = {
fstore = 0x55d5a8766860, argdesc = 0x55d5a87668b8, values = 0x7f9e21220140 <plpgsql_call_handler>,
nulls = 0x55d500000000 <error: Cannot access memory at address 0x55d500000000>,
ncolumns = -1469227528}, arrayref_subscript = {state = 0x55d5a8766860, off = -1468634952,
isupper = -43 '\325', jumpdone = 555876672}, arrayref = {state = 0x55d5a8766860}, domaincheck = {
constraintname = 0x55d5a8766860 "@\001\"!\236\177", checkvalue = 0x55d5a87668b8,
checknull = 0x7f9e21220140 <plpgsql_call_handler> "UH\211\345ATSH\201", <incomplete sequence \354>,
resulttype = 0}, convert_rowtype = {convert = 0x55d5a8766860, indesc = 0x55d5a87668b8,
outdesc = 0x7f9e21220140 <plpgsql_call_handler>, map = 0x55d500000000, initialized = -8 '\370'},
scalararrayop = {element_type = 2826332256, useOr = -43 '\325', typlen = 0, typbyval = -72 '\270',
typalign = 104 'h', finfo = 0x7f9e21220140 <plpgsql_call_handler>, fcinfo_data = 0x55d500000000,
fn_addr = 0x55d5a86d5df8}, xmlexpr = {xexpr = 0x55d5a8766860, named_argvalue = 0x55d5a87668b8,
named_argnull = 0x7f9e21220140 <plpgsql_call_handler> "UH\211\345ATSH\201", <incomplete sequence \354>, argvalue = 0x55d500000000, argnull = 0x55d5a86d5df8 "\300]m\250\325U"}, aggref = {astate = 0x55d5a8766860},
grouping_func = {parent = 0x55d5a8766860, clauses = 0x55d5a87668b8}, window_func = {
wfstate = 0x55d5a8766860}, subplan = {sstate = 0x55d5a8766860}, alternative_subplan = {
asstate = 0x55d5a8766860}}}
__func__ = "ExecInitExprRec"
#1 0x000055d5a7291957 in ExecBuildProjectionInfo (targetList=<optimized out>, econtext=<optimized out>,
slot=<optimized out>, parent=parent(at)entry=0x55d5a8766368, inputDesc=inputDesc(at)entry=0x0)
at ./build/../src/backend/executor/execExpr.c:401
variable = <optimized out>
attnum = <optimized out>
isSafeVar = 0 '\000'
projInfo = 0x55d5a87667c8
state = 0x55d5a87667d0
scratch = {opcode = 140729302326160, resvalue = 0x1, resnull = 0x55d5a8766670 "\001", d = {fetch = {
last_var = -1468636848}, var = {attnum = -1468636848, vartype = 21973}, wholerow = {
var = 0x55d5a8766150, first = 16 '\020', slow = 0 '\000', tupdesc = 0x55d5a86d5df8,
junkFilter = 0x7ffe18131bc0}, assign_var = {resultnum = -1468636848, attnum = 21973}, assign_tmp = {
resultnum = -1468636848}, constval = {value = 94376142725456, isnull = 16 '\020'}, func = {
finfo = 0x55d5a8766150, fcinfo_data = 0x10, fn_addr = 0x55d5a86d5df8, nargs = 403905472}, boolexpr = {
anynull = 0x55d5a8766150 "\006", jumpdone = 16}, qualexpr = {jumpdone = -1468636848}, jump = {
jumpdone = -1468636848}, nulltest_row = {argdesc = 0x55d5a8766150}, param = {paramid = -1468636848,
paramtype = 21973}, casetest = {value = 0x55d5a8766150,
isnull = 0x10 <error: Cannot access memory at address 0x10>}, make_readonly = {value = 0x55d5a8766150,
isnull = 0x10 <error: Cannot access memory at address 0x10>}, iocoerce = {finfo_out = 0x55d5a8766150,
fcinfo_data_out = 0x10, finfo_in = 0x55d5a86d5df8, fcinfo_data_in = 0x7ffe18131bc0},
sqlvaluefunction = {svf = 0x55d5a8766150}, nextvalueexpr = {seqid = 2826330448, seqtypid = 21973},
arrayexpr = {elemvalues = 0x55d5a8766150,
elemnulls = 0x10 <error: Cannot access memory at address 0x10>, nelems = -1469227528,
elemtype = 21973, elemlength = 7104, elembyval = 19 '\023', elemalign = 24 '\030',
---Type <return> to continue, or q <return> to quit---
multidims = -2 '\376'}, arraycoerce = {coerceexpr = 0x55d5a8766150, resultelemtype = 16,
elemfunc = 0x55d5a86d5df8, amstate = 0x7ffe18131bc0}, row = {tupdesc = 0x55d5a8766150,
elemvalues = 0x10, elemnulls = 0x55d5a86d5df8 "\300]m\250\325U"}, rowcompare_step = {
finfo = 0x55d5a8766150, fcinfo_data = 0x10, fn_addr = 0x55d5a86d5df8, jumpnull = 403905472,
jumpdone = 32766}, rowcompare_final = {rctype = 2826330448}, minmax = {values = 0x55d5a8766150,
nulls = 0x10 <error: Cannot access memory at address 0x10>, nelems = -1469227528,
op = (IS_LEAST | unknown: 21972), finfo = 0x7ffe18131bc0,
fcinfo_data = 0x55d5a753928f <MemoryContextAlloc+63>}, fieldselect = {fieldnum = 24912,
resulttype = 21973, argdesc = 0x10}, fieldstore = {fstore = 0x55d5a8766150, argdesc = 0x10,
values = 0x55d5a86d5df8, nulls = 0x7ffe18131bc0 "\340\033\023\030\376\177", ncolumns = -1487695217},
arrayref_subscript = {state = 0x55d5a8766150, off = 16, isupper = 0 '\000', jumpdone = -1469227528},
arrayref = {state = 0x55d5a8766150}, domaincheck = {constraintname = 0x55d5a8766150 "\006",
checkvalue = 0x10, checknull = 0x55d5a86d5df8 "\300]m\250\325U", resulttype = 403905472},
convert_rowtype = {convert = 0x55d5a8766150, indesc = 0x10, outdesc = 0x55d5a86d5df8,
map = 0x7ffe18131bc0, initialized = -113 '\217'}, scalararrayop = {element_type = 2826330448,
useOr = -43 '\325', typlen = 0, typbyval = 16 '\020', typalign = 0 '\000', finfo = 0x55d5a86d5df8,
fcinfo_data = 0x7ffe18131bc0, fn_addr = 0x55d5a753928f <MemoryContextAlloc+63>}, xmlexpr = {
xexpr = 0x55d5a8766150, named_argvalue = 0x10, named_argnull = 0x55d5a86d5df8 "\300]m\250\325U",
argvalue = 0x7ffe18131bc0,
argnull = 0x55d5a753928f <MemoryContextAlloc+63> "H\205\300tP[A\\]\303\017\037\200"}, aggref = {
astate = 0x55d5a8766150}, grouping_func = {parent = 0x55d5a8766150, clauses = 0x10}, window_func = {
wfstate = 0x55d5a8766150}, subplan = {sstate = 0x55d5a8766150}, alternative_subplan = {
asstate = 0x55d5a8766150}}}
lc = 0x55d5a86d6f90
#2 0x000055d5a72a27e7 in ExecAssignProjectionInfo (planstate=planstate(at)entry=0x55d5a8766368,
inputDesc=inputDesc(at)entry=0x0) at ./build/../src/backend/executor/execUtils.c:496
No locals.
#3 0x000055d5a72bd29e in ExecInitResult (node=node(at)entry=0x55d5a86d6ff0, estate=estate(at)entry=0x55d5a8766150,
eflags=eflags(at)entry=16) at ./build/../src/backend/executor/nodeResult.c:234
resstate = 0x55d5a8766368
#4 0x000055d5a729e124 in ExecInitNode (node=node(at)entry=0x55d5a86d6ff0, estate=estate(at)entry=0x55d5a8766150,
eflags=eflags(at)entry=16) at ./build/../src/backend/executor/execProcnode.c:164
result = <optimized out>
subps = <optimized out>
l = <optimized out>
__func__ = "ExecInitNode"
#5 0x000055d5a729a0c6 in InitPlan (eflags=16, queryDesc=<optimized out>)
at ./build/../src/backend/executor/execMain.c:1045
operation = CMD_SELECT
estate = 0x55d5a8766150
tupType = <optimized out>
i = <optimized out>
plannedstmt = <optimized out>
plan = 0x55d5a86d6ff0
rangeTable = <optimized out>
planstate = <optimized out>
l = <optimized out>
#6 standard_ExecutorStart (queryDesc=<optimized out>, eflags=16) at ./build/../src/backend/executor/execMain.c:257
estate = <optimized out>
__func__ = "standard_ExecutorStart"
#7 0x000055d5a73eff9f in PortalStart (portal=portal(at)entry=0x55d5a863c290, params=params(at)entry=0x0,
eflags=eflags(at)entry=0, snapshot=snapshot(at)entry=0x0) at ./build/../src/backend/tcop/pquery.c:520
save_exception_stack = 0x7ffe181320d0
save_context_stack = 0x0
local_sigjmp_buf = {{__jmpbuf = {0, -7454889355314867966, 94376141505168, 94376125009217, 94376142599232,
94376142134776, -7454889355222593278, -3684621816750812926}, __mask_was_saved = 0, __saved_mask = {
__val = {94373316395008, 1, 0, 140731715569261, 94376142016544, 94373316395009, 94376125615781,
140729302326784, 94376141505168, 94376125615781, 1, 1, 94376142134776, 140729302326848,
94376123674346, 94376142131424}}}}
saveActivePortal = 0x0
saveResourceOwner = 0x55d5a86864e0
savePortalContext = 0x0
oldContext = 0x55d5a861d0a8
queryDesc = 0x55d5a8715580
myeflags = <optimized out>
#8 0x000055d5a73ebef8 in exec_simple_query (query_string=0x55d5a86d50e0 "select test_param_where();")
at ./build/../src/backend/tcop/postgres.c:1060
portal = 0x55d5a863c290
snapshot_set = <optimized out>
commandTag = 0x55d5a7680d41 "SELECT"
---Type <return> to continue, or q <return> to quit---
completionTag = "\000\000\000\000\002\000\000\000\340\036\023\030\376\177\000\000Vm\027\030\376\177\000\000\000\000\000\000\000\000\000\000\360\036\023\030\001\000\000\000\340Pm\250\325U\000\000\001\000\000\000\000\000\000\000(at)\357a\250\325U\000"
querytree_list = <optimized out>
plantree_list = 0x55d5a8747440
receiver = <optimized out>
format = 0
dest = DestRemote
parsetree_list = 0x55d5a86d5e20
parsetree_item = 0x55d5a86d5df8
save_log_statement_stats = 0 '\000'
was_logged = 0 '\000'
isTopLevel = 1 '\001'
msec_str = "\000\000\000\000\002\000\000\000\340\036\023\030\376\177\000\000Vm\027\030\376\177\000\000\000\000\000\000\000\000\000"
__func__ = "exec_simple_query"
#9 0x000055d5a73edcdf in PostgresMain (argc=<optimized out>, argv=argv(at)entry=0x55d5a866b458,
dbname=<optimized out>, username=<optimized out>) at ./build/../src/backend/tcop/postgres.c:4090
query_string = 0x55d5a86d50e0 "select test_param_where();"
input_message = {data = 0x55d5a86d50e0 "select test_param_where();", len = 27, maxlen = 1024, cursor = 27}
local_sigjmp_buf = {{__jmpbuf = {140729302327408, -7454889353561648894, 1, 94376141385536, 1,
94376128650368, -7454889355283410686, -3684621816926842622}, __mask_was_saved = 1, __saved_mask = {
__val = {0, 0, 14133314746797201152, 94376141510584, 94376125255358, 140729302327936, 140729302328336,
140729302329376, 0, 0, 140317402085896, 80, 206158430256, 140729302327912, 140729302327696,
94376141697856}}}}
send_ready_for_query = 0 '\000'
disable_idle_in_transaction_timeout = 0 '\000'
__func__ = "PostgresMain"
#10 0x000055d5a70d8a59 in BackendRun (port=0x55d5a8669030) at ./build/../src/backend/postmaster/postmaster.c:4357
ac = 1
secs = 558433314
usecs = 93052
i = 1
av = 0x55d5a866b458
maxac = <optimized out>
#11 BackendStartup (port=0x55d5a8669030) at ./build/../src/backend/postmaster/postmaster.c:4029
bn = <optimized out>
pid = <optimized out>
#12 ServerLoop () at ./build/../src/backend/postmaster/postmaster.c:1753
i = <optimized out>
rmask = {fds_bits = {8, 0 <repeats 15 times>}}
selres = <optimized out>
now = <optimized out>
readmask = {fds_bits = {72, 0 <repeats 15 times>}}
last_lockfile_recheck_time = 1505118107
last_touch_time = 1505118107
__func__ = "ServerLoop"
#13 0x000055d5a736eb18 in PostmasterMain (argc=5, argv=0x55d5a861cd80)
at ./build/../src/backend/postmaster/postmaster.c:1361
opt = <optimized out>
status = <optimized out>
userDoption = <optimized out>
listen_addr_saved = <optimized out>
i = <optimized out>
output_config_variable = <optimized out>
__func__ = "PostmasterMain"
#14 0x000055d5a70da934 in main (argc=5, argv=0x55d5a861cd80) at ./build/../src/backend/main/main.c:228
No locals.

Christoph

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2017-09-11 08:40:22 Re: Setting pd_lower in GIN metapage
Previous Message Ashutosh Bapat 2017-09-11 08:30:40 Re: WIP: Aggregation push-down