Re: Schema variables - new implementation for Postgres 15

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Sergey Shinderuk <s.shinderuk@postgrespro.ru>, Tomas Vondra <tomas.vondra@enterprisedb.com>, Julien Rouhaud <rjuju123@gmail.com>, dean.a.rasheed@gmail.com, er@xs4all.nl, joel@compiler.org, Dmitry Dolgov <9erthalion6@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2023-03-23T15:33:13Z
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. Allow underscores in integer and numeric constants.

  2. Remove special outfuncs/readfuncs handling of RangeVar.catalogname.

  3. Remove extra space from dumped ALTER DEFAULT PRIVILEGES.

  4. Create FKs properly when attaching table as partition

  5. psql: improve tab-complete's handling of variant SQL names.

On 17.03.23 21:50, Pavel Stehule wrote:
> Hi
> 
> rebase + fix-update pg_dump tests
> 
> Regards
> 
> Pavel
> 

I have spent several hours studying the code and the past discussions.

The problem I see in general is that everyone who reviews and tests the 
patches finds more problems, behavioral, weird internal errors, crashes. 
  These are then immediately fixed, and the cycle starts again.  I don't 
have the sense that this process has arrived at a steady state yet.

The other issue is that by its nature this patch adds a lot of code in a 
lot of places.  Large patches are more likely to be successful if they 
add a lot of code in one place or smaller amounts of code in a lot of 
places.  But this patch does both and it's just overwhelming.  There is 
so much new internal functionality and terminology.  Variables can be 
created, registered, initialized, stored, copied, prepared, set, freed, 
removed, released, synced, dropped, and more.  I don't know if anyone 
has actually reviewed all that in detail.

Has any effort been made to make this simpler, smaller, reduce scope, 
refactoring, find commonalities with other features, try to manage the 
complexity somehow?

I'm not making a comment on the details of the functionality itself.  I 
just think on the coding level it's not gotten to a satisfying situation 
yet.