On 01/23/2015 07:16 AM, W. Matthew Wilson wrote:
> I created this domain:
>
> create domain milliamp as double precision check (value >= 0);
>
> Then when I register a python class named Milliamp, it never gets
> used! I think the problem is related to the type code coming back as
> the underlying double precision type:
>
> >>> cursor.execute("select 4444::milliamp as m")
> >>> cursor.description[0][1]
> 701
> >>> cursor.execute("select 4444::double precision as f")
> >>> cursor.description[0][1]
> 701
>
> But there really is a type called milliamp in postgresql, I promise:
>
> > select typname, oid from pg_type where typname in ('float8', 'milliamp');
> typname oid
> -------- ------
> float8 701
> milliamp 949531
> (2 rows)
>
> I found this code, and it suggests other people have run into this same problem:
>
> https://github.com/beyang/psycopg2/blob/master/sandbox/domainoid.py
>
> Any ideas what is going on?
Hard to say with out seeing the code where you create and register the
milliamp type in psycopg2.
>
> Thanks in advance. I love psycopg!
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com