Re: pre-parser query manipulation - Mailing list pgsql-general

From Randall Smith
Subject Re: pre-parser query manipulation
Date
Msg-id eta65o$jmq$3@sea.gmane.org
Whole thread Raw
In response to Re: pre-parser query manipulation  (Erik Jones <erik@myemma.com>)
List pgsql-general
Erik Jones wrote:
> This may be a dupe.  I sent and had some issues with my mail client and
> afterwards it was sitting all alone in my outbox, if you've already seen
> this, sorry for the resend...
>
> On Mar 14, 2007, at 2:08 PM, Randall Smith wrote:
>
>> Hi,
>>
>> I'm attempting to process a query written in the form:
>>
>>     SELECT fields FROM table WHERE conditions FOR UPDATE OF field_name
>>
>> when Postgresql supports:
>>
>>     SELECT fields FROM table WHERE conditions FOR UPDATE OF table_name
>>
>> I'd like to remove the OF clause in the case only one table is queried.
>>
>> Anyone know of a solution to this?
>
> The OF clause is optional in postrges.  The semantics are thus:
>
> Without OF clause:  lock all rows in all tables in the from clause that
> contribute data to the rows returned by your select statement.  So, if
> I'm understanding what you're asking here, just chop off the OF clause
> and you're set.

Didn't know that.  Thanks.

Chopping off the OF clause is the problem.  I have control of the DB,
but not of the application.  I do have control over the JDBC driver so I
could attack it there, but it would be neat to intercept the query
before the parser gets it and chop off the OF.  Any idea how to do that?
  Rules work after the parser, right?

>
> With OF clause: lock only rows from the specified tables that contribute
> data to the rows returned by your select statement.
>
> There isn't any way that I know of to lock specific columns on a table
> as it seems the first query you listed is doing.

Oracle likes it for some reason even though I think it only does row
level locking.

Randall

pgsql-general by date:

Previous
From: Randall Smith
Date:
Subject: Re: [Bulk] Re: quoted identifier behaviour
Next
From: "Kynn Jones"
Date:
Subject: Automating access grants