On 1/8/17 12:03 AM, Pavel Stehule wrote:
BTW, I do wish you could change the label of the scope that
arguments went into, so that you could use that label to refer
to function parameters. If we allowed that it'd perhaps be the
best of both worlds: you'd be guaranteed access to all auto
variables and parameters, and that access wouldn't need to be
tied to the function name (which can be both painful and error
We can talk about compiler directive.
PRAGMA auto_variables_label(xxxx) -- require function scope only
If we know a list of all auto variables, then it can be on function or
block level - it can create aliases.
Oh, the problem is that if you have an argument with the same name as an
auto variable you're in trouble.
Probably the easiest thing is to have a scope that sits above the scope
containing the arguments, and then allow the user to rename both scopes
if so desired. So in effect you'd end up with
<<plpgsql>> -- new scope
-- User supplied block goes here, with optional label
Alternatively, we could do...
DECLARE-- User's DECLARE
-- User supplied declare code
BEGIN -- User's BEGIN
That removes one level of nesting. It's probably better to go with the
first option though, since it's simpler.
In both cases, I'd really like the ability to rename those blocks.
#pragma would be fine for that.
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: