Re: Schema variables - new implementation for Postgres 15

Julien Rouhaud <rjuju123@gmail.com>

From: Julien Rouhaud <rjuju123@gmail.com>
To: Erik Rijkers <er@xs4all.nl>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, Dean Rasheed <dean.a.rasheed@gmail.com>, Joel Jacobson <joel@compiler.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-08-21T04:36:21Z
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 Sat, Aug 20, 2022 at 08:44:49PM +0200, Erik Rijkers wrote:
> Op 20-08-2022 om 20:09 schreef Pavel Stehule:
> > Hi
> > 
> > >   LET public.svar2 = (10, 20, 30);
> > >   ALTER TYPE public.svar_test_type DROP ATTRIBUTE b;
> > >   SELECT public.svar;
> > > - svar
> > > --------
> > > - (10,)
> > > +  svar
> > > +---------
> > > + (10,16)
> > >   (1 row)
> > > 
> > >   SELECT public.svar2;
> > >     svar2
> > >   ---------
> > >    (10,30)
> > >   (1 row)
> > > 
> > 
> > I hope so I found this error. It should be fixed
> >  > [patches v20220820-1-0001 -> 0012]
> 
> 
> I'm afraid it still gives the same errors during  'make check', and again
> only errors when compiling  without  --enable-cassert

It still fails for me for both --enable-cassert and --disable-cassert, with a
different number of errors though.

The cfbot is green, but it's unclear to me which version was applied on the
last run.  AFAICS there's no log available for the branch creation if it
succeeds.

--enable-cassert:

 LET public.svar = (10, 20);
 ALTER TYPE public.svar_test_type ADD ATTRIBUTE c int;
 SELECT public.svar;
-   svar
-----------
- (10,20,)
+    svar
+------------
+ (10,20,16)
 (1 row)

 LET public.svar2 = (10, 20, 30);
 ALTER TYPE public.svar_test_type DROP ATTRIBUTE b;
 SELECT public.svar;
- svar
--------
- (10,)
+  svar
+---------
+ (10,16)
 (1 row)



--disable-cassert:

 ALTER TYPE public.svar_test_type ADD ATTRIBUTE c int;
 -- should to fail too (different type, different generation number);
 SELECT public.svar;
-   svar
-----------
- (10,20,)
+    svar
+------------
+ (10,20,32)
 (1 row)

 LET public.svar = ROW(10,20,30);
 -- should be ok again for new value
 SELECT public.svar;
     svar
 ------------
  (10,20,30)
 (1 row)

@@ -1104,31 +1104,31 @@
 (1 row)

 DROP VARIABLE public.svar;
 DROP TYPE public.svar_test_type;
 CREATE TYPE public.svar_test_type AS (a int, b int);
 CREATE VARIABLE public.svar AS public.svar_test_type;
 CREATE VARIABLE public.svar2 AS public.svar_test_type;
 LET public.svar = (10, 20);
 ALTER TYPE public.svar_test_type ADD ATTRIBUTE c int;
 SELECT public.svar;
-   svar
-----------
- (10,20,)
+    svar
+------------
+ (10,20,16)
 (1 row)

 LET public.svar2 = (10, 20, 30);
 ALTER TYPE public.svar_test_type DROP ATTRIBUTE b;
 SELECT public.svar;
- svar
--------
- (10,)
+  svar
+---------
+ (10,16)
 (1 row)