Elein Mustain el...@varlena.com 510-637-9106
> On Mar 11, 2016, at 3:45 PM, David G. Johnston <david.g.johns...@gmail.com> > wrote: > >> On Fri, Mar 11, 2016 at 4:19 PM, Elein <el...@varlena.com> wrote: > >> An unused (yet) enum type cannot display the enum ranges. An empty table >> containing that type cannot display enum ranges. > > Yes, it can. > > CREATE TYPE rainbow AS enum ('red','orange','yellow','blue','purple'); > SELECT enum_range(null::rainbow); > enum_range > {red,orange,yellow,blue,purple} Yes you are right about this point. It is a workaround for poor syntax sugar design. > > I get the distinction between classes and objects. But in many cases, like > this one, you need to obtain an instance of a class - a null is generally > sufficient - and pass that instance to a function. The function can then use > "pg_typeof(instance_value)::oid" to derive the oid for the corresponding > class. This is a common idiom in PostgreSQL. This is not a common idiom of postgres according to the ORDBMS model. > > The only improvement, besides the error handling point, that I see to be had > here is your understanding of how the system works. I know how it was designed to work. Been there done that. > > David J. >