pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Jan Wieck <JanWieck@Yahoo.com>
To: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: magnus.enbom@rockstorm.se
Cc: pgsql-sql@postgresql.org
Subject: Re: LIMIT 1 FOR UPDATE or FOR UPDATE LIMIT 1?
Date: Mon, 26 Aug 2002 14:42:26 -0400
Message-ID: <3D6A7692.2F43B18@Yahoo.com> (raw)
References: <200208260031.g7Q0VCC24924@candle.pha.pa.us>

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 #



view thread (43+ messages)  latest in thread

Message-ID: <3D6A7692.2F43B18@Yahoo.com>
Permalink:  ../3D6A7692.2F43B18@Yahoo.com/
Also on:    postgresql.org/message-id/3D6A7692.2F43B18@Yahoo.com

 · 

reply

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-sql@postgresql.org
  Cc: JanWieck@Yahoo.com, pgman@candle.pha.pa.us, magnus.enbom@rockstorm.se
  Subject: Re: LIMIT 1 FOR UPDATE or FOR UPDATE LIMIT 1?
  In-Reply-To: <3D6A7692.2F43B18@Yahoo.com>

* 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