Re: ecpg "aborts" on structure reference
От | Tim Nelson |
---|---|
Тема | Re: ecpg "aborts" on structure reference |
Дата | |
Msg-id | 63BD6AB4FBBED411B3E20004ACAE8B63014457@str_nt01.ecs-inc.com обсуждение исходный текст |
Ответ на | ecpg "aborts" on structure reference (Tim Nelson <TNELSON@ECS-INC.com>) |
Список | pgsql-bugs |
This is NOT fixed in 2.9. It seems to have something to with parsing the structure definitions, here is a more complete case: exec sql include sqlca; exec sql type APC_LAYO_FLD is struct { long apcl_id; char apclf_sect_flg[2]; }; exec sql type APC_LAYOUT is struct { long apcl_id; }; exec sql begin declare section; APC_LAYOUT PL; APC_LAYO_FLD PLF; char curr_sect[5]; exec sql end declare section; int print_template() { if (1) { exec sql declare fld_curs cursor for select apc_layo_fld.* from apc_layo_fld where apcl_id = :PL.apcl_id and apclf_sect_flg = :curr_sect order by apclf_ln_nbr, apclf_col_nbr; } exec sql open fld_curs; } Three things I have been able to do to make ecpg NOT crash: 1. remove the "if" block. 2. "long apcl_id;" in the first structure definition. 3. reverse the entries of the structure host variables. Thanks again. -----Original Message----- From: Tim Nelson [mailto:TNELSON@ecs-inc.com] Sent: Wednesday, January 09, 2002 8:26 AM To: 'pgsql-bugs@postgresql.org' Subject: [BUGS] ecpg "aborts" on structure reference Think I've identified a bug in ecpg 2.8 (RH7.1) the following code aborts (crashes) ecpg: exec sql include sqlca; exec sql include ../../libhome/dbincs/apc_layout.h; exec sql include ../../libhome/dbincs/apc_layo_fld.h; static int get_org_name() { exec sql begin declare section; APC_LAYOUT PL; APC_LAYO_FLD PLF; char curr_sect[2]; exec sql end declare section; if (1) { exec sql declare fld_curs cursor for select apc_layo_fld.* from apc_layo_fld where apcl_id = :PL.apcl_id and apclf_sect_flg = :curr_sect order by apclf_ln_nbr, apclf_col_nbr; } exec sql open fld_curs; } ... key line here is "where apcl_id = :PL.apcl_id" if I replace it with "where apcl_id = 1" ... ecpg no longer crashes. If this has been fixed in 2.9, I would be happy to beta it since I am porting more that million lines of code from Informix ESQL to Postgres. I am not sure how to get the latest version since I am new to the open source game. Thanks. Tim Nelson ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
В списке pgsql-bugs по дате отправления: