Re: MERGE PARTITIONS and DEPENDS ON EXTENSION.

Matheus Alcantara <matheusssilv97@gmail.com>

From: Matheus Alcantara <matheusssilv97@gmail.com>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Dmitry Koval <d.koval@postgrespro.ru>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-04-21T19:23:33Z
Lists: pgsql-hackers
On 21/04/26 12:57, Alexander Korotkov wrote:
> I've spotted the following things in this patch.
> 1) The equality of dependencies is not fully checked.  We only check
> that for each new dependency, we have the same for previous partition,
> but not vise versa.
> 2) The complexity of dependency checking is O(n^2).
> 3) Usage of citext and other extensions in src/test/regress where they
> might be not available.
> 

Oops, I forgot to replace the citext extension on split partition tests.

> I've revised the patch.
> 1) collectPartitionIndexExtDeps() is rewritten().  Now it works in
> three phases: collect, sort, compare.  The comparison phase requires
> strict equivalence of dependencies and doesn't depend on the order.
> The complexity is now O(n * log(n)), which I think is acceptable.
> 2) PartitionIndexExtDepEntry struct now have indexOid.  So, on
> conflict error contains both partition index names.
> 3) Tests moved to
> src/test/modules/test_extensions/sql/test_extdepend.sql where
> test_ext3/test_ext5 extensions are available.
> 4) More tests for different scenarios.
> 
> Could you, please, review this changes?
> 

I think that you miss to include the patch?

--
Matheus Alcantara
EDB: https://www.enterprisedb.com



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Preserve extension dependencies on indexes during partition merge/split