Loading mysql-test/r/ndb_charset.result +2 −2 Original line number Diff line number Diff line Loading @@ -78,9 +78,9 @@ unique key(a) ) engine=ndb; insert into t1 values(1, 'aAa'); insert into t1 values(2, 'aaa'); ERROR 23000: Duplicate entry '2' for key 1 ERROR 23000: Duplicate entry '' for key 0 insert into t1 values(3, 'AAA'); ERROR 23000: Duplicate entry '3' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t1 order by p; p a 1 aAa Loading mysql-test/r/ndb_index_unique.result +5 −5 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ select * from t1 where b = 4 order by a; a b c 3 4 6 insert into t1 values(8, 2, 3); ERROR 23000: Duplicate entry '8' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t1 order by a; a b c 1 2 3 Loading Loading @@ -89,7 +89,7 @@ a b c 1 1 1 4 4 NULL insert into t1 values(5,1,1); ERROR 23000: Duplicate entry '5' for key 1 ERROR 23000: Duplicate entry '' for key 0 drop table t1; CREATE TABLE t2 ( a int unsigned NOT NULL PRIMARY KEY, Loading @@ -112,7 +112,7 @@ select * from t2 where b = 4 order by a; a b c 3 4 6 insert into t2 values(8, 2, 3); ERROR 23000: Duplicate entry '8' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t2 order by a; a b c 1 2 3 Loading Loading @@ -177,7 +177,7 @@ pk a 3 NULL 4 4 insert into t1 values (5,0); ERROR 23000: Duplicate entry '5' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t1 order by pk; pk a -1 NULL Loading Loading @@ -210,7 +210,7 @@ pk a b c 0 NULL 18 NULL 1 3 19 abc insert into t2 values(2,3,19,'abc'); ERROR 23000: Duplicate entry '2' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t2 order by pk; pk a b c -1 1 17 NULL Loading mysql-test/r/ndb_update.result +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ pk1 b c 2 2 2 4 1 1 UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4; ERROR 23000: Duplicate entry '1' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t1 order by pk1; pk1 b c 0 0 0 Loading sql/ha_ndbcluster.cc +8 −1 Original line number Diff line number Diff line Loading @@ -454,7 +454,14 @@ int ha_ndbcluster::ndb_err(NdbConnection *trans) if (res == HA_ERR_FOUND_DUPP_KEY) { if (m_rows_to_insert == 1) m_dupkey= table->primary_key; { /* We can only distinguish between primary and non-primary violations here, so we need to return MAX_KEY for non-primary to signal that key is unknown */ m_dupkey= err.code == 630 ? table->primary_key : MAX_KEY; } else { /* We are batching inserts, offending key is not available */ Loading sql/handler.cc +15 −5 Original line number Diff line number Diff line Loading @@ -1102,6 +1102,15 @@ 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); if (key_nr == MAX_KEY) { /* 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) Loading @@ -1109,6 +1118,7 @@ void handler::print_error(int error, myf errflag) str.length(max_length-4); str.append("..."); } } my_error(ER_DUP_ENTRY,MYF(0),str.c_ptr(),key_nr+1); DBUG_VOID_RETURN; } Loading Loading
mysql-test/r/ndb_charset.result +2 −2 Original line number Diff line number Diff line Loading @@ -78,9 +78,9 @@ unique key(a) ) engine=ndb; insert into t1 values(1, 'aAa'); insert into t1 values(2, 'aaa'); ERROR 23000: Duplicate entry '2' for key 1 ERROR 23000: Duplicate entry '' for key 0 insert into t1 values(3, 'AAA'); ERROR 23000: Duplicate entry '3' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t1 order by p; p a 1 aAa Loading
mysql-test/r/ndb_index_unique.result +5 −5 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ select * from t1 where b = 4 order by a; a b c 3 4 6 insert into t1 values(8, 2, 3); ERROR 23000: Duplicate entry '8' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t1 order by a; a b c 1 2 3 Loading Loading @@ -89,7 +89,7 @@ a b c 1 1 1 4 4 NULL insert into t1 values(5,1,1); ERROR 23000: Duplicate entry '5' for key 1 ERROR 23000: Duplicate entry '' for key 0 drop table t1; CREATE TABLE t2 ( a int unsigned NOT NULL PRIMARY KEY, Loading @@ -112,7 +112,7 @@ select * from t2 where b = 4 order by a; a b c 3 4 6 insert into t2 values(8, 2, 3); ERROR 23000: Duplicate entry '8' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t2 order by a; a b c 1 2 3 Loading Loading @@ -177,7 +177,7 @@ pk a 3 NULL 4 4 insert into t1 values (5,0); ERROR 23000: Duplicate entry '5' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t1 order by pk; pk a -1 NULL Loading Loading @@ -210,7 +210,7 @@ pk a b c 0 NULL 18 NULL 1 3 19 abc insert into t2 values(2,3,19,'abc'); ERROR 23000: Duplicate entry '2' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t2 order by pk; pk a b c -1 1 17 NULL Loading
mysql-test/r/ndb_update.result +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ pk1 b c 2 2 2 4 1 1 UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4; ERROR 23000: Duplicate entry '1' for key 1 ERROR 23000: Duplicate entry '' for key 0 select * from t1 order by pk1; pk1 b c 0 0 0 Loading
sql/ha_ndbcluster.cc +8 −1 Original line number Diff line number Diff line Loading @@ -454,7 +454,14 @@ int ha_ndbcluster::ndb_err(NdbConnection *trans) if (res == HA_ERR_FOUND_DUPP_KEY) { if (m_rows_to_insert == 1) m_dupkey= table->primary_key; { /* We can only distinguish between primary and non-primary violations here, so we need to return MAX_KEY for non-primary to signal that key is unknown */ m_dupkey= err.code == 630 ? table->primary_key : MAX_KEY; } else { /* We are batching inserts, offending key is not available */ Loading
sql/handler.cc +15 −5 Original line number Diff line number Diff line Loading @@ -1102,6 +1102,15 @@ 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); if (key_nr == MAX_KEY) { /* 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) Loading @@ -1109,6 +1118,7 @@ void handler::print_error(int error, myf errflag) str.length(max_length-4); str.append("..."); } } my_error(ER_DUP_ENTRY,MYF(0),str.c_ptr(),key_nr+1); DBUG_VOID_RETURN; } Loading