Re: [HACKERS] proposal: schema variables - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: [HACKERS] proposal: schema variables
Date
Msg-id CAFj8pRC3jq38zpNRJjQepkQKogfKC=0teb4OviZ7RwZ4je8ymQ@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] proposal: schema variables  (srielau <serge@rielau.com>)
Responses Re: [HACKERS] proposal: schema variables  (Serge Rielau <serge@rielau.com>)
List pgsql-hackers
Hi

2017-10-30 22:42 GMT+01:00 srielau <serge@rielau.com>:
Pavel,

I wouldn't put in the DROP option.
Or at least not in that form of syntax.

By convention CREATE persists DDL and makes object definitions visible
across sessions.
DECLARE defines session private objects which cannot collide with other
sessions.

If you want variables with a short lifetime that get dropped at the end of
the transaction that by definition would imply a session private object. So
it ought to be DECLARE'd.

As far as I can see PG has been following this practice so far.

I am thinking so there is little bit overlap between DECLARE and CREATE TEMP VARIABLE command. With DECLARE command, you are usually has not any control when variable will be destroyed. For CREATE TEMP xxxx is DROP IF EXISTS, but it should not be used.

It should be very similar to our current temporary tables, that are created in session related temp schema.

I can imagine, so DECLARE command will be introduced as short cut for CREATE TEMP VARIABLE, but in this moment I would not to open this topic. I afraid of bikeshedding and I hope so CREATE TEMP VAR is anough.

Regards

Pavel


Cheers
Serge Rielau
Salesforce.com



--
Sent from: http://www.postgresql-archive.org/PostgreSQL-hackers-f1928748.html


--
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: Rob McColl
Date:
Subject: [HACKERS] PostgreSQL 10 parenthesized single-column updates can produce errors
Next
From: Pavel Stehule
Date:
Subject: Re: [HACKERS] SQL procedures