Re: Is there a good reason why PL languages do not support cstring type arguments and return values ? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Is there a good reason why PL languages do not support cstring type arguments and return values ?
Date
Msg-id 25725.1349877499@sss.pgh.pa.us
Whole thread Raw
In response to Is there a good reason why PL languages do not support cstring type arguments and return values ?  (Hannu Krosing <hannu@2ndQuadrant.com>)
Responses Re: Is there a good reason why PL languages do not support cstring type arguments and return values ?  (Hannu Krosing <hannu@krosing.net>)
Re: Is there a good reason why PL languages do not support cstring type arguments and return values ?  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-hackers
Hannu Krosing <hannu@2ndQuadrant.com> writes:
> Is the lack of support of cstring in PLs just laziness/ovelook or is 
> there a good
> reason why PL languages do not support cstring type arguments and return 
> values ?

In general I don't think we should encourage the use of cstring as a
user-level data type.  The number of text-like types in the system is
already enough to confuse users, and this one brings no redeeming social
value to the party.  Besides which, it has essentially no built-in
operators, and I *don't* want to have to add a pile of them for it.

> I'm currently adding this to pl/pythonu with an aim to prototype type io 
> functions for a new type.

The PLs aren't meant to be usable as I/O functions.  cstring is not the
problem there, it's access to the bit-level representation of the other
datatype.  It's hard for me to see how you'd make the above work without
circularity, ie the PL manager would end up recursively calling itself
trying to construct or deconstruct the value.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: enhanced error fields
Next
From: Pavel Stehule
Date:
Subject: Re: Improving the performance of psql tab completion