The argument values supplied to a PL/Perl function's code are simply the input arguments converted to text form (just as if they had been displayed by a SELECT
statement). Conversely, the return
and return_next
commands will accept any string that is acceptable input format for the function's declared return type.
If this behavior is inconvenient for a particular case, it can be improved by using a transform, as already illustrated for bool
values. Several examples of transform modules are included in the PostgreSQL distribution.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.