On Tue, 2011-07-05 at 13:06 -0400, Robert Haas wrote: > On Tue, Jul 5, 2011 at 12:54 PM, Jeff Davis <pg...@j-davis.com> wrote: > > It would be something like: range_co(1,8)::int8range > > > > (just so we're comparing apples to apples) > > > > The intermediate type proposal doesn't require that we move the "c" and > > "o" into the parameter list. > > Well, you have to specify the bounds somewhere...
That's true. In my example it's in the function name. > OK, so let's pass the information on the bounds as a separate > argument. Like this: > > int8range(1,8,'co') That has a lot going for it, in the sense that it avoids dealing with the type problems. > Then you can instead pass 'o' for open or 'i' for infinity (passing > NULL for the corresponding argument position in that case). The third > argument can be optional and default to 'cc'. The fact that there can be a default for the third argument makes this quite a lot more appealing than I had originally thought (although I think 'co' is the generally-accepted default). There's some slight ugliness around the NULL/infinity business, but I think that I could be convinced. I'd like to avoid confusion between NULL and infinity if possible. Regards, Jeff Davis -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers