From: | Jürgen Cappel <email(at)juergen-cappel(dot)de> |
---|---|
To: | "pgsql-interfaces" <pgsql-interfaces(at)postgresql(dot)org> |
Subject: | ECPG Segfault and variable usage question. |
Date: | 2004-02-12 19:00:12 |
Message-ID: | JEEKIPNAKJNCFLMOBKHGAEEEDCAA.email@juergen-cappel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
Hello,
this is a code snippet that causes ECPG to segfault. It's quite tricky
to produce, as changing the variable name from 'var' to 'myvar' already
causes things to compile fine ...
#define CHAR_LENGTH 25
myfunction ()
{
EXEC SQL BEGIN DECLARE SECTION;
char var[2*CHAR_LENGTH];
EXEC SQL END DECLARE SECTION;
EXEC SQL DECLARE mycursor CURSOR FOR
SELECT att1, att2
FROM mytable
WHERE att1 LIKE :var ESCAPE '\\';
EXEC SQL OPEN mycursor;
}
Stack trace was obtained using a snapshot from about 2 weeks ago, ECPG from
the 7.4.1 release segfaults also.
#0 0x4015fdcb in chunk_free () from /lib/libc.so.6
#1 0x4015fc53 in free () from /lib/libc.so.6
#2 0x080685b7 in dump_variables (list=0x80c1408, mode=1) at variable.c:405
#3 0x08066d56 in output_statement (
stmt=0x80c14f8 "declare mycursor cursor for select att1 , att2
from mytable where att1 like ? escape '\\\\' ", mode=0, con=0x0) at
output.c:126
#4 0x0804af02 in yyparse () at preproc.y:780
#5 0x0806671d in main (argc=8, argv=0xbffff264) at ecpg.c:409
#6 0x401089ed in __libc_start_main () from /lib/libc.so.6
Another problem that's giving me headaches trying to find a workaround for
is the following use of variables as data sources in INSERT/UPDATE
statements:
:myarray[index[10]]
Any comments, suggestions, hints ? Thanks a lot,
Jürgen
From | Date | Subject | |
---|---|---|---|
Next Message | Jeroen T. Vermeulen | 2004-02-12 19:35:55 | Re: Cannot compile libpq for Win 32 Environment |
Previous Message | Tom Lane | 2004-02-12 15:45:03 | Re: confused newbie (to pg not db's) |