Skip to content

Commit 68989c2

Browse files
author
Arthur Zakirov
committed
PGPRO-2601: Test pgv_select() on TupleDesc of dropped table
1 parent 6fa7638 commit 68989c2

File tree

4 files changed

+41
-23
lines changed

4 files changed

+41
-23
lines changed

expected/pg_variables.out

+10
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,16 @@ SELECT pgv_exists('vars3', 'r1');
704704

705705
SELECT pgv_select('vars2', 'j1');
706706
ERROR: variable "j1" requires "jsonb" value
707+
-- PGPRO-2601 - Test pgv_select() on TupleDesc of dropped table
708+
DROP TABLE tab;
709+
SELECT pgv_select('vars3', 'r1');
710+
pgv_select
711+
------------
712+
(,strNULL)
713+
(2,)
714+
(0,str00)
715+
(3 rows)
716+
707717
-- Tests for SRF's sequential scan of an internal hash table
708718
DO
709719
$$BEGIN

expected/pg_variables_trans.out

+25-23
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,8 @@ SELECT pgv_get_jsonb('vars2', 'j2');
416416
(1 row)
417417

418418
COMMIT;
419+
CREATE TABLE tab (id int, t varchar);
420+
INSERT INTO tab VALUES (0, 'str00'), (1, 'str33'), (2, NULL), (NULL, 'strNULL');
419421
BEGIN;
420422
SELECT pgv_insert('vars3', 'r1', tab, true) FROM tab;
421423
pgv_insert
@@ -452,8 +454,8 @@ SELECT pgv_select('vars3', 'r1');
452454
pgv_select
453455
------------
454456
(,strNULL)
455-
(2,)
456457
(1,str33)
458+
(2,)
457459
(5,str55)
458460
(0,str00)
459461
(5 rows)
@@ -462,8 +464,8 @@ SELECT pgv_select('vars3', 'r2');
462464
pgv_select
463465
------------
464466
(,strNULL)
465-
(2,)
466467
(1,str33)
468+
(2,)
467469
(5,str55)
468470
(0,str00)
469471
(5 rows)
@@ -473,8 +475,8 @@ SELECT pgv_select('vars3', 'r1');
473475
pgv_select
474476
------------
475477
(,strNULL)
476-
(2,)
477478
(1,str33)
479+
(2,)
478480
(5,str55)
479481
(0,str00)
480482
(5 rows)
@@ -483,8 +485,8 @@ SELECT pgv_select('vars3', 'r2');
483485
pgv_select
484486
------------
485487
(,strNULL)
486-
(2,)
487488
(1,str33)
489+
(2,)
488490
(5,str55)
489491
(0,str00)
490492
(5 rows)
@@ -824,17 +826,17 @@ SELECT pgv_select('vars3', 'r1');
824826
pgv_select
825827
------------
826828
(,strNULL)
827-
(2,)
828829
(1,str33)
830+
(2,)
829831
(0,str00)
830832
(4 rows)
831833

832834
SELECT pgv_select('vars3', 'r2');
833835
pgv_select
834836
------------
835837
(,strNULL)
836-
(2,)
837838
(1,str33)
839+
(2,)
838840
(0,str00)
839841
(4 rows)
840842

@@ -843,8 +845,8 @@ SELECT pgv_select('vars3', 'r1');
843845
pgv_select
844846
------------
845847
(,strNULL)
846-
(2,)
847848
(1,str33)
849+
(2,)
848850
(5,str55)
849851
(0,str00)
850852
(5 rows)
@@ -853,8 +855,8 @@ SELECT pgv_select('vars3', 'r2');
853855
pgv_select
854856
------------
855857
(,strNULL)
856-
(2,)
857858
(1,str33)
859+
(2,)
858860
(0,str00)
859861
(4 rows)
860862

@@ -1132,8 +1134,8 @@ SELECT pgv_select('vars3', 'r1');
11321134
pgv_select
11331135
------------
11341136
(,strNULL)
1135-
(2,)
11361137
(1,str33)
1138+
(2,)
11371139
(5,str55)
11381140
(0,str00)
11391141
(5 rows)
@@ -1142,8 +1144,8 @@ SELECT pgv_select('vars3', 'r2');
11421144
pgv_select
11431145
------------
11441146
(,strNULL)
1145-
(2,)
11461147
(1,str33)
1148+
(2,)
11471149
(5,str55)
11481150
(0,str00)
11491151
(5 rows)
@@ -1153,8 +1155,8 @@ SELECT pgv_select('vars3', 'r1');
11531155
pgv_select
11541156
------------
11551157
(,strNULL)
1156-
(2,)
11571158
(1,str33)
1159+
(2,)
11581160
(5,str55)
11591161
(0,str00)
11601162
(5 rows)
@@ -1163,8 +1165,8 @@ SELECT pgv_select('vars3', 'r2');
11631165
pgv_select
11641166
------------
11651167
(,strNULL)
1166-
(2,)
11671168
(1,str33)
1169+
(2,)
11681170
(5,str55)
11691171
(0,str00)
11701172
(5 rows)
@@ -1230,17 +1232,17 @@ SELECT pgv_select('vars3', 'r1');
12301232
pgv_select
12311233
------------
12321234
(,strNULL)
1233-
(2,)
12341235
(1,str33)
1236+
(2,)
12351237
(0,str00)
12361238
(4 rows)
12371239

12381240
SELECT pgv_select('vars3', 'r2');
12391241
pgv_select
12401242
------------
12411243
(,strNULL)
1242-
(2,)
12431244
(1,str33)
1245+
(2,)
12441246
(0,str00)
12451247
(4 rows)
12461248

@@ -1249,8 +1251,8 @@ SELECT pgv_select('vars3', 'r1');
12491251
pgv_select
12501252
------------
12511253
(,strNULL)
1252-
(2,)
12531254
(1,str33)
1255+
(2,)
12541256
(5,str55)
12551257
(0,str00)
12561258
(5 rows)
@@ -1259,8 +1261,8 @@ SELECT pgv_select('vars3', 'r2');
12591261
pgv_select
12601262
------------
12611263
(,strNULL)
1262-
(2,)
12631264
(1,str33)
1265+
(2,)
12641266
(0,str00)
12651267
(4 rows)
12661268

@@ -1436,8 +1438,8 @@ SELECT pgv_select('vars3', 'r1');
14361438
pgv_select
14371439
---------------------------
14381440
(,strNULL)
1439-
(2,)
14401441
(1,str33)
1442+
(2,)
14411443
(5,"after savepoint sp1")
14421444
(0,str00)
14431445
(5 rows)
@@ -1447,8 +1449,8 @@ SELECT pgv_select('vars3', 'r1');
14471449
pgv_select
14481450
---------------------------
14491451
(,strNULL)
1450-
(2,)
14511452
(1,str33)
1453+
(2,)
14521454
(5,"after savepoint sp1")
14531455
(0,str00)
14541456
(5 rows)
@@ -1458,8 +1460,8 @@ SELECT pgv_select('vars3', 'r1');
14581460
pgv_select
14591461
---------------------------
14601462
(,strNULL)
1461-
(2,)
14621463
(1,str33)
1464+
(2,)
14631465
(5,"after savepoint sp1")
14641466
(0,str00)
14651467
(5 rows)
@@ -1469,8 +1471,8 @@ SELECT pgv_select('vars3', 'r1');
14691471
pgv_select
14701472
--------------------------------------
14711473
(,strNULL)
1472-
(2,)
14731474
(1,str33)
1475+
(2,)
14741476
(5,"after savepoint sp1")
14751477
(0,str00)
14761478
(7,"row after sp2 to remove in sp4")
@@ -1481,8 +1483,8 @@ SELECT pgv_select('vars3', 'r1');
14811483
pgv_select
14821484
--------------------------------------
14831485
(,strNULL)
1484-
(2,)
14851486
(1,str33)
1487+
(2,)
14861488
(5,"after savepoint sp1")
14871489
(0,str00)
14881490
(7,"row after sp2 to remove in sp4")
@@ -1493,8 +1495,8 @@ SELECT pgv_select('vars3', 'r1');
14931495
pgv_select
14941496
----------------------------
14951497
(,strNULL)
1496-
(2,)
14971498
(1,str33)
1499+
(2,)
14981500
(5,"before savepoint sp1")
14991501
(0,str00)
15001502
(5 rows)
@@ -1504,8 +1506,8 @@ SELECT pgv_select('vars3', 'r1');
15041506
pgv_select
15051507
----------------------------
15061508
(,strNULL)
1507-
(2,)
15081509
(1,str33)
1510+
(2,)
15091511
(5,"before savepoint sp1")
15101512
(0,str00)
15111513
(5 rows)

sql/pg_variables.sql

+4
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,10 @@ SELECT pgv_exists('vars3', 'r3');
195195
SELECT pgv_exists('vars3', 'r1');
196196
SELECT pgv_select('vars2', 'j1');
197197

198+
-- PGPRO-2601 - Test pgv_select() on TupleDesc of dropped table
199+
DROP TABLE tab;
200+
SELECT pgv_select('vars3', 'r1');
201+
198202
-- Tests for SRF's sequential scan of an internal hash table
199203
DO
200204
$$BEGIN

sql/pg_variables_trans.sql

+2
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ SELECT pgv_get_jsonb('vars2', 'j1');
8080
SELECT pgv_get_jsonb('vars2', 'j2');
8181
COMMIT;
8282

83+
CREATE TABLE tab (id int, t varchar);
84+
INSERT INTO tab VALUES (0, 'str00'), (1, 'str33'), (2, NULL), (NULL, 'strNULL');
8385

8486
BEGIN;
8587
SELECT pgv_insert('vars3', 'r1', tab, true) FROM tab;

0 commit comments

Comments
 (0)