Re: Schema variables - new implementation for Postgres 15 - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: Schema variables - new implementation for Postgres 15
Date
Msg-id CAFj8pRDVTEKLXBNRYw8GAUYTjMfQ16uG9SaLX2SL38fUp55OqA@mail.gmail.com
Whole thread Raw
In response to Re: Schema variables - new implementation for Postgres 15  (Julien Rouhaud <rjuju123@gmail.com>)
List pgsql-hackers


ne 21. 8. 2022 v 6:36 odesílatel Julien Rouhaud <rjuju123@gmail.com> napsal:
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)

I got the same result, when I did build without assertions, so I can debug it now.

 

pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: [PATCH] Optimize json_lex_string by batching character copying
Next
From: Pavel Stehule
Date:
Subject: Re: Schema variables - new implementation for Postgres 15