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