Hi,
While using PL/Perl I have found that it obtains boolean arguments from 
Postgres as ‘t’ and ‘f’, which is extremely inconvenient because ‘f’ is not 
false from the perl viewpoint.
So the problem is how to convert the SQL booleans into Perl style.
 
There are 3 ways to do this:
*  make plperl automatically convert bools into something acceptable for perl. 
This looks simple, but probably is not acceptable as it breaks compatibility.
*  try to make some trick like it is done with arrays, i.e. convert bools into 
special Perl objects which look like ‘t’ and ‘f’ when treated as text, but are 
true and false for boolean operations. I am not sure that it is possible and 
reliable.
*  make a transform which transforms bool, like it is done with jsonb. This 
does not break compatibility and is rather straightforward.
So I propose to take the third way and make such transform. This is very 
simple, a patch is attached.
Also this patch improves the plperl documentation page, which now has nothing 
said about the transforms.
 
Regards,
Ivan Panchenko
 
 

Attachment: bool_plperl_transform_v1.patch
Description: Binary data



Reply via email to