Re: First draft of the PG 15 release notes
Amit Langote <amitlangote09@gmail.com>
Attachments
- reword-ordered-partition-scan-item_v2.diff (application/octet-stream) patch v2
On Thu, May 19, 2022 at 2:56 PM David Rowley <dgrowleyml@gmail.com> wrote: > On Thu, 19 May 2022 at 14:41, Amit Langote <amitlangote09@gmail.com> wrote: > > Though a bit late given beta is now wrapped, I have another partition > > item wording improvement suggestion: > > > > -Previously, a partitioned table with any LIST partition containing > > multiple values could not be used for ordered partition scans. Now > > only non-pruned LIST partitions are checked. This also helps with > > -partitioned tables with DEFAULT partitions. > > > > +Previously, an ordered partition scan would not be considered for a > > LIST-partitioned table with any partition containing multiple values, > > nor for partitioned tables with DEFAULT partition. > > I think your proposed wording does not really improve things. The > "Now only non-pruned LIST partitions are checked" is important and I > think Bruce did the right thing to mention that. Prior to this change, > ordered scans were not possible if there was a DEFAULT or if any LIST > partition allowed >1 value. Now, if the default partition is pruned > and there are no non-pruned partitions that allow Datum values that > are inter-mixed with ones from another non-pruned partition, then an > ordered scan can be performed. > > For example, non-pruned partition a allows IN(1,3), and non-pruned > partition b allows IN(2,4), we cannot do the ordered scan. With > IN(1,2), IN(3,4), we can. I think that's what I understood this change to be about. Before this change, partitions_are_ordered() only returned true if *all* partitions of a parent are known to be ordered, which they're not in the presence of the default partition and of a list partition containing out-of-order values. It didn't matter to partitions_are_ordered() that the caller might not care about those partitions being present in the PartitionDesc because of having been pruned by the query, but that information was not readily available . So, you added PartitionBoundInfo.interleaved_parts to record indexes of partitions containing out-of-order values and RelOptInfo.live_parts to record non-pruned partitions, which made it more feasible for partitions_are_ordered() to address those cases. I suppose you think it's better to be verbose by mentioning that partitions_are_ordered() now considers only non-pruned partitions which allows supporting more cases, but I see that as mentioning implementation details unnecessarily. Or maybe we could mention that but use a wording that doesn't make it sound like an implementation detail, like: +Previously, an ordered partition scan could not be used for a LIST-partitioned table with any partition containing multiple values, nor for partitioned tables with DEFAULT partition. Now it can be used in those cases at least for queries in which such partitions are pruned. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com
Commits
-
Doc: last minute adjustment to the release notes
- bb76510a07f3 15.0 landed
-
Doc: more tweaking of v15 release notes.
- 780add2c32a7 15.0 landed
-
Doc: further adjust notes about pg_upgrade_output.d.
- fbd2bd15b011 16.0 landed
- 796aa20a11b4 15.0 landed
-
Doc: add list of major features to the v15 release notes.
- a2ab0ad88cf8 15.0 landed
-
relnotes: update item about public schema permission change
- f5135d2aba87 15.0 landed
-
relnotes: update ordered partition scan item
- de89d8711e2b 15.0 landed
-
relnotes: add Heikki to UTF8 item
- 335e444f2269 15.0 landed
-
relnotes: improve UTF8 text item in relation to ASCII
- 9499c0fcf488 15.0 landed
-
relnotes: add null logical replication item
- 3715850ecc52 15.0 landed
-
relnotes: adjust several logical replication items and FK text
- 25285e5d4ee5 15.0 landed
-
relnotes: mention non-exclusive backup mode was deprecated
- 6bfecf33f6ed 15.0 landed
-
relnotes: add author to in-memory sorts item
- d70b95a7178a 15.0 landed
-
relnotes: update for non-exclusive backup mode removal
- da82c6246986 15.0 landed
-
relnote: improve sorting entries
- 922d1a27e9bd 15.0 landed
-
relnotes: adjustments from Álvaro Herrera
- 78ccd6cca48d 15.0 landed
-
relnotes: update foreign key partition and add sort items
- 279d957efebb 15.0 landed
-
relnotes: more adjustments
- 38fbbb5bb293 15.0 landed
-
relnotes: logical replication permissions checked by subscrib.
- 581c4e5b3185 15.0 landed
-
relnotes: adjustments
- a3c5f56c213e 15.0 landed
-
relnotes: remove sequence replication and update 'postgres -C'
- 653443ed83f0 15.0 landed
-
relnote: extensive updates
- 9d89bb8a025d 15.0 landed
-
relnotes: "training" -> "trailing"
- 3c534949bbb0 15.0 landed
-
Standardize references to Zstandard as <productname>
- 586955dddecc 15.0 cited
-
pgstat: Update docs to match the shared memory stats reality.
- b3abca68106d 15.0 cited
-
Raise a WARNING for missing publications.
- 8f2e2bbf1453 15.0 cited
-
Skip empty transactions for logical replication.
- d5a9d86d8ffc 15.0 cited
-
Optionally disable subscriptions on error.
- 705e20f8550c 15.0 cited
-
Allow root-owned SSL private keys in libpq, not only the backend.
- 2a1f84636dc3 14.3 cited
-
Use COPY FREEZE in pgbench for faster benchmark table population.
- 06ba4a63b85e 15.0 cited