Hi David, 

> On Fri, 30 Aug 2024 at 12:10, Andy Fan <[email protected]> wrote:
>> What would be the extra benefit we redesign all the out functions?
>
> If I've understood your proposal correctly, it sounds like you want to
> invent a new "print" output function for each type to output the Datum
> onto a StringInfo, if that's the case, what would be the point of
> having both versions?

You understood me correctly and I thought we should maintain one version
two years ago, so I tried to implement this idea today.  The first issue I
want to talk about now how to define the function protocol in SQL, take
int4out for example:

master:  cstring int4out(integer);
New protocol:  void int4out(integer, internal).  and the internal is
StringInfo acutally.

The direct impaction would be:

master support:
postgres=# select int4out(8);
 int4out 
---------
 8
(1 row)

After our change, user could not invoke any {type}out function anymore
in SQL since it takes 'internal' as an agrument. I am not sure if people
would write SQL like this, but it'd be good to have a talk about this. 


-- 
Best Regards
Andy Fan



Reply via email to