Re: flexi adaption/casting scheme

From: Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com>
To: Tobias Oberstein <tobias(dot)oberstein(at)gmail(dot)com>
Cc: Ronan Dunklau <rdunklau(at)gmail(dot)com>, psycopg(at)postgresql(dot)org
Subject: Re: flexi adaption/casting scheme
Date: 2012-09-22 13:53:20
Message-ID: CA+mi_8YCjOAp_pN4SbEjq+oATD2AVdpeFzpFmV2YXk7bEFngrg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: psycopg

On Sat, Sep 22, 2012 at 2:44 PM, Tobias Oberstein
<tobias(dot)oberstein(at)gmail(dot)com> wrote:
> Am 22.09.2012 15:30, schrieb Daniele Varrazzo:
>
>> On Sat, Sep 22, 2012 at 2:25 PM, Tobias Oberstein
>> <tobias(dot)oberstein(at)gmail(dot)com> wrote:
>>
>>> the _from_db class method on CompositeCaster takes a name argument and
>>> parsed that into "schema" and "typename".
>>>
>>> It uses both to retrieve Oids etc, but then only forwards "typename", and
>>> not "schema" to the CompositeCaster constructor.
>>>
>>> If a have 2 composite types defined "public.t_foo" and "bar.t_foo", and
>>> register both, one will be overwritten ..
>>
>>
>> Uhm... why overwritten? The two CompositeCaster will register two
>> different typecasters on two different oids. The name is only used as
>
>
> Ok. So new_type/new_array_type have no issue with having the same "name"
> used twice on different OIDs?

No, none.

>> name namedtuple name. What would the schema be used for?
>
>
> My use case: have a CompositeDictCaster that spits out:
>
> {'record': 'public.t_station', 'x': 10, 'y': 8}
>
> that is injects a 'record' field containing the composite type name.
> Hence I need the schema, not only the typename.

Makes sense. I'll see to add a schema attribute to the CompositeCaster.

-- Daniele

In response to

Responses

Browse psycopg by date

  From Date Subject
Next Message Tobias Oberstein 2012-09-22 13:57:14 Re: flexi adaption/casting scheme
Previous Message Tobias Oberstein 2012-09-22 13:44:02 Re: flexi adaption/casting scheme