Re: LIMIT 1 FOR UPDATE or FOR UPDATE LIMIT 1? - Mailing list pgsql-sql

From Jan Wieck
Subject Re: LIMIT 1 FOR UPDATE or FOR UPDATE LIMIT 1?
Date
Msg-id 3D6A7692.2F43B18@Yahoo.com
Whole thread Raw
In response to Re: LIMIT 1 FOR UPDATE or FOR UPDATE LIMIT 1?  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: LIMIT 1 FOR UPDATE or FOR UPDATE LIMIT 1?  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: LIMIT 1 FOR UPDATE or FOR UPDATE LIMIT 1?  (Magnus Enbom <dot@rockstorm.se>)
List pgsql-sql
Bruce Momjian wrote:
> 
> I found this email from April.  It properly points out that our
> LIMIT/FOR UPDATE ordering doesn't match MySQL's, and MySQL's looks more
> correct, specifically that the FOR UPDATE is after the LIMIT.  Our
> grammar is:

How do you define "correct" for "non-standard" features? And why don't
you ask Monty first to change to our "de-facto-standard"? ;-)


Jan

> 
>        | select_clause sort_clause opt_for_update_clause opt_select_limit
> 
> How do we want to deal with this?  I tried allowing both orderings with
> the attached patch but got:
> 
>         bison -y -d  gram.y
>         conflicts:  4 shift/reduce, 5 reduce/reduce
> 
> ---------------------------------------------------------------------------
> 
> Magnus Enbom wrote:
> > Hi,
> >
> > I've just been hit by a small but annoying difference between postgres(7.2)
> > and mysql(4.x).
> > In postgresql you do:
> >
> > SELECT * FROM table FOR UPDATE LIMIT 1;
> >
> > and in mysql you do:
> >
> > SELECT * FROM table LIMIT 1 FOR UPDATE;
> >
> > Is it possible for postgres to accept the mysql syntax as well?
> > It's not that many databases that implement LIMIT, so it would be nice if the
> > ones that do have the same syntax(or can accept each others variants).
> >
> > -- Magnus
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
> 
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
> 
>   ------------------------------------------------------------------------
>                 Name: /bjm/diff
>    /bjm/diff    Type: Plain Text (text/plain)
>             Encoding: 7bit
> 
>    Part 1.3    Type: Plain Text (text/plain)
>            Encoding: 8bit

-- 

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #


pgsql-sql by date:

Previous
From: Jiaqing Wang
Date:
Subject: Re: weird situation, BUG or I'm not doing it right
Next
From: Bruce Momjian
Date:
Subject: Re: LIMIT 1 FOR UPDATE or FOR UPDATE LIMIT 1?