Re: [HACKERS] UPDATE of partition key
От | Amit Kapila |
---|---|
Тема | Re: [HACKERS] UPDATE of partition key |
Дата | |
Msg-id | CAA4eK1LWXc07C7LdWGq83eh9XYAZpKgLanr1TiXrTL00gwsbAw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] UPDATE of partition key (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: [HACKERS] UPDATE of partition key
|
Список | pgsql-hackers |
On Thu, Jun 8, 2017 at 10:40 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Thu, Jun 8, 2017 at 7:01 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: >> On Thu, Jun 8, 2017 at 1:33 AM, Robert Haas <robertmhaas@gmail.com> wrote: >>> On Wed, Jun 7, 2017 at 5:46 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: >>>> As far as I understand, it is to ensure that for deleted rows, nothing >>>> more needs to be done. For example, see the below check in >>>> ExecUpdate/ExecDelete. >>>> if (!ItemPointerEquals(tupleid, &hufd.ctid)) >>>> { >>>> .. >>>> } >>>> .. >>>> >>>> Also a similar check in ExecLockRows. Now for deleted rows, if the >>>> t_ctid wouldn't point to itself, then in the mentioned functions, we >>>> were not in a position to conclude that the row is deleted. >>> >>> Right, so we would have to find all such checks and change them to use >>> some other method to conclude that the row is deleted. What method >>> would we use? >> >> I think before doing above check we can simply check if ctid.ip_blkid >> contains InvalidBlockNumber, then return an error. > > Hmm, OK. That case never happens today? > As per my understanding that case doesn't exist. I will verify again once the patch is available. I can take a crack at it if Amit Khandekar is busy with something else or is not comfortable in this area. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: