mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 18:20:07 +01:00
Ensure that auto_increment fields are marked properly on update
MDEV-19622 Assertion failures in ha_partition::set_auto_increment_if_higher upon UPDATE on Aria table
This commit is contained in:
parent
6bc4444d7c
commit
edbf124515
6 changed files with 49 additions and 0 deletions
|
@ -861,6 +861,17 @@ SELECT * FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$skip_update)
|
||||||
|
{
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-19622 Assertion failures in
|
||||||
|
--echo # ha_partition::set_auto_increment_if_higher upon UPDATE on Aria table
|
||||||
|
--echo #
|
||||||
|
CREATE OR REPLACE TABLE t1 (pk INT AUTO_INCREMENT, a INT, KEY(pk)) ENGINE=myisam PARTITION BY HASH(a);
|
||||||
|
INSERT INTO t1 VALUES (1,1),(2,2);
|
||||||
|
UPDATE t1 SET pk = 0;
|
||||||
|
DROP TABLE t1;
|
||||||
|
}
|
||||||
|
|
||||||
--echo ##############################################################################
|
--echo ##############################################################################
|
||||||
}
|
}
|
||||||
|
|
|
@ -1101,4 +1101,12 @@ SELECT * FROM t1;
|
||||||
a
|
a
|
||||||
0
|
0
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-19622 Assertion failures in
|
||||||
|
# ha_partition::set_auto_increment_if_higher upon UPDATE on Aria table
|
||||||
|
#
|
||||||
|
CREATE OR REPLACE TABLE t1 (pk INT AUTO_INCREMENT, a INT, KEY(pk)) ENGINE=myisam PARTITION BY HASH(a);
|
||||||
|
INSERT INTO t1 VALUES (1,1),(2,2);
|
||||||
|
UPDATE t1 SET pk = 0;
|
||||||
|
DROP TABLE t1;
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
|
@ -1148,4 +1148,12 @@ SELECT * FROM t1;
|
||||||
a
|
a
|
||||||
0
|
0
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-19622 Assertion failures in
|
||||||
|
# ha_partition::set_auto_increment_if_higher upon UPDATE on Aria table
|
||||||
|
#
|
||||||
|
CREATE OR REPLACE TABLE t1 (pk INT AUTO_INCREMENT, a INT, KEY(pk)) ENGINE=myisam PARTITION BY HASH(a);
|
||||||
|
INSERT INTO t1 VALUES (1,1),(2,2);
|
||||||
|
UPDATE t1 SET pk = 0;
|
||||||
|
DROP TABLE t1;
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
|
@ -1129,4 +1129,12 @@ SELECT * FROM t1;
|
||||||
a
|
a
|
||||||
0
|
0
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-19622 Assertion failures in
|
||||||
|
# ha_partition::set_auto_increment_if_higher upon UPDATE on Aria table
|
||||||
|
#
|
||||||
|
CREATE OR REPLACE TABLE t1 (pk INT AUTO_INCREMENT, a INT, KEY(pk)) ENGINE=myisam PARTITION BY HASH(a);
|
||||||
|
INSERT INTO t1 VALUES (1,1),(2,2);
|
||||||
|
UPDATE t1 SET pk = 0;
|
||||||
|
DROP TABLE t1;
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
|
@ -1148,4 +1148,12 @@ SELECT * FROM t1;
|
||||||
a
|
a
|
||||||
0
|
0
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-19622 Assertion failures in
|
||||||
|
# ha_partition::set_auto_increment_if_higher upon UPDATE on Aria table
|
||||||
|
#
|
||||||
|
CREATE OR REPLACE TABLE t1 (pk INT AUTO_INCREMENT, a INT, KEY(pk)) ENGINE=myisam PARTITION BY HASH(a);
|
||||||
|
INSERT INTO t1 VALUES (1,1),(2,2);
|
||||||
|
UPDATE t1 SET pk = 0;
|
||||||
|
DROP TABLE t1;
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
|
@ -6470,6 +6470,12 @@ void TABLE::mark_columns_needed_for_update()
|
||||||
}
|
}
|
||||||
need_signal= true;
|
need_signal= true;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (found_next_number_field)
|
||||||
|
mark_auto_increment_column();
|
||||||
|
}
|
||||||
|
|
||||||
if (file->ha_table_flags() & HA_PRIMARY_KEY_REQUIRED_FOR_DELETE)
|
if (file->ha_table_flags() & HA_PRIMARY_KEY_REQUIRED_FOR_DELETE)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue