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.
> 

Reply via email to