diff options
author | Peter Eisentraut | 2018-04-03 13:47:18 +0000 |
---|---|---|
committer | Peter Eisentraut | 2018-04-03 13:47:18 +0000 |
commit | 341e1661805879db958dde0a9ed1dc44b1bb10c3 (patch) | |
tree | f78b33ca09f89599112fc81637c4fccf32cf12d4 /contrib/jsonb_plperl/jsonb_plperl--1.0.sql | |
parent | a08dc711952081d63577fc182fcf955958f70add (diff) |
Transforms for jsonb to PL/Perl
Add a new contrib module jsonb_plperl that provides a transform between
jsonb and PL/Perl. jsonb values are converted to appropriate Perl types
such as arrays and hashes, and vice versa.
Author: Anthony Bykov <[email protected]>
Reviewed-by: Pavel Stehule <[email protected]>
Reviewed-by: Aleksander Alekseev <[email protected]>
Reviewed-by: Nikita Glukhov <[email protected]>
Diffstat (limited to 'contrib/jsonb_plperl/jsonb_plperl--1.0.sql')
-rw-r--r-- | contrib/jsonb_plperl/jsonb_plperl--1.0.sql | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/contrib/jsonb_plperl/jsonb_plperl--1.0.sql b/contrib/jsonb_plperl/jsonb_plperl--1.0.sql new file mode 100644 index 00000000000..c7964ba07c2 --- /dev/null +++ b/contrib/jsonb_plperl/jsonb_plperl--1.0.sql @@ -0,0 +1,19 @@ +/* contrib/jsonb_plperl/jsonb_plperl--1.0.sql */ + +-- complain if script is sourced in psql, rather than via CREATE EXTENSION +\echo Use "CREATE EXTENSION jsonb_plperl" to load this file. \quit + +CREATE FUNCTION jsonb_to_plperl(val internal) RETURNS internal +LANGUAGE C STRICT IMMUTABLE +AS 'MODULE_PATHNAME'; + +CREATE FUNCTION plperl_to_jsonb(val internal) RETURNS jsonb +LANGUAGE C STRICT IMMUTABLE +AS 'MODULE_PATHNAME'; + +CREATE TRANSFORM FOR jsonb LANGUAGE plperl ( + FROM SQL WITH FUNCTION jsonb_to_plperl(internal), + TO SQL WITH FUNCTION plperl_to_jsonb(internal) +); + +COMMENT ON TRANSFORM FOR jsonb LANGUAGE plperl IS 'transform between jsonb and Perl'; |