public inbox for [email protected]
help / color / mirror / Atom feedFrom: Pavel Stehule <[email protected]>
To: Bruce Momjian <[email protected]>
Cc: Tom Lane <[email protected]>
Cc: pgsql-docs <[email protected]>
Subject: Re: remove undocumented assign syntax from plpgsql doc
Date: Sun, 12 Jan 2014 07:00:09 +0100
Message-ID: <CAFj8pRAyAOi9ZJbxMBPkW+r03n+zQm6idojWWH2n17h8NGyXBA@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CAFj8pRDHJqRwZd-GO1t3WnLnS--E943xPrEUSOT_nL8xr9mE2g@mail.gmail.com>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<CAFj8pRDukaWkUtQRZujhbLRCh6haOY-FDunVXjf2X2XNdNOKGQ@mail.gmail.com>
<[email protected]>
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgsql-docs>
2014/1/12 Bruce Momjian <[email protected]>
> On Sat, Jan 11, 2014 at 10:06:27PM +0100, Pavel Stehule wrote:
> >
> >
> >
> > 2014/1/11 Tom Lane <[email protected]>
> >
> > Bruce Momjian <[email protected]> writes:
> > > Oh, I think you are right. I have reverted the patch. Attached is
> > > proposed documentation for '='.
> >
> > Meh. Variable initialization is only one of multiple cases
> (assignment,
> > GET DIAGNOSTICS; maybe others, I've not examined the grammar). Also,
> > if we do it like this, we're implying that both := and = are equally
> > preferred, which might not be the impression we want to leave.
> >
> >
> > GET DIAGNOSTICS is defined by standard - and there "=" should be allowed
> only -
> > although we allow ":=" too. It is a embedded SQL statement - although it
> is
> > implemented as plpgsql statement.
>
> OK, docs updated for that. I assume OPEN and FOR also can take := or =,
> right?
>
> > Same situation is with UPDATE statement - we don't allow ":=" there.
> >
> >
> >
> > I'd be a bit inclined to just stick a NOTE somewhere saying that "="
> > can be used in place of ":=" for assignment.
> >
> >
> > ok
> >
> > If we accept it and we close this topic, then following comment should be
> > removed
> >
> > assign_operator : '=' /* not documented because it might be removed
> someday *
>
> Comment updated. Patch attached.
>
>
Still I am missing message about preferred syntax (or we should to enhance
GET DIAGNOSTICS doc about proprietary syntax).
PL/pgSQL, PL/SQL is mix of two languages: ADA and SQL - and their designers
decided so embedded SQL statements will be placed in native SQL syntax (and
ADA in simplified ADA syntax)
We have to find a agreement what we will prefer for PL/pgSQL:
The assign statement is "ADA" statement - ":=" is preferred
The GET DIAGNOSTICS is "SQL" statement - "=" is preferred
A newer SQL/PSM was designed differently - without this dichotomy - A
assignment is emphased by syntax SET varname = value
A proper syntax is good information what is coming from - and It is good
mental helper to understand a philosophy of stored procedures (that shares
concepts with PL/SQL). Next argument is similarity with PL/SQL and SQL PL.
This statement (GET DIAGNOSTICS) is supported on both environments and only
"=" is allowed there.
Regards
Pavel
> --
> Bruce Momjian <[email protected]> http://momjian.us
> EnterpriseDB http://enterprisedb.com
>
> + Everyone has their own god. +
>
view thread (27+ messages) latest in thread
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: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: remove undocumented assign syntax from plpgsql doc
In-Reply-To: <CAFj8pRAyAOi9ZJbxMBPkW+r03n+zQm6idojWWH2n17h8NGyXBA@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox