Re: beta4 accepts foreign key of different type than column

Поиск
Список
Период
Сортировка
От Gregory Stark
Тема Re: beta4 accepts foreign key of different type than column
Дата
Msg-id 87d4sflyyb.fsf@oxford.xeocode.com
обсуждение исходный текст
Ответ на Re: beta4 accepts foreign key of different type than column  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: beta4 accepts foreign key of different type than column  (Louis-David Mitterrand <vindex+lists-pgsql-hackers@apartia.org>)
Список pgsql-hackers
"Andrew Dunstan" <andrew@dunslane.net> writes:

> Louis-David Mitterrand wrote:
>> Hi, 
>>
>> I changed the data type on a column (to an enum) but the previous foreign key
>> to the old table (replaced by the enum) is still accepted event though the
>> data types are now different. Is that the expected behavior?
>>
>> CREATE TABLE person_to_event (
>>     id_person integer NOT NULL,
>>     id_event integer NOT NULL,
>>     person_type person_type_new NOT NULL, -- new ENUM type
>>     "character" text
>> )
>>
>> ALTER TABLE ONLY person_to_event
>>     ADD CONSTRAINT person_to_event_person_type_fkey FOREIGN KEY (person_type) REFERENCES person_type(person_type);
--old person_type table, text column
 
>
> Please send us a more complete example. Also, using the same name for a table,
> a field and a type makes reading it very confusing. Please make sure your
> example uses names for just one purpose.

(Well you can't use the same name for a table and a type since a table defines
a type of that name implicitly.)

I think what's missing here is the definition of the person_type table. Your
comment says "text column" but I get this with a text column target:

postgres-# ERROR:  foreign key constraint "person_to_event_person_type_fkey" cannot be implemented
DETAIL:  Key columns "person_type" and "person_type" are of incompatible types: person_type_new and text.

I get the same thing if it's an integer field.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com Ask me about EnterpriseDB's Slony Replication
support!


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Louis-David Mitterrand
Дата:
Сообщение: my bad (was: Re: beta4 accepts foreign key of different type than column
Следующее
От: Louis-David Mitterrand
Дата:
Сообщение: Re: beta4 accepts foreign key of different type than column