From 9a052e273ff4404528ab0bc75b16fce7f199d0a7 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 7 Feb 2002 12:05:02 +0200 Subject: rem0cmp.c: Prevent a foreign key constraint references between INT columns where the signedness is different innobase/rem/rem0cmp.c: Prevent a foreign key constraint references between INT columns where the signedness is different --- innobase/rem/rem0cmp.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'innobase') diff --git a/innobase/rem/rem0cmp.c b/innobase/rem/rem0cmp.c index 363bb013ac9..60828b122ba 100644 --- a/innobase/rem/rem0cmp.c +++ b/innobase/rem/rem0cmp.c @@ -113,6 +113,16 @@ cmp_types_are_equal( return(FALSE); } + if (type1->mtype == DATA_INT + && (type1->prtype & DATA_UNSIGNED) + != (type2->prtype & DATA_UNSIGNED)) { + /* The storage format of an unsigned integer is different + from a signed integer: in a signed integer we OR + 0x8000... to the value of positive integers. */ + + return(FALSE); + } + if (type1->mtype == DATA_MYSQL || type1->mtype == DATA_VARMYSQL) { -- cgit v1.2.1