mysql_fdw + PG10: unrecognized node type: 217
Hi,
I'm not sure if this is a bug in mysql_fdw, or in PG10:
============== running regression test queries ==============
test mysql_fdw ... FAILED
*** 345,359 ****
NOTICE: Found number Three
NOTICE: Found number Four
NOTICE: Found number Five
! NOTICE: Found number Six
! NOTICE: Found number Seven
! NOTICE: Found number Eight
! NOTICE: Found number Nine
! test_param_where
! ------------------
!
! (1 row)
!
DELETE FROM employee;
DELETE FROM department;
DELETE FROM empdata;
--- 344,352 ----
NOTICE: Found number Three
NOTICE: Found number Four
NOTICE: Found number Five
! ERROR: unrecognized node type: 217
! CONTEXT: SQL statement "select b from numbers where a=x"
! PL/pgSQL function test_param_where() line 6 at SQL statement
DELETE FROM employee;
DELETE FROM department;
DELETE FROM empdata;
mysql_fdw master at 7d084c59, PG10 at 6913d066.
The testsuite was running against this mysql schema:
CREATE DATABASE testdb;
USE testdb;
CREATE USER 'foo'@'127.0.0.1' IDENTIFIED BY 'bar';
GRANT ALL PRIVILEGES ON testdb.* TO 'foo'@'127.0.0.1';
CREATE TABLE department(department_id int, department_name text, PRIMARY KEY (department_id));
CREATE TABLE employee(emp_id int, emp_name text, emp_dept_id int, PRIMARY KEY (emp_id));
CREATE TABLE empdata (emp_id int, emp_dat blob, PRIMARY KEY (emp_id));
CREATE TABLE numbers(a int PRIMARY KEY, b varchar(255));
Christoph
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Christoph Berg <myon@debian.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.
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Re: Tom Lane 2017-09-10 <13662.1505077015@sss.pgh.pa.us>
Christoph Berg <myon@debian.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@entry=0x55d5a8766368,
state=state@entry=0x55d5a87667d0, resv=resv@entry=0x55d5a87667d8, resnull=resnull@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@entry=0x55d5a8766368, state=state@entry=0x55d5a87667d0,
resv=resv@entry=0x55d5a87667d8, resnull=resnull@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@entry=0x55d5a8766368, inputDesc=inputDesc@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@entry=0x55d5a8766368,
inputDesc=inputDesc@entry=0x0) at ./build/../src/backend/executor/execUtils.c:496
No locals.
#3 0x000055d5a72bd29e in ExecInitResult (node=node@entry=0x55d5a86d6ff0, estate=estate@entry=0x55d5a8766150,
eflags=eflags@entry=16) at ./build/../src/backend/executor/nodeResult.c:234
resstate = 0x55d5a8766368
#4 0x000055d5a729e124 in ExecInitNode (node=node@entry=0x55d5a86d6ff0, estate=estate@entry=0x55d5a8766150,
eflags=eflags@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@entry=0x55d5a863c290, params=params@entry=0x0,
eflags=eflags@entry=0, snapshot=snapshot@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@\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@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
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Re: To Tom Lane 2017-09-11 <20170911083136.stdnc4w52wk3o4se@msg.df7cb.de>
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
The problem happens on the 6th iteration of this loop:
CREATE FOREIGN TABLE numbers(a int, b varchar(255)) SERVER mysql_svr OPTIONS (dbname 'testdb', table_name 'numbers');
create or replace function test_param_where() returns void as $$
DECLARE
n varchar;
BEGIN
FOR x IN 1..9 LOOP
select b into n from numbers where a=x;
raise notice 'Found number %', n;
end loop;
return;
END
$$ LANGUAGE plpgsql;
SELECT test_param_where();
***************
*** 345,368 ****
NOTICE: Found number Three
NOTICE: Found number Four
NOTICE: Found number Five
! NOTICE: Found number Six
! NOTICE: Found number Seven
! NOTICE: Found number Eight
! NOTICE: Found number Nine
! test_param_where
! ------------------
!
! (1 row)
!
DELETE FROM employee;
...
--- 344,365 ----
NOTICE: Found number Three
NOTICE: Found number Four
NOTICE: Found number Five
! ERROR: unrecognized node type: 217
! CONTEXT: SQL statement "select b from numbers where a=x"
! PL/pgSQL function test_param_where() line 6 at SQL statement
! /*
DELETE FROM employee;
...
Christoph
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Hi,
On 2017-09-11 10:53:39 +0200, Christoph Berg wrote:
Re: To Tom Lane 2017-09-11 <20170911083136.stdnc4w52wk3o4se@msg.df7cb.de>
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:2031The problem happens on the 6th iteration of this loop:
CREATE FOREIGN TABLE numbers(a int, b varchar(255)) SERVER mysql_svr OPTIONS (dbname 'testdb', table_name 'numbers');
create or replace function test_param_where() returns void as $$
DECLARE
n varchar;
BEGIN
FOR x IN 1..9 LOOP
select b into n from numbers where a=x;
raise notice 'Found number %', n;
end loop;
return;
END
$$ LANGUAGE plpgsql;SELECT test_param_where();
*************** *** 345,368 **** NOTICE: Found number Three NOTICE: Found number Four NOTICE: Found number Five ! NOTICE: Found number Six ! NOTICE: Found number Seven ! NOTICE: Found number Eight ! NOTICE: Found number Nine ! test_param_where ! ------------------ ! ! (1 row) ! DELETE FROM employee; ... --- 344,365 ---- NOTICE: Found number Three NOTICE: Found number Four NOTICE: Found number Five ! ERROR: unrecognized node type: 217 ! CONTEXT: SQL statement "select b from numbers where a=x" ! PL/pgSQL function test_param_where() line 6 at SQL statement ! /*
Could you pprint() the expression that's being initialized?
Greetings,
Andres Freund
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Re: Andres Freund 2017-09-11 <20170911090306.s7sj4uyr4t72wbam@alap3.anarazel.de>
Could you pprint() the expression that's being initialized?
(gdb) f 4
#4 0x00005604ecedd124 in ExecInitNode (node=node@entry=0x5604ee884f80, estate=estate@entry=0x5604ee8c78a0,
eflags=eflags@entry=16) at ./build/../src/backend/executor/execProcnode.c:164
164 ./build/../src/backend/executor/execProcnode.c: Datei oder Verzeichnis nicht gefunden.
(gdb) p pprint(node)
$1 = void
2017-09-11 11:27:53.268 CEST [31066] postgres@postgres ANWEISUNG: SELECT test_param_where();
{RESULT
:startup_cost 0.00
:total_cost 0.26
:plan_rows 1
:plan_width 4
:parallel_aware false
:parallel_safe false
:plan_node_id 0
:targetlist (
{TARGETENTRY
:expr
{FUNCEXPR
:funcid 16402
:funcresulttype 2278
:funcretset false
:funcvariadic false
:funcformat 0
:funccollid 0
:inputcollid 0
:args <>
:location 7
}
:resno 1
:resname test_param_where
:ressortgroupref 0
:resorigtbl 0
:resorigcol 0
:resjunk false
}
)
:qual <>
:lefttree <>
:righttree <>
:initPlan <>
:extParam (b)
:allParam (b)
:resconstantqual <>
}
Christoph
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Re: To Andres Freund 2017-09-11 <20170911095338.mqkiinkpk7gkog3a@msg.df7cb.de>
Re: Andres Freund 2017-09-11 <20170911090306.s7sj4uyr4t72wbam@alap3.anarazel.de>
Could you pprint() the expression that's being initialized?
(gdb) p pprint(node)
Andres helped me to produce a correct dump, my error was that the
breakpoint should have been one line earlier because of elog()
internals.
The outcome is that Andres diagnosed it as a bug in mysql_fdw;
ExecInitExpr() should never get toplevel lists anymore.
Bug filed: https://github.com/EnterpriseDB/mysql_fdw/issues/147
Thanks,
Christoph
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers