aboutsummaryrefslogtreecommitdiff
path: root/contrib/jsonb_plperl/sql
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/jsonb_plperl/sql')
-rw-r--r--contrib/jsonb_plperl/sql/jsonb_plperl.sql16
-rw-r--r--contrib/jsonb_plperl/sql/jsonb_plperlu.sql16
2 files changed, 30 insertions, 2 deletions
diff --git a/contrib/jsonb_plperl/sql/jsonb_plperl.sql b/contrib/jsonb_plperl/sql/jsonb_plperl.sql
index 2c779fcd087..9993132ef0d 100644
--- a/contrib/jsonb_plperl/sql/jsonb_plperl.sql
+++ b/contrib/jsonb_plperl/sql/jsonb_plperl.sql
@@ -34,16 +34,29 @@ $$;
SELECT testSVToJsonb();
+-- unsupported (for now)
CREATE FUNCTION testRegexpToJsonb() RETURNS jsonb
LANGUAGE plperl
TRANSFORM FOR TYPE jsonb
AS $$
-return ('1' =~ m(0\t2));
+my $a = qr/foo/;
+return ($a);
$$;
SELECT testRegexpToJsonb();
+-- this revealed a bug in the original implementation
+CREATE FUNCTION testRegexpResultToJsonb() RETURNS jsonb
+LANGUAGE plperl
+TRANSFORM FOR TYPE jsonb
+AS $$
+return ('1' =~ m(0\t2));
+$$;
+
+SELECT testRegexpResultToJsonb();
+
+
CREATE FUNCTION roundtrip(val jsonb) RETURNS jsonb
LANGUAGE plperl
TRANSFORM FOR TYPE jsonb
@@ -83,4 +96,5 @@ SELECT roundtrip('{"1": "string1"}');
SELECT roundtrip('{"1": {"2": [3, 4, 5]}, "2": 3}');
+\set VERBOSITY terse \\ -- suppress cascade details
DROP EXTENSION plperl CASCADE;
diff --git a/contrib/jsonb_plperl/sql/jsonb_plperlu.sql b/contrib/jsonb_plperl/sql/jsonb_plperlu.sql
index e2acffae36e..ab7d2e76e87 100644
--- a/contrib/jsonb_plperl/sql/jsonb_plperlu.sql
+++ b/contrib/jsonb_plperl/sql/jsonb_plperlu.sql
@@ -34,16 +34,29 @@ $$;
SELECT testSVToJsonb();
+-- unsupported (for now)
CREATE FUNCTION testRegexpToJsonb() RETURNS jsonb
LANGUAGE plperlu
TRANSFORM FOR TYPE jsonb
AS $$
-return ('1' =~ m(0\t2));
+my $a = qr/foo/;
+return ($a);
$$;
SELECT testRegexpToJsonb();
+-- this revealed a bug in the original implementation
+CREATE FUNCTION testRegexpResultToJsonb() RETURNS jsonb
+LANGUAGE plperlu
+TRANSFORM FOR TYPE jsonb
+AS $$
+return ('1' =~ m(0\t2));
+$$;
+
+SELECT testRegexpResultToJsonb();
+
+
CREATE FUNCTION roundtrip(val jsonb) RETURNS jsonb
LANGUAGE plperlu
TRANSFORM FOR TYPE jsonb
@@ -83,4 +96,5 @@ SELECT roundtrip('{"1": "string1"}');
SELECT roundtrip('{"1": {"2": [3, 4, 5]}, "2": 3}');
+\set VERBOSITY terse \\ -- suppress cascade details
DROP EXTENSION plperlu CASCADE;