@@ -530,10 +530,84 @@ SELECT pgv_get('vars', 'jNULL', NULL::jsonb);
530
530
531
531
(1 row)
532
532
533
+ -- Array variables
534
+ SELECT pgv_set('vars', 'arr1', '{1, 2, null}'::int[]);
535
+ pgv_set
536
+ ---------
537
+
538
+ (1 row)
539
+
540
+ SELECT pgv_set('vars', 'arr2', '{"bar", "balance", "active"}'::text[]);
541
+ pgv_set
542
+ ---------
543
+
544
+ (1 row)
545
+
546
+ SELECT pgv_set('vars2', 'j1', '{1, 2, null}'::int[]);
547
+ ERROR: variable "j1" requires "jsonb" value
548
+ SELECT pgv_get('vars', 'arr1', NULL::int[]);
549
+ pgv_get
550
+ ------------
551
+ {1,2,NULL}
552
+ (1 row)
553
+
554
+ SELECT pgv_get('vars', 'arr2', NULL::int[]);
555
+ ERROR: variable "arr2" requires "text[]" value
556
+ SELECT pgv_set('vars', 'arr1', '{"bar", "balance", "active"}'::text[]);
557
+ ERROR: variable "arr1" requires "integer[]" value
558
+ SELECT pgv_set('vars', 'arr1', '{3, 4, 5}'::int[]);
559
+ pgv_set
560
+ ---------
561
+
562
+ (1 row)
563
+
564
+ SELECT pgv_get('vars', 'arr1', NULL::int[]);
565
+ pgv_get
566
+ ---------
567
+ {3,4,5}
568
+ (1 row)
569
+
570
+ SELECT pgv_get('vars', 'arr3', NULL::int[]);
571
+ ERROR: unrecognized variable "arr3"
572
+ SELECT pgv_get('vars', 'arr3', NULL::int[], false);
573
+ pgv_get
574
+ ---------
575
+
576
+ (1 row)
577
+
578
+ SELECT pgv_exists('vars', 'arr3');
579
+ pgv_exists
580
+ ------------
581
+ f
582
+ (1 row)
583
+
584
+ SELECT pgv_exists('vars', 'arr1');
585
+ pgv_exists
586
+ ------------
587
+ t
588
+ (1 row)
589
+
590
+ SELECT pgv_get('vars2', 'j1', NULL::int[]);
591
+ ERROR: variable "j1" requires "jsonb" value
592
+ SELECT pgv_set('vars', 'arrNULL', NULL::int[]);
593
+ pgv_set
594
+ ---------
595
+
596
+ (1 row)
597
+
598
+ SELECT pgv_get('vars', 'arrNULL', NULL::int[]);
599
+ pgv_get
600
+ ---------
601
+
602
+ (1 row)
603
+
533
604
-- Manipulate variables
534
605
SELECT * FROM pgv_list() order by package, name;
535
606
package | name | is_transactional
536
607
---------+----------+------------------
608
+ vars | arr1 | f
609
+ vars | arr2 | f
610
+ vars | arrNULL | f
537
611
vars | d1 | f
538
612
vars | d2 | f
539
613
vars | dNULL | f
@@ -555,7 +629,7 @@ SELECT * FROM pgv_list() order by package, name;
555
629
vars | tstzNULL | f
556
630
vars2 | j1 | f
557
631
vars2 | j2 | f
558
- (21 rows)
632
+ (24 rows)
559
633
560
634
SELECT pgv_remove('vars', 'int3');
561
635
ERROR: unrecognized variable "int3"
@@ -590,6 +664,9 @@ SELECT pgv_exists('vars2');
590
664
SELECT * FROM pgv_list() order by package, name;
591
665
package | name | is_transactional
592
666
---------+----------+------------------
667
+ vars | arr1 | f
668
+ vars | arr2 | f
669
+ vars | arrNULL | f
593
670
vars | d1 | f
594
671
vars | d2 | f
595
672
vars | dNULL | f
@@ -608,7 +685,7 @@ SELECT * FROM pgv_list() order by package, name;
608
685
vars | tstz1 | f
609
686
vars | tstz2 | f
610
687
vars | tstzNULL | f
611
- (18 rows)
688
+ (21 rows)
612
689
613
690
SELECT pgv_free();
614
691
pgv_free
0 commit comments