From: Michael Meskes <meskes@postgresql.org>
To: Jürgen Cappel <email@juergen-cappel.de>
Cc: pgsql-interfaces <pgsql-interfaces@postgresql.org>
Subject: Re: ECPG Segfault and variable usage question.
Date: Sun, 15 Feb 2004 14:42:25 +0100
Message-ID: <20040215134225.GA13602@1> (raw)
In-Reply-To: <JEEKIPNAKJNCFLMOBKHGAEEEDCAA.email@juergen-cappel.de>
References: <JEEKIPNAKJNCFLMOBKHGAEEEDCAA.email@juergen-cappel.de>
On Thu, Feb 12, 2004 at 08:00:12PM +0100, Jürgen Cappel wrote:
> this is a code snippet that causes ECPG to segfault. It's quite tricky
I took this code as a.pgc and ran 'ecpg a.pgc' without any problem. Do
you use any special options for ecpg?
> Stack trace was obtained using a snapshot from about 2 weeks ago, ECPG from
> the 7.4.1 release segfaults also.
Hmm, my 7.4.1 version also compiles this snippet cleanly.
> 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,
Could you please try if the following patch helps you?
--- /home/postgres/pgsql-ecpg/preproc/pgc.l 2003-12-29 14:53:04.000000000 +0100
+++ pgc.l 2004-02-15 14:38:43.000000000 +0100
@@ -183,7 +183,7 @@
identifier {ident_start}{ident_cont}*
-array ({ident_cont}|{whitespace}|[\+\-\*\%\/\(\)])*
+array ({ident_cont}|{whitespace}|[\[\]\+\-\*\%\/\(\)])*
typecast "::"
/*
This will make it into CVS soon.
Michael
--
Michael Meskes
Email: Michael at Fam-Meskes dot De
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: meskes@postgresql.org, email@juergen-cappel.de
Subject: Re: ECPG Segfault and variable usage question.
In-Reply-To: <20040215134225.GA13602@1>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox