Обсуждение: [HACKERS] mysql_fdw + PG10: unrecognized node type: 217

Поиск
Список
Период
Сортировка

[HACKERS] mysql_fdw + PG10: unrecognized node type: 217

От
Christoph Berg
Дата:
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
FROMempdata;
 

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

Re: [HACKERS] mysql_fdw + PG10: unrecognized node type: 217

От
Tom Lane
Дата:
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: [HACKERS] mysql_fdw + PG10: unrecognized node type: 217

От
Christoph Berg
Дата:
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=<optimizedout>, 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
address0x10>}, make_readonly = {value = 0x55d5a8766150,              isnull = 0x10 <error: Cannot access memory at
address0x10>}, 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:
Cannotaccess 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
"selecttest_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: [HACKERS] mysql_fdw + PG10: unrecognized node type: 217

От
Christoph Berg
Дата:
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

Re: [HACKERS] mysql_fdw + PG10: unrecognized node type: 217

От
Andres Freund
Дата:
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: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
> ! /*

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: [HACKERS] mysql_fdw + PG10: unrecognized node type: 217

От
Christoph Berg
Дата:
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
:funcretsetfalse         :funcvariadic false         :funcformat 0         :funccollid 0         :inputcollid 0
:args<>         :location 7        }     :resno 1      :resname test_param_where      :ressortgroupref 0
:resorigtbl0      :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: [HACKERS] mysql_fdw + PG10: unrecognized node type: 217

От
Christoph Berg
Дата:
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