Re: UPDATE of partition key

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Cc: Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com>, Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: UPDATE of partition key
Date: 2017-05-18 11:22:43
Message-ID: CAA4eK1J_RYCtrUmMDygwRV5oAEE-hOkkLcQUaMq2dHA_vAd9FQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, May 17, 2017 at 4:05 PM, Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
> On Wed, May 17, 2017 at 3:15 PM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>>> Earlier I thought that option1 is better but later I think that this
>>> can complicate the situation as we are firing first BR update then BR
>>> delete and can change the row multiple time and defining such
>>> behaviour can be complicated.
>>>
>>
>> If we have to go by this theory, then the option you have preferred
>> will still execute BR triggers for both delete and insert, so input
>> row can still be changed twice.
>
> Yeah, right as per my theory above Option3 have the same problem.
>
> But after putting some more thought I realised that only for "Before
> Update" or the "Before Insert" trigger row can be changed.
>

Before Row Delete triggers can suppress the delete operation itself
which is kind of unintended in this case. I think without the user
being aware it doesn't seem advisable to execute multiple BR triggers.

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Sveinn Sveinsson 2017-05-18 11:57:59 Re: [BUGS] BUG #14657: Server process segmentation fault in v10, May 10th dev snapshot
Previous Message Michael Paquier 2017-05-18 11:06:48 Re: [bug fix] PG10: libpq doesn't connect to alternative hosts when some errors occur