Re: Schema variables - new implementation for Postgres 15
Justin Pryzby <pryzby@telsasoft.com>
From: Justin Pryzby <pryzby@telsasoft.com>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Tomas Vondra <tomas.vondra@enterprisedb.com>, Jaime Casanova <jcasanov@systemguards.com.ec>, Erik Rijkers <er@xs4all.nl>, Gilles Darold <gilles@darold.net>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Michael Paquier <michael@paquier.xyz>, Amit Kapila <amit.kapila16@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>, Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>
Date: 2021-11-06T14:57:14Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow underscores in integer and numeric constants.
- faff8f8e47f1 16.0 cited
-
Remove special outfuncs/readfuncs handling of RangeVar.catalogname.
- 3cece34be842 16.0 cited
-
Remove extra space from dumped ALTER DEFAULT PRIVILEGES.
- 2af33369e794 16.0 cited
-
Create FKs properly when attaching table as partition
- b0284bfb1db5 16.0 cited
-
psql: improve tab-complete's handling of variant SQL names.
- 02b8048ba5dc 15.0 cited
On Sat, Nov 06, 2021 at 04:45:19AM +0100, Pavel Stehule wrote: > st 3. 11. 2021 v 14:05 odesílatel Tomas Vondra <tomas.vondra@enterprisedb.com> napsal: > > 1) Not sure why we need to call this "schema variables". Most objects > > are placed in a schema, and we don't say "schema tables" for example. > > And it's CREATE VARIABLE and not CREATE SCHEMA VARIABLE, so it's a bit > > inconsistent. +1 At least the error messages need to be consistent. It doesn't make sense to have both of these: + elog(ERROR, "cache lookup failed for schema variable %u", varid); + elog(ERROR, "cache lookup failed for variable %u", varid); > Yes, there is inconsistency, but I think it is necessary. The name > "variable" is too generic. Theoretically we can use other adjectives like > session variables or global variables and the name will be valid. But it > doesn't describe the fundamentals of design. This is similar to the > package's variables from PL/SQL. These variables are global, session's > variables too. But the usual name is "package variables". So schema > variables are assigned to schemes, and I think a good name can be "schema > variables". But it is not necessary to repeat keyword schema in the CREATE > COMMAND. > > My opinion is not too strong in this case, and I can accept just > "variables" or "session's variables" or "global variables", but I am not > sure if these names describe this feature well, because still they are too > generic. There are too many different implementations of session global > variables (see PL/SQL or T-SQL or DB2). I would prefer "session variable". To me, this feature seems similar to a CTE (which exists for a single statement), or a temporary table (which exists for a single transaction). So "session" conveys a lot more of its meaning than "schema". But don't rename everything just for me... -- Justin