MDEV-35354 InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON upon LOAD DATA REPLACE with unique blob

restore erroneously changed line

followup for f2512c0fa8
This commit is contained in:
Sergei Golubchik 2024-11-07 06:15:18 -08:00
commit 7aa28a2a54
3 changed files with 31 additions and 1 deletions

View file

@ -17,3 +17,18 @@ select count(*) from t1;
count(*)
0
drop table t1;
#
# MDEV-35354 InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON upon LOAD DATA REPLACE with unique blob
#
create table t1 (id int primary key, a varchar(1024), b int, unique(a,id,b)) engine=innodb;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`a` varchar(1024) DEFAULT NULL,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `a` (`a`,`id`,`b`) USING HASH
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
load data local infile 'MYSQL_TMP_DIR/load.data' replace into table t1 fields terminated by ';';
drop table t1;

View file

@ -17,3 +17,18 @@ start transaction;
rollback;
select count(*) from t1;
drop table t1;
--echo #
--echo # MDEV-35354 InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON upon LOAD DATA REPLACE with unique blob
--echo #
create table t1 (id int primary key, a varchar(1024), b int, unique(a,id,b)) engine=innodb;
show create table t1;
--write_file $MYSQL_TMP_DIR/load.data
1;;10
2;;10
1;;20
EOF
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
--eval load data local infile '$MYSQL_TMP_DIR/load.data' replace into table t1 fields terminated by ';'
drop table t1;
--remove_file $MYSQL_TMP_DIR/load.data

View file

@ -685,7 +685,7 @@ int mysql_load(THD *thd, const sql_exchange *ex, TABLE_LIST *table_list,
thd->abort_on_warning= !ignore && thd->is_strict_mode();
thd->get_stmt_da()->reset_current_row_for_warning(1);
bool create_lookup_handler= false;
bool create_lookup_handler= handle_duplicates != DUP_ERROR;
if ((table_list->table->file->ha_table_flags() & HA_DUPLICATE_POS))
{
create_lookup_handler= true;