1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1

into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0
This commit is contained in:
mskold/marty@mysql.com/linux.site
2006-10-16 10:07:19 +02:00
5 changed files with 31 additions and 14 deletions

View File

@ -1774,12 +1774,22 @@ void handler::print_error(int error, myf errflag)
/* Write the dupplicated key in the error message */
char key[MAX_KEY_LENGTH];
String str(key,sizeof(key),system_charset_info);
key_unpack(&str,table,(uint) key_nr);
uint max_length=MYSQL_ERRMSG_SIZE-(uint) strlen(ER(ER_DUP_ENTRY));
if (str.length() >= max_length)
if (key_nr == MAX_KEY)
{
str.length(max_length-4);
str.append(STRING_WITH_LEN("..."));
/* Key is unknown */
str.length(0);
key_nr= -1;
}
else
{
key_unpack(&str,table,(uint) key_nr);
uint max_length=MYSQL_ERRMSG_SIZE-(uint) strlen(ER(ER_DUP_ENTRY));
if (str.length() >= max_length)
{
str.length(max_length-4);
str.append(STRING_WITH_LEN("..."));
}
}
my_error(ER_DUP_ENTRY, MYF(0), str.c_ptr(), key_nr+1);
DBUG_VOID_RETURN;