v20220819-2-0011-fix.patch

text/x-patch

Filename: v20220819-2-0011-fix.patch
Type: text/x-patch
Part: 1
Message: Re: Schema variables - new implementation for Postgres 15

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: format-patch
Series: patch v20220819-0011
Subject: fix
File+
src/test/regress/expected/session_variables.out 15 0
src/test/regress/sql/session_variables.sql 21 0
From 468d9fe82ddf7edf1de1cdae689faf3daec4b8fb Mon Sep 17 00:00:00 2001
From: "okbob@github.com" <pavel.stehule@gmail.com>
Date: Fri, 19 Aug 2022 15:52:22 +0200
Subject: [PATCH 11/13] fix

---
 .../regress/expected/session_variables.out    | 15 +++++++++++++
 src/test/regress/sql/session_variables.sql    | 21 +++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/src/test/regress/expected/session_variables.out b/src/test/regress/expected/session_variables.out
index 8c4fafe5e1..b16ad6b8f2 100644
--- a/src/test/regress/expected/session_variables.out
+++ b/src/test/regress/expected/session_variables.out
@@ -1133,3 +1133,18 @@ SELECT public.svar2;
 DROP VARIABLE public.svar;
 DROP VARIABLE public.svar2;
 DROP TYPE public.svar_test_type;
+-- The composite type cannot be changed when it is used
+CREATE TYPE public.svar_type AS (a int, b int);
+CREATE VARIABLE public.svar AS public.svar_type;
+-- should to fail
+ALTER TYPE public.svar_type ALTER ATTRIBUTE b TYPE numeric;
+ERROR:  cannot alter type "svar_type" because session variable "public.svar" uses it
+DROP VARIABLE public.svar;
+CREATE TYPE public.svar_type2 AS (a int, b int, c public.svar_type);
+CREATE VARIABLE public.svar AS public.svar_type2;
+-- should to fail
+ALTER TYPE public.svar_type ALTER ATTRIBUTE b TYPE numeric;
+ERROR:  cannot alter type "svar_type" because session variable "public.svar" uses it
+DROP VARIABLE public.svar;
+DROP TYPE public.svar_type2;
+DROP TYPE public.svar_type;
diff --git a/src/test/regress/sql/session_variables.sql b/src/test/regress/sql/session_variables.sql
index e74d8bfd6a..e2e463b0e7 100644
--- a/src/test/regress/sql/session_variables.sql
+++ b/src/test/regress/sql/session_variables.sql
@@ -862,3 +862,24 @@ SELECT public.svar2;
 DROP VARIABLE public.svar;
 DROP VARIABLE public.svar2;
 DROP TYPE public.svar_test_type;
+
+-- The composite type cannot be changed when it is used
+CREATE TYPE public.svar_type AS (a int, b int);
+
+CREATE VARIABLE public.svar AS public.svar_type;
+
+-- should to fail
+ALTER TYPE public.svar_type ALTER ATTRIBUTE b TYPE numeric;
+
+DROP VARIABLE public.svar;
+
+CREATE TYPE public.svar_type2 AS (a int, b int, c public.svar_type);
+
+CREATE VARIABLE public.svar AS public.svar_type2;
+
+-- should to fail
+ALTER TYPE public.svar_type ALTER ATTRIBUTE b TYPE numeric;
+
+DROP VARIABLE public.svar;
+DROP TYPE public.svar_type2;
+DROP TYPE public.svar_type;
-- 
2.37.2