Re: PL/pgSQL support to define multi variables once - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: PL/pgSQL support to define multi variables once
Date
Msg-id CAFj8pRCrwgcKKdcwWhxPrW7xU2rU8BfVb-FYJT1Sb1nz16hzrg@mail.gmail.com
Whole thread Raw
In response to Re: PL/pgSQL support to define multi variables once  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: PL/pgSQL support to define multi variables once  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
We can disallow custom initialization when when variables are declared as list.

Quan' example is 100% valid in SQL/PSM and what I read about ADA then in ADA too.

Regards

Pavel


2014-06-13 16:04 GMT+02:00 Tom Lane <tgl@sss.pgh.pa.us>:
Quan Zongliang <quanzongliang@gmail.com> writes:
> CREATE OR REPLACE FUNCTION try_mutlivardef() RETURNS text AS $$
> DECLARE
> local_a, local_b, local_c text := 'a1----';
> BEGIN
> return local_a || local_b || local_c;
> end;
> $$ LANGUAGE plpgsql;

This does not seem like a terribly good idea from here.  The main problem
with the syntax is that it's very unclear whether the initializer (if any)
applies to all the variables or just one.  C users will probably think
the latter but your example seems to suggest that you think the former.
I doubt that this adds so much usefulness that it's worth adding confusion
too.

                        regards, tom lane


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Audit of logout
Next
From: Andres Freund
Date:
Subject: Re: PL/pgSQL support to define multi variables once