ecpg with nested structure - Mailing list pgsql-interfaces

From Jürgen Cappel
Subject ecpg with nested structure
Date
Msg-id JEEKIPNAKJNCFLMOBKHGEEALDCAA.email@juergen-cappel.de
Whole thread Raw
Responses Re: ecpg with nested structure
List pgsql-interfaces
Hello,

while porting an application from CA/Ingres to PostgreSQL
I came across a segmentation fault by ecpg. The code looks
something like this:


EXEC SQL BEGIN DECLARE SECTION;
struct bnd_a
{   struct bnd_b   {char myvar[31];   } bnd_b[5];
} bnd_a[5];
EXEC SQL END DECLARE SECTION;

myfunction()
{   EXEC SQL DECLARE mycursor CURSOR FOR     SELECT mycolumn FROM mytable;   EXEC SQL OPEN mycursor;   EXEC SQL FETCH
mycursor    INTO :bnd_a[0].bnd_b[0].myvar;   EXEC SQL CLOSE mycursor;
 
}


Versions are:

ecpg (PostgreSQL 7.4) 3.0.0
Linux scaleo 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown

Stack trace:

#0  0x40163a40 in strcmp () from /lib/libc.so.6
#1  0x080678d2 in find_struct_member (name=0x80c0f88 "bnd_a[0].bnd_b[0]",   str=0x80c0f97 "0]", members=0x80c1170,
brace_level=0)at variable.c:37
 
#2  0x08067c1f in find_struct_member (name=0x80c0f88 "bnd_a[0].bnd_b[0]",   str=0x80c0f91 "bnd_b[0]",
members=0x80c11a0,brace_level=0) at
 
variable.c:110
#3  0x08067ea6 in find_struct (name=0x80c0f88 "bnd_a[0].bnd_b[0]",   next=0x80c0f8d "[0].bnd_b[0]", end=0x80c0f90
".bnd_b[0]")at
 
variable.c:185
#4  0x08067fb3 in find_variable (name=0x80c0f88 "bnd_a[0].bnd_b[0]")   at variable.c:238
#5  0x080604c0 in yyparse () at preproc.y:6152
#6  0x08066632 in main (argc=4, argv=0xbffff284) at ecpg.c:394
#7  0x401089ed in __libc_start_main () from /lib/libc.so.6

Are nested structures not supported by ecpg ?

Thanks for any information,

Jürgen



pgsql-interfaces by date:

Previous
From: mixo
Date:
Subject: "unicode" warnings
Next
From: Jürgen Cappel
Date:
Subject: ecpg odd syntax error at array index