Re: Needless additional partition check in INSERT?
Amit Khandekar <amitdkhan.pg@gmail.com>
From: Amit Khandekar <amitdkhan.pg@gmail.com>
To: David Rowley <david.rowley@2ndquadrant.com>
Cc: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>,
Simon Riggs <simon@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Robert Haas <robertmhaas@gmail.com>, Amit Langote <amitlangote09@gmail.com>
Date: 2018-05-14T05:51:25Z
Lists: pgsql-hackers
On 14 May 2018 at 10:30, David Rowley <david.rowley@2ndquadrant.com> wrote: > On 14 May 2018 at 16:49, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> wrote: >> On 2018/05/11 18:43, Amit Khandekar wrote: >>> This looks better (it will avoid unnecessary ExecConstraints() call) : >>> >>> if (resultRelInfo->ri_PartitionRoot == NULL || >>> (resultRelInfo->ri_TrigDesc && >>> resultRelInfo->ri_TrigDesc->trig_insert_before_row)) >>> check_partition_constr = resultRelInfo->ri_PartitionCheck; >> >> You'd be assigning a List pointer to a bool variable with this. Maybe you >> meant: >> >> check_partition_constr = (resultRelInfo->ri_PartitionCheck != NIL); > > I also noticed that. Yes, I meant (resultRelInfo->ri_PartitionCheck != NIL) > Apart from that, I think your version is correct, > but I just don't think it's quite as easy to understand. Although > that's certainly debatable. > > For now, I'll refrain from writing v4 unless there's some consensus > that this is a better way to write it. Yes. if the simplicity is becoming debatable, I am ok with either. That was my own preference. -- Thanks, -Amit Khandekar EnterpriseDB Corporation The Postgres Database Company
Commits
-
Don't needlessly check the partition contraint twice
- 5b0c7e2f757a 11.0 landed