Re: Can't register python class for domain?

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: "W(dot) Matthew Wilson" <matt(at)tplus1(dot)com>, "psycopg(at)postgresql(dot)org" <psycopg(at)postgresql(dot)org>
Subject: Re: Can't register python class for domain?
Date: 2015-01-23 15:21:57
Message-ID: 54C26715.30001@aklaver.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: psycopg

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(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse psycopg by date

  From Date Subject
Next Message Daniele Varrazzo 2015-01-23 15:29:07 Re: Can't register python class for domain?
Previous Message W. Matthew Wilson 2015-01-23 15:16:09 Can't register python class for domain?