Commit ad5eb8d1 authored by unknown's avatar unknown
Browse files

Bug #17763 mysqld cores with list partitioning if update to missing partition

- error string wrongly formatted


mysql-test/r/ndb_partition_error.result:
  Bug #17763 mysqld cores with list partitioning if update to missing partition
mysql-test/t/ndb_partition_error.test:
  Bug #17763 mysqld cores with list partitioning if update to missing partition
parent b697993a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -28,3 +28,11 @@ partitions 3
partition x2 values less than (10),
partition x3 values less than (20));
drop table t1;
CREATE TABLE t1 (id INT) ENGINE=NDB
PARTITION BY LIST(id)
(PARTITION p0 VALUES IN (2, 4),
PARTITION p1 VALUES IN (42, 142));
INSERT INTO t1 VALUES (2);
UPDATE t1 SET id=5 WHERE id=2;
ERROR HY000: Table has no partition for value 5
DROP TABLE t1;
+12 −0
Original line number Diff line number Diff line
@@ -44,3 +44,15 @@ partitions 3
 partition x3 values less than (20));

drop table t1;

#
# Bug #17763 mysqld cores with list partitioning if update to missing partition
#
CREATE TABLE t1 (id INT) ENGINE=NDB
  PARTITION BY LIST(id)
   (PARTITION p0 VALUES IN (2, 4),
    PARTITION p1 VALUES IN (42, 142));
INSERT INTO t1 VALUES (2);
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
UPDATE t1 SET id=5 WHERE id=2;
DROP TABLE t1;
+4 −1
Original line number Diff line number Diff line
@@ -5988,8 +5988,11 @@ void ha_ndbcluster::print_error(int error, myf errflag)
  DBUG_PRINT("enter", ("error = %d", error));

  if (error == HA_ERR_NO_PARTITION_FOUND)
  {
    char buf[100];
    my_error(ER_NO_PARTITION_FOR_GIVEN_VALUE, MYF(0),
             (int)m_part_info->part_expr->val_int());
             llstr(m_part_info->part_expr->val_int(), buf));
  }
  else
    handler::print_error(error, errflag);
  DBUG_VOID_RETURN;