public inbox for pgsql-performance@postgresql.org  
help / color / mirror / Atom feed
From: Arthur Zakirov <a.zakirov@postgrespro.ru>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: Fabien COELHO <coelho@cri.ensmp.fr>
Cc: Gilles Darold <gilles.darold@dalibo.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: [HACKERS] proposal: schema variables
Date: Fri, 21 Sep 2018 22:46:18 +0300
Message-ID: <20180921194617.GA8051@artur-book.localdomain> (raw)
In-Reply-To: <CAFj8pRAHgzY-_F9NWSziWKParY4_wx7-ZuypuQ=CAjkQB+2zyg@mail.gmail.com>
References: <CAFj8pRAcFv09qOcbr09c2AbwZ9DGw5Hs6rPcYoo7r9OLdWWB2A@mail.gmail.com>
	<CAEZATCVy77hhgTZ1Yrvbp6GbsUuWY0Bw8CLbv_Jr2mAF_bOkBA@mail.gmail.com>
	<CAFj8pRDREykg0hnMBkryBmSTtqEs9QUKUp_447_F5P1j8bkH1w@mail.gmail.com>
	<CAFj8pRBkPswn0JA8U3vFOdBGqcBu0ZM7jC7JcDdCS1EbZfzb2A@mail.gmail.com>
	<CAFj8pRAi2Xd93ae-SsnMOC5W4hWenmkftTnCrHgdcPpvbOs1bg@mail.gmail.com>
	<CAFj8pRCZuq=0MRsYrNzBqxPx5fqmKFN3i-BsPo8j=yW6N_=WDA@mail.gmail.com>
	<20180919112305.GA18604@zakirov.localdomain>
	<CAFj8pRA-yGAedtHeS4fDzWsJR1WqVu3TXABpF+XYrQE5fd0Dog@mail.gmail.com>
	<20180919125324.GA31127@zakirov.localdomain>
	<CAFj8pRAHgzY-_F9NWSziWKParY4_wx7-ZuypuQ=CAjkQB+2zyg@mail.gmail.com>

On Wed, Sep 19, 2018 at 04:36:40PM +0200, Pavel Stehule wrote:
> ON COMMIT DROP is used only for temp variables (transaction or not
> transaction). The purpose is same like for tables. Sometimes you can to
> have object with shorter life than is session.
> 
> ON TRANSACTION END RESET has sense mainly for not transaction variables. I
> see two use cases.
> 
> 1. protect some sensitive data - on transaction end guaranteed reset and
> cleaning on end transaction. So you can be sure, so variable is not
> initialized (has default value), or you are inside transaction.
> 
> 2. automatic initialization - ON TRANSACTION END RESET ensure so variable
> is in init state for any transaction.
> 
> Both cases has sense for transaction or not transaction variables.
> 
> I am thinking so transaction life time for content has sense. Is cheaper to
> reset variable than drop it (what ON COMMIT DROP does)
> 
> What do you think?

Thanks, I understood the cases.

But I think there is more sense to use these options only with transactional
variables. It is more consistent and simple for me.

As a summary, it is 1 voice vs 1 voice :) So it is better to leave the
syntax as is without changes for now.

-- 
Arthur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company




reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: a.zakirov@postgrespro.ru, pavel.stehule@gmail.com, dean.a.rasheed@gmail.com, coelho@cri.ensmp.fr, gilles.darold@dalibo.com, pgsql-hackers@lists.postgresql.org
  Subject: Re: [HACKERS] proposal: schema variables
  In-Reply-To: <20180921194617.GA8051@artur-book.localdomain>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox