From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Meskes <meskes@postgresql.org>
Cc: pgsql-interfaces@postgresql.org
Subject: Re: FOR UPDATE is not allowed in this context
Date: Wed, 21 Feb 2001 14:03:00 -0500
Message-ID: <11485.982782180@sss.pgh.pa.us> (raw)
In-Reply-To: <20010221140221.A28917@feivel.credativ.de>
References: <F76sa7qEqlehFvHkQFY00003779@hotmail.com>
<8766.982717138@sss.pgh.pa.us>
<20010221140221.A28917@feivel.credativ.de>
Michael Meskes <meskes@postgresql.org> writes:
> On Tue, Feb 20, 2001 at 07:58:58PM -0500, Tom Lane wrote:
>> ... but I think there are related bugs associated with
>> some other ad-hoc flags in the ecpg parser, none of which get reset at
>> what I would consider a reasonable place to reset them ...
> Which one do you think of? I agree that some of this stuff is just a hack I
> needed to get that check into the parser. But so far I have yet to see a bug
> reported on these. Except for the one we are talking about of course.
Well, for example, once a CREATE RULE has been seen, ecpg will accept
'old' and 'new' in all subsequent statements, because QueryIsRule is
never reset. FoundInto is reset, but in the wrong place, meaning that
"CREATE TABLE/AS SELECT may not specify INTO" might be triggered
inappropriately, or not triggered when it's supposed to be.
My advice would be to eliminate both variables and leave it to the
backend to make the corresponding error checks.
BTW, I just committed some ecpg changes to modify the way
case-conversion of keywords is done, to keep it in line with the
backend. You'd said you wanted notification of such things ...
regards, tom lane
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: tgl@sss.pgh.pa.us, meskes@postgresql.org
Subject: Re: FOR UPDATE is not allowed in this context
In-Reply-To: <11485.982782180@sss.pgh.pa.us>
* 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