Re: Exclusion constraints on partitioned tables

Ronan Dunklau <ronan.dunklau@aiven.io>

From: Ronan Dunklau <ronan.dunklau@aiven.io>
To: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@lists.postgresql.org, Paul Jungwirth <pj@illuminatedcomputing.com>
Cc: Pgsql Hackers <pgsql-hackers@postgresql.org>
Date: 2023-03-20T08:24:59Z
Lists: pgsql-hackers
Le vendredi 17 mars 2023, 17:03:09 CET Paul Jungwirth a écrit :
> I added the code about RTEqualStrategyNumber because that's what we need
> to find an equals operator when the index is GiST (except if it's using
> an opclass from btree_gist; then it needs to be BTEqual again). But then
> I realized that for exclusion constraints we have already figured out
> the operator (in RelationGetExclusionInfo) and put it in
> indexInfo->ii_ExclusionOps. So we can just compare against that. This
> works whether your index uses btree_gist or not.
> 
> Here is an updated patch with that change (also rebased).

Thanks ! This looks fine to me like this.

> 
> I also included a more specific error message. If we find a matching
> column in the index but with the wrong operator, we should say so, and
> not say there is no matching column.
>

I agree that's a nicer improvement. 

Regards,

--
Ronan Dunklau





Commits

  1. Allow some exclusion constraints on partitions