On Wed, Sep 24, 2014 at 8:40 AM, hubert depesz lubaczewski <dep...@gmail.com
> wrote:

> On Wed, Sep 24, 2014 at 2:45 PM, Chris Bandy <bandy.ch...@gmail.com>
> wrote:
>
>> I would like to create a new type for version strings that sorts
>> numerically. The composite type below was quick to write and does not
>> require superuser privileges. However, it doesn't respond to type casts the
>> way I'd like.
>>
>> Is there a way to implement this type's literal conversion without
>> resorting to a base type?
>>
>
> I think you need to define casts too, but in any way - check if "semver"
> extension (available on pgxn) doesn't solve your problem.
>
>
Casts from what? The following is not sufficient:

=> CREATE CAST (unknown AS myversion) WITH FUNCTION myversion(unknown);
CREATE CAST
=> SELECT '1.0.9+jenkins'::myversion;
ERROR:  malformed record literal: "1.0.9+jenkins"

And cast on "record" isn't valid:

=> CREATE CAST (record AS myversion) WITH FUNCTION myversion(unknown);
ERROR:  source data type record is a pseudo-type

I know about the semver extension, but I'm interested in a solution that
does not require extension/superuser access.

Thanks
-- Chris

Reply via email to