Re: Schema variables - new implementation for Postgres 15

From: Julien Rouhaud <rjuju123(at)gmail(dot)com>
To: Erik Rijkers <er(at)xs4all(dot)nl>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, Joel Jacobson <joel(at)compiler(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Schema variables - new implementation for Postgres 15
Date: 2022-08-21 04:36:21
Message-ID: 20220821043621.jiyfjns5k2sue6xe@jrouhaud
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2022-08-21 05:47:33 Re: [PATCH] Optimize json_lex_string by batching character copying
Previous Message Tom Lane 2022-08-21 01:37:32 Re: configure --with-uuid=bsd fails on NetBSD