Re: [HACKERS] proposal: session server side variables
От
Fabien COELHO
Тема
Re: [HACKERS] proposal: session server side variables
Дата
Msg-id
alpine.DEB.2.20.1612231548410.3892@lancre
Ответ на
proposal: session server side variables (Pavel Stehule)
Список
Дерево обсуждения
proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: proposal: session server side variables Thomas Kellerer <spam_eater@gmx.net>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Joe Conway <mail@joeconway.com>
Re: [HACKERS] proposal: session server side variables Fabrízio de Royes Mello <fabriziomello@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabrízio de Royes Mello <fabriziomello@gmail.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: [HACKERS] proposal: session server side variables Joe Conway <mail@joeconway.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <fabien.coelho@mines-paristech.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <fabien.coelho@mines-paristech.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Joe Conway <mail@joeconway.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Tom Lane <tgl@sss.pgh.pa.us>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Fabien COELHO <coelho@cri.ensmp.fr>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: proposal: session server side variables Craig Ringer <craig@2ndquadrant.com>
Re: proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Re: proposal: session server side variables Artur Zakirov <a.zakirov@postgrespro.ru>
Re: proposal: session server side variables Pavel Stehule <pavel.stehule@gmail.com>
Hello Pavel, > The session variables should be: I have often wished I had such a feature, psql client side :-variables are just awful raw text things. A few comments, mostly about the design: > 1. persistent objects with temporal unshared typed content. The life of > content should be limited by session or by transaction. The content is > initialized to default (when it is defined) or to NULL when variable is > first accessed in variable' time scope (session, transaction). > > CREATE VARIABLE [schema.]variable type [DEFAULT default_value] > [TRANSACTION|SESION SCOPE] I'm not sure of the order, and from a parser perspective it is nice to announce the type before the value. Maybe a SQL-server like @-prefix would be nice, something like: CREATE VARIABLE @foo TEXT DEFAULT 'hello' SCOPE SESSION; > DROP VARIABLE [schema.]variable In the long term, What would be the possible scopes? TRANSACTION, SESSION, PERSISTANT ? Would some scopes orthogonal (eg SHARED between sessions for a USER in a DATABASE, SHARED at the cluster level?). How to deal with namespace issues? > 2. accessed with respecting access rights: > > GRANT SELECT|UPDATE|ALL ON VARIABLE variable TO role > REVOKE SELECT|UPDATE|ALL ON VARIABLE variable FROM role At least for transaction and session scopes it does not make sense that they would be accessible outside the session/transaction, so grant/revoke do not seem necessary? > 3. accessed/updated with special function "getvar", "setvar": > > FUNCTION getvar(regclass) RETURNS type > FUNCTION setvar(regclass, type) RETURNS void From an aesthetical point of view, I do not like that much. If you use CREATE & DROP, then logically you should use ALTER: CREATE VARIABLE @name TEXT DEFAULT 'calvin'; CREATE VARIABLE @name TEXT = 'calvin'; ALTER VARIABLE @name SET VALUE TO 'hobbes'; ALTER VARIABLE @name = 'hoobes'; DROP VARIABLE @name; Maybe "SET" could be an option as well, but it is less logical: SET @name = 'susie'; But then "SET @..." would just be a shortcut for ALTER VARIABLE. Also a nicer way to reference them would be great, like SQL server. SELECT * FROM SomeTable WHERE name = @name; A function may be called behind the scene, I'm just arguing about the syntax here... Important question, what nice syntax to assign the result of a query to a variable? Maybe it could be: SET @name = query-returning-one-row; -- hmmm SET @name FROM query-returning-one-row; -- maybe better Or: ALTER VARIABLE @name WITH one-row-query; Special variables could allow to get the number of rows modified by the last option, like in PL/pgSQL but at the SQL level? > 4. non transactional - the metadata are transactional, but the content is > not. Hmmm... Do you mean: CREATE VARIABLE foo INT DEFAULT 1 SCOPE SESSION; BEGIN; SET @foo = 2; ROLLBACK; Then @foo is 2 despite the roolback? Yuk! I think that if the implementation is based on some system table for storage, then you could get the transaction properties for free, and it seems more logical to do so: CREATE TEMPORARY TABLE pg_session_variables(name TEXT PRIMARY KEY, value TEXT, oidtype, ...); CREATE VARIABLE @foo INTEGER; -- INSERT INTO TABLE ... SELECT * FROM x WHERE name = @foo; -- SELECT * FROM x WHERE name = (SELECT value::INT FROM pg_session_variables WHERE name='foo') So maybe some simple syntactic rewriting would be enough? Or some SPI function? -- Fabien.
В списке pgsql-hackers по дате отправления