mariadb/mysql-test/main/loaddata_innodb.test
Sergei Golubchik 2ac98bcb3c MDEV-35354 fix the test for --embedded
MYSQL_TMP_DIR is not necessarily under MYSQLTEST_VARDIR (it's
definitely not in --parallel), so LOAD DATA INFILE cannot use
MYSQL_TMP_DIR, because secure_file_priv=MYSQLTEST_VARDIR

Except for LOAD DATA LOCAL INFILE, which reads the file through the
client, but only in non-embedded builds.

followup for 7aa28a2a54
2024-11-10 19:22:39 +01:00

34 lines
1.2 KiB
Text

--source include/have_innodb.inc
# Test if the engine does autocommit in LOAD DATA INFILE, or not
--let $load_file= $MYSQLTEST_VARDIR/std_data/loaddata2.dat
create table t1 (id int unsigned not null auto_increment primary key, a text, b text) engine=innodb;
start transaction;
--replace_result $load_file LOAD_FILE
--eval load data infile '$load_file' ignore into table t1 fields terminated by ',' enclosed by '''' (a, b)
commit;
select count(*) from t1;
truncate table t1;
start transaction;
--replace_result $load_file LOAD_FILE
--eval load data infile '$load_file' ignore into table t1 fields terminated by ',' enclosed by '''' (a, b)
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 $MYSQLTEST_VARDIR/tmp/load.data
1;;10
2;;10
1;;20
EOF
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--eval load data infile '$MYSQLTEST_VARDIR/tmp/load.data' replace into table t1 fields terminated by ';'
drop table t1;
--remove_file $MYSQLTEST_VARDIR/tmp/load.data