Skip site navigation (1) Skip section navigation (2)

Re: Problems with variable cursorname in ecpg

From: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
To: Michael Meskes <meskes(at)postgresql(dot)org>
Cc: PostgreSQL Hacker <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Problems with variable cursorname in ecpg
Date: 2010-03-31 11:15:20
Message-ID: 4BB32EC8.60505@cybertec.at (view raw, whole thread or download thread mbox)
Thread:
Lists: pgsql-hackers
Boszormenyi Zoltan írta:
> I think you forget that in this case, only global variables are
> usable in the DECLARE in this case, no local variables in
> functions preceding the DECLARE are visible to it.
>
> What we need here is an extra check in ECPGdump_a_type().
> We need to raise an error if
>      ECPGdump_a_type(name, type, ...)
> and
>     var = with find_variable(name);
> on the passed name disagrees in the variable type and maybe
> a warning if they disagree in the brace_level. The same applies
> to the indicator variable. For that, we need to pass the brace_level
> to ECPGdump_a_type() for both the variable and the indicator.
>   

I was thinking about something like the attached patch.
It passes all the regression tests.

Best regards,
Zoltán Böszörményi

-- 
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics

----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/


Attachment: pg90-ecpg-warn-hidden-vars-ctxdiff.patch
Description: text/x-patch (7.8 KB)

In response to

Responses

pgsql-hackers by date

Next:From: Boszormenyi ZoltanDate: 2010-03-31 11:18:02
Subject: Re: Problems with variable cursorname in ecpg
Previous:From: Michael MeskesDate: 2010-03-31 11:14:24
Subject: Re: ECPG pointer vs array

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group