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
