Re: First draft of PG 17 release notes

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Jelte Fennema-Nio <postgres@jeltef.nl>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Nathan Bossart <nathandbossart@gmail.com>, pgsql-hackers@postgresql.org
Date: 2024-09-18T21:33:18Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Revert support for ALTER TABLE ... MERGE/SPLIT PARTITION(S) commands

  2. When creating materialized views, use REFRESH to load data.

  3. Revert temporal primary keys and foreign keys

  4. Avoid needless large memcpys in libpq socket writing

  5. Enhance nbtree ScalarArrayOp execution.

  6. Introduce a non-recursive JSON parser

  7. Combine freezing and pruning steps in VACUUM

  8. Allow SIGINT to cancel psql database reconnections.

  9. Provide API for streaming relation data.

  10. Add hash support functions and hash opclass for contrib/ltree.

  11. Pull up ANY-SUBLINK with the necessary lateral support.

  12. Read WAL directly from WAL buffers.

  13. Introduce the dynamic shared memory registry.

  14. Add macros for looping through a List without a ListCell.

  15. Support +/- infinity in the interval data type.

  16. Extend ALTER OPERATOR to allow setting more optimization attributes.

  17. Consider cheap startup paths in add_paths_to_append_rel

On Tue, Sep 17, 2024 at 10:01:28AM +0200, Jelte Fennema-Nio wrote:
> On Wed, 11 Sept 2024 at 16:10, Bruce Momjian <bruce@momjian.us> wrote:
> > You are right that I do mention changes specifically designed for the
> > use of extensions, but there is no mention in the commit message of its
> > use for extensions.  In fact, I thought this was too low-level to be of
> > use for extensions.  However, if people feel it should be added, we have
> > enough time to add it.
> 
> Another new API that is useful for extension authors is the following
> one (I'm obviously biased since I'm the author, and I don't know if
> there's still time):
> 
> commit 14dd0f27d7cd56ffae9ecdbe324965073d01a9ff
> Author: Nathan Bossart <nathan@postgresql.org>
> Date:   Thu Jan 4 16:09:34 2024 -0600
> 
>     Add macros for looping through a List without a ListCell.
> 
>     Many foreach loops only use the ListCell pointer to retrieve the
>     content of the cell, like so:
> 
>         ListCell   *lc;
> 
>         foreach(lc, mylist)
>         {
>             int         myint = lfirst_int(lc);
> 
>             ...
>         }
> 
>     This commit adds a few convenience macros that automatically
>     declare the loop variable and retrieve the current cell's contents.
>     This allows us to rewrite the previous loop like this:
> 
>         foreach_int(myint, mylist)
>         {
>             ...
>         }

Can someone else comment on the idea of adding this release note item? 
I don't feel confident in my ability to evaluate this.  I obviously did
not see it as significant the first time.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  When a patient asks the doctor, "Am I going to die?", he means 
  "Am I going to die soon?"