Re[2]: bool_plperl transform - Mailing list pgsql-hackers

From Wao
Subject Re[2]: bool_plperl transform
Date
Msg-id 1583049730.278871202@f150.i.mail.ru
Whole thread Raw
In response to Re: bool_plperl transform  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Responses Re: Re[2]: bool_plperl transform
Re: bool_plperl transform
List pgsql-hackers
Sorry,
 
Please find the full patch attached.
 
Ivan
 
Воскресенье, 1 марта 2020, 7:57 +03:00 от Andrew Dunstan <andrew.dunstan@2ndquadrant.com>:
 

On 2/29/20 4:55 PM, Ivan Panchenko wrote:
> 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:
>
> 1. make plperl automatically convert bools into something acceptable
> for perl. This looks simple, but probably is not acceptable as it
> breaks compatibility.
> 2. 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.
> 3. 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.
>  
>


Patch appears to be missing all the new files.


cheers


andrew



--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
 
 
 
--
Иван Панченко
 
Attachment

pgsql-hackers by date:

Previous
From: Krasiyan Andreev
Date:
Subject: Re: [PATCH] distinct aggregates within a window function WIP
Next
From: Andres Freund
Date:
Subject: Improving connection scalability: GetSnapshotData()