Re: [HACKERS] proposal: schema variables
Pavel Stehule <pavel.stehule@gmail.com>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Move WAL sequence code into its own file
- a87987cafca6 19 (unreleased) cited
-
Add ExplainState argument to pg_plan_query() and planner().
- c83ac02ec730 19 (unreleased) cited
-
Don't include access/htup_details.h in executor/tuptable.h
- 1a8b5b11e48a 19 (unreleased) cited
-
Refactor to avoid code duplication in transformPLAssignStmt.
- b0fb2c6aa5a4 19 (unreleased) cited
-
Avoid including commands/dbcommands.h in so many places
- 325fc0ab14d1 19 (unreleased) cited
-
Restrict psql meta-commands in plain-text dumps.
- 71ea0d679543 19 (unreleased) cited
-
Split func.sgml into more manageable pieces
- 4e23c9ef65ac 19 (unreleased) cited
-
Fix squashing algorithm for query texts
- 0f65f3eec478 18.0 cited
-
EXPLAIN: Always use two fractional digits for row counts.
- 95dbd827f2ed 18.0 cited
-
Preliminary refactoring of plpgsql expression construction.
- a654af21ae52 18.0 cited
-
plpgsql: pure parser and reentrant scanner
- 7b27f5fd36cb 18.0 cited
-
Add some sanity checks in executor for query ID reporting
- 24f520594809 18.0 cited
-
Fix misleading error message context
- 4af123ad45bd 18.0 cited
-
Add macros for looping through a List without a ListCell.
- 14dd0f27d7cd 17.0 cited
Hi 2018-05-01 3:56 GMT+02:00 Peter Eisentraut <peter.eisentraut@2ndquadrant.com >: > On 4/20/18 13:45, Pavel Stehule wrote: > > I dunno, it seems awfully different to me. There's only one > "column", > > right? What code is really shared here? Are constraints and > triggers > > even desirable feature for variables? What would be the use case? > > > > > > The schema variable can hold composite value. The patch allows to use > > any composite type or adhoc composite values > > > > DECLARE x AS compositetype; > > DECLARE x AS (a int, b int, c int); > > I'm not sure that this anonymous composite type thing is such a good > idea. Such a variable will then be incompatible with anything else, > because it's of a different type. > Using anonymous composite type variable is just shortcut for situations when mentioned feature is not a problem. These variables are global, so there can be only one variable of some specific composite type, and incompatibility with others is not a issue. This feature can be interesting for short live temp variables - these variables can be used for parametrization of anonymous block. But this feature is not significant, and can be removed from patch. > In any case, I find that a weak argument for storing this in pg_class. > You could just as well create these pg_class entries implicitly and link > them from "pg_variable", same as composite types have a main entry in > pg_type and additional stuff in pg_class. > > > I think stuffing this into pg_class is pretty strange. > > > > It will be if variable is just scalar value without any possibilities. > > But then there is only low benefit > > > > The access rights implementation is shared with other from pg_class too. > > In DB2, the privileges for variables are named READ and WRITE. That > would make more sense to me than reusing the privilege names for tables. > > good idea Regards Pavel > -- > Peter Eisentraut http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services >