Re: ecpg weird behavior - Mailing list pgsql-interfaces

From Nicolas Bazin
Subject Re: ecpg weird behavior
Date
Msg-id 000801c1ce36$4197d570$660d090a@software.ingenico.com.au
Whole thread Raw
In response to ecpg weird behavior  ("Nicolas Bazin" <nbazin@ingenico.com.au>)
Responses Re: ecpg weird behavior  (Michael Meskes <meskes@postgresql.org>)
List pgsql-interfaces
----- Original Message -----
From: "Michael Meskes" <meskes@postgresql.org>
To: "Nicolas Bazin" <nbazin@ingenico.com.au>
Cc: <pgsql-interfaces@postgresql.org>
Sent: Friday, March 15, 2002 7:21 PM
Subject: Re: [INTERFACES] ecpg weird behavior


> On Thu, Mar 14, 2002 at 05:16:41PM +1100, Nicolas Bazin wrote:
> > It will know the variables when the cursor is declared. Here is the
syntax
> > that we currently use with INFORMIX and it also corresponds to the
syntax in
> > the PostgreSQL documentation:
>
> Where did you find this in the PostgreSQL docs?
Ooops sorry I was refering to the documentation of the SQL commands in the
reference manual, but I guess it is not fully relevent here.

>
> It certainly is not implemented.
>
> > EXEC SQL DECLARE curs_currency CURSOR FOR
> >     SELECT DISTINCT
> > FT_devises.dvs_devise,pays.pys_coddevalp,pays.pys_nbrdecimal
> >     INTO :pays.pys_coddevnum, :pays.pys_coddevalp, :pays.pys_nbrdecimal
> >     FROM pays, FT_devises WHERE FT_devises.dvs_code =
:stpe.tpe_profdevise
> >     AND FT_devises.dvs_devise = pays.pys_coddevnum;
> >
> > EXEC SQL FETCH curs_currency;
>
> Anyone out there with more knowledge about standards? I thought this was
> not standard at all.
>
> > > Yes, I am. Please send it to me directly at meskes@postgresql.org.
> > This patch breaks backward compatibility. The idea was to change the
output
> > of the preproc when it parses EXEC SQL type mytpe is ... from comment to
the
> > proper typedef definition. Then the typedef doesn't have to be added
> > manually. If you still want it, I can send it.
>
> I still want it. After all I can change the behaviour with a command
> line option.

OK this patch includes the following (I hope it's in the right order this
time):
1.
EXEC SQL type mytype is .... does not need a typedef after.
2.
EXEC SQL begin declare section;
typedef struct {   int field1;
} mytype;
mytype var1;
EXEC SQL end declare sction;

I still have a problem when the grammar is parsed by bison. I get the
following message:
conflicts: 12 shift/reduce

As I told you before I'm not very familiar with yacc or bison so if you
could help me in finding what is the problem.

Nicolas BAZIN

>
> Michael
> --
> Michael Meskes
> Michael@Fam-Meskes.De
> Go SF 49ers! Go Rhein Fire!
> Use Debian GNU/Linux! Use PostgreSQL!
>



pgsql-interfaces by date:

Previous
From: "Nicolas Bazin"
Date:
Subject: Re: ecpg weird behavior
Next
From: "PG Explorer"
Date:
Subject: Re: TCP/IP database connection problem with pgaccess