Line data Source code
1 : #include "postgres.h"
2 :
3 : #include "fmgr.h"
4 : #include "plperl.h"
5 :
6 :
7 2 : PG_MODULE_MAGIC_EXT(
8 : .name = "bool_plperl",
9 : .version = PG_VERSION
10 : );
11 :
12 4 : PG_FUNCTION_INFO_V1(bool_to_plperl);
13 :
14 : Datum
15 8 : bool_to_plperl(PG_FUNCTION_ARGS)
16 : {
17 8 : dTHX;
18 8 : bool in = PG_GETARG_BOOL(0);
19 :
20 8 : return PointerGetDatum(in ? &PL_sv_yes : &PL_sv_no);
21 : }
22 :
23 :
24 4 : PG_FUNCTION_INFO_V1(plperl_to_bool);
25 :
26 : Datum
27 8 : plperl_to_bool(PG_FUNCTION_ARGS)
28 : {
29 8 : dTHX;
30 8 : SV *in = (SV *) PG_GETARG_POINTER(0);
31 :
32 8 : PG_RETURN_BOOL(SvTRUE(in));
33 : }
|