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?
Thanks in advance. I love psycopg!