Обсуждение: Re: [pgadmin-support] Schemas causing problems :(

Поиск
Список
Период
Сортировка

Re: [pgadmin-support] Schemas causing problems :(

От
"Dave Page"
Дата:

> -----Original Message-----
> From: Andreas Pflug [mailto:pgadmin@pse-consulting.de]
> Sent: 26 July 2004 18:51
> To: Dave Page
> Cc: Vitaly Belman; pgadmin-hackers@postgresql.org
> Subject: Re: [pgadmin-hackers] [pgadmin-support] Schemas
> causing problems :(
>
> Dave Page wrote:
>
> > Perhaps the search needs to be more clever though. Consider the
> > following:
> >
> > search_path: public
> > custom type: public.text
> >
> > In this case we might need to specify pg_catalog.text to
> get the right
> > one.
>
> This is getting a nightmare...

Yup. So where are we with this? I'm thinking that for any object, we
check each schema in the search path in turn (and then pg_catalog if
it's not explicitly included) for an object of the same type with the
same name (noting that sequences, tables and indexes are all effecitvely
the same object type in this situation). If we get to the parent schema
without first finding another matching object in a previous schema, then
and only then do we suppress the schema name.

How does that sound?

Regards, Dave.

Re: [pgadmin-support] Schemas causing problems

От
Andreas Pflug
Дата:
Dave Page wrote:
>
>
>
>>-----Original Message-----
>>From: Andreas Pflug [mailto:pgadmin@pse-consulting.de]
>>Sent: 26 July 2004 18:51
>>To: Dave Page
>>Cc: Vitaly Belman; pgadmin-hackers@postgresql.org
>>Subject: Re: [pgadmin-hackers] [pgadmin-support] Schemas
>>causing problems :(
>>
>>Dave Page wrote:
>>
>>
>>>Perhaps the search needs to be more clever though. Consider the
>>>following:
>>>
>>>search_path: public
>>>custom type: public.text
>>>
>>>In this case we might need to specify pg_catalog.text to
>>
>>get the right
>>
>>>one.
>>
>>This is getting a nightmare...
>
>
> Yup. So where are we with this? I'm thinking that for any object, we
> check each schema in the search path in turn (and then pg_catalog if
> it's not explicitly included) for an object of the same type with the
> same name (noting that sequences, tables and indexes are all effecitvely
> the same object type in this situation). If we get to the parent schema
> without first finding another matching object in a previous schema, then
> and only then do we suppress the schema name.
>
> How does that sound?

Complicated.
Before trying to suppress the schema, I'm checking for any duplicate
type names now. If so, schema is always emitted. In your sample:
pg_catalog.text and public.text.

Regards,
Andreas