You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-08 14:22:09 +03:00
Part#3 : MCOL-4678 MTR tests fail because of /tmp and ./ with LOAD DATA
Some MTR test still failed when running without --extern Fixing the following problems: - Changing "--exec mariadb" to "--exect $MYSQL" to properly pass the socket - Changing ./suite/columnstore/std_data/ to MTR_SUITE_DIR/../std_data/ - Changing "cpimport" to $MCS_CPIMPORT. Detecting and exporting a proper $MCS_CPIMPORT in suite.pm
This commit is contained in:
@@ -11,30 +11,36 @@ DROP DATABASE IF EXISTS mcs28_db1;
|
||||
CREATE DATABASE mcs28_db1;
|
||||
USE mcs28_db1;
|
||||
|
||||
--let $datafile=./suite/columnstore/std_data/loaddata1.dat
|
||||
--let $datafile=$MTR_SUITE_DIR/../std_data/loaddata1.dat
|
||||
CREATE TABLE t1 (a DATE, b DATE, c DATE not null, d DATE) ENGINE=Columnstore;
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY ',';
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$datafile' INTO TABLE t1 FIELDS TERMINATED BY ',' IGNORE 2 LINES;
|
||||
SELECT * FROM t1;
|
||||
TRUNCATE TABLE t1;
|
||||
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY ',' LINES STARTING BY ',' (b,c,d);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--let $datafile=./suite/columnstore/std_data/loaddata2.dat
|
||||
--let $datafile=$MTR_SUITE_DIR/../std_data/loaddata2.dat
|
||||
CREATE TABLE t1 (a TEXT, b TEXT) ENGINE=Columnstore;
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY ',' ENCLOSED BY '''';
|
||||
SELECT CONCAT('|',a,'|'), CONCAT('|',b,'|') FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--let $datafile=./suite/columnstore/std_data/loaddata3.dat
|
||||
--let $datafile=$MTR_SUITE_DIR/../std_data/loaddata3.dat
|
||||
CREATE TABLE t1 (a INT, b CHAR(10)) ENGINE=Columnstore;
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' IGNORE 1 LINES;
|
||||
SELECT * FROM t1;
|
||||
TRUNCATE TABLE t1;
|
||||
|
||||
--let $datafile=./suite/columnstore/std_data/loaddata4.dat
|
||||
--let $datafile=$MTR_SUITE_DIR/../std_data/loaddata4.dat
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' LINES TERMINATED BY '' IGNORE 1 LINES;
|
||||
# The empty line last comes from the end line field in the file
|
||||
SELECT * FROM t1;
|
||||
|
@@ -21,7 +21,7 @@ CREATE TABLE t1(col1 INT, col2 INT, col3 CHAR(8)) ENGINE=Columnstore;
|
||||
#Bulk Load from a central location with single data source file
|
||||
#cpimport -m1
|
||||
--disable_result_log #cpimport logs thread/timestamps
|
||||
--exec cpimport -m1 mcs47_db t1 '$MTR_SUITE_DIR/../std_data/100Krows.dat';
|
||||
--exec $MCS_CPIMPORT -m1 mcs47_db t1 '$MTR_SUITE_DIR/../std_data/100Krows.dat';
|
||||
--enable_result_log
|
||||
|
||||
#Validate data
|
||||
@@ -34,7 +34,7 @@ TRUNCATE TABLE t1;
|
||||
|
||||
#cpimport default behavior is same as -m1 option.
|
||||
--disable_result_log
|
||||
--exec cpimport mcs47_db t1 '$MTR_SUITE_DIR/../std_data/100Krows.dat';
|
||||
--exec $MCS_CPIMPORT mcs47_db t1 '$MTR_SUITE_DIR/../std_data/100Krows.dat';
|
||||
--enable_result_log
|
||||
|
||||
let $rowcount2 = query_get_value(SELECT COUNT(*) cnt FROM t1, cnt, 1);
|
||||
|
@@ -15,10 +15,10 @@ CREATE TABLE t1(col1 INT, col2 INT, col3 CHAR(8)) ENGINE=Columnstore;
|
||||
|
||||
# Load fragmented data source files distributed across pm nodes, cpimport -m2
|
||||
# This test needs to be extended to cover multi-node setup
|
||||
--exec yes | cp ./suite/columnstore/std_data/100Krows.dat /tmp
|
||||
--exec yes | cp $MTR_SUITE_DIR/../std_data/100Krows.dat /tmp
|
||||
|
||||
--disable_result_log #cpimport logs thread/timestamps
|
||||
--exec cpimport -m2 mcs48_db t1 -f '/tmp' -l '100Krows.dat';
|
||||
--exec $MCS_CPIMPORT -m2 mcs48_db t1 -f '/tmp' -l '100Krows.dat';
|
||||
--enable_result_log
|
||||
|
||||
#Validate data
|
||||
|
@@ -22,7 +22,7 @@ CREATE TABLE t1(col1 INT, col2 INT, col3 CHAR(8)) ENGINE=Columnstore;
|
||||
# This test needs to be extended to cover multi-node setup
|
||||
|
||||
--disable_result_log #cpimport logs thread/timestamps
|
||||
--exec cpimport -m3 mcs49_db t1 -l '$MTR_SUITE_DIR/../std_data/100Krows.dat';
|
||||
--exec $MCS_CPIMPORT -m3 mcs49_db t1 -l '$MTR_SUITE_DIR/../std_data/100Krows.dat';
|
||||
--enable_result_log
|
||||
|
||||
#Validate data
|
||||
|
@@ -19,7 +19,7 @@ USE mcs50_db;
|
||||
CREATE TABLE t1(col1 INT, col2 INT, col3 CHAR(8)) ENGINE=Columnstore;
|
||||
|
||||
#Valid data and table
|
||||
--exec cat $MTR_SUITE_DIR/../std_data/100Krows.dat | cpimport mcs50_db t1 >/dev/null
|
||||
--exec cat $MTR_SUITE_DIR/../std_data/100Krows.dat | $MCS_CPIMPORT mcs50_db t1 >/dev/null
|
||||
SELECT * FROM t1 ORDER BY col1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
@@ -28,20 +28,20 @@ TRUNCATE t1;
|
||||
#Unknown db
|
||||
#Error getting OID for table unknown.t1: IDB-2006: 'unknown.t1' does not exist in Columnstore.
|
||||
--error 1
|
||||
--exec cat $MTR_SUITE_DIR/../100Krows.dat | cpimport unknown t1 >/dev/null
|
||||
--exec cat $MTR_SUITE_DIR/../100Krows.dat | $MCS_CPIMPORT unknown t1 >/dev/null
|
||||
|
||||
#Unknown table
|
||||
#Error getting OID for table mcs50_db.unknown: IDB-2006: 'mcs50_db.unknown' does not exist in Columnstore.
|
||||
--error 1
|
||||
--exec cat $MTR_SUITE_DIR/../std_data/100Krows.dat | cpimport mcs50_db unknown >/dev/null
|
||||
--exec cat $MTR_SUITE_DIR/../std_data/100Krows.dat | $MCS_CPIMPORT mcs50_db unknown >/dev/null
|
||||
|
||||
#Wrong delimiter
|
||||
--error 1
|
||||
--exec cat $MTR_SUITE_DIR/../std_data/100Krows.dat | cpimport mcs50_db t1 -s ',' >/dev/null
|
||||
--exec cat $MTR_SUITE_DIR/../std_data/100Krows.dat | $MCS_CPIMPORT mcs50_db t1 -s ',' >/dev/null
|
||||
|
||||
#Unknown file
|
||||
--exec rm -f /tmp/UNKNOWN.dat
|
||||
--exec cat /tmp/UNKNOWN.dat | cpimport mcs50_db t1 >/dev/null
|
||||
--exec cat /tmp/UNKNOWN.dat | $MCS_CPIMPORT mcs50_db t1 >/dev/null
|
||||
SELECT * FROM t1 ORDER BY col1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
|
@@ -28,13 +28,15 @@ CREATE TABLE mcs51_db2.t_mcs (col1 INT, col2 INT, col3 CHAR(8)) ENGINE=Columnsto
|
||||
--eval LOAD DATA LOCAL infile '$MTR_SUITE_DIR/../std_data/100Krows.dat' INTO TABLE mcs51_db1.t_myisam FIELDS TERMINATED BY '|';
|
||||
|
||||
#Bulk load deom Innodb table
|
||||
--exec mariadb -q -e 'SELECT * FROM mcs51_db1.t_innodb;' -N | cpimport -s '\t' mcs51_db2 t_mcs >/dev/null
|
||||
SELECT COUNT(*) FROM mcs51_db1.t_innodb;
|
||||
--exec $MYSQL -q -e 'SELECT * FROM mcs51_db1.t_innodb;' -N | $MCS_CPIMPORT -s '\t' mcs51_db2 t_mcs >/dev/null
|
||||
SELECT * FROM mcs51_db2.t_mcs ORDER BY col1;
|
||||
SELECT COUNT(*) FROM mcs51_db2.t_mcs;
|
||||
TRUNCATE mcs51_db2.t_mcs;
|
||||
|
||||
#Bulk load deom MyISAM table
|
||||
--exec mariadb -q -e 'SELECT * FROM mcs51_db1.t_myisam;' -N | cpimport -s '\t' mcs51_db2 t_mcs >/dev/null
|
||||
SELECT COUNT(*) FROM mcs51_db1.t_myisam;
|
||||
--exec $MYSQL -q -e 'SELECT * FROM mcs51_db1.t_myisam;' -N | $MCS_CPIMPORT -s '\t' mcs51_db2 t_mcs >/dev/null
|
||||
SELECT * FROM mcs51_db2.t_mcs ORDER BY col1;
|
||||
SELECT COUNT(*) FROM mcs51_db2.t_mcs;
|
||||
TRUNCATE mcs51_db2.t_mcs;
|
||||
|
@@ -38,7 +38,7 @@ EOF;
|
||||
# Binary mode with NULLs accepted Numeric fields containing NULL will be treated
|
||||
# as NULL unless the column has a default value
|
||||
--disable_result_log #cpimport logs thread/timestamps
|
||||
--exec cpimport -I1 mcs55_db t1 '/tmp/mcs55.bin';
|
||||
--exec $MCS_CPIMPORT -I1 mcs55_db t1 '/tmp/mcs55.bin';
|
||||
--enable_result_log
|
||||
|
||||
#Validate data
|
||||
@@ -49,7 +49,7 @@ TRUNCATE t1;
|
||||
|
||||
# Binary mode with NULLs saturated NULLs in numeric fields will be saturated
|
||||
--disable_result_log #cpimport logs thread/timestamps
|
||||
--exec cpimport -I2 mcs55_db t1 '/tmp/mcs55.bin';
|
||||
--exec $MCS_CPIMPORT -I2 mcs55_db t1 '/tmp/mcs55.bin';
|
||||
--enable_result_log
|
||||
|
||||
#Validate data
|
||||
|
@@ -21,7 +21,7 @@ CREATE TABLE t1(col1 INT, col2 INT) ENGINE=Columnstore;
|
||||
# Negative. Non-existing data file.
|
||||
exec rm -f /tmp/nonexisting.dat;
|
||||
--disable_result_log #cpimport logs thread/timestamps
|
||||
exec cpimport mcs56_db t1 /tmp/nonexisting.dat 2>&1 | tee /tmp/mcs56.out;
|
||||
exec $MCS_CPIMPORT mcs56_db t1 /tmp/nonexisting.dat 2>&1 | tee /tmp/mcs56.out;
|
||||
--enable_result_log
|
||||
|
||||
exec echo "";
|
||||
@@ -35,7 +35,7 @@ DROP DATABASE IF EXISTS nonexist_tbl;
|
||||
|
||||
# Negative. Non-existing db.
|
||||
--disable_result_log
|
||||
exec cpimport nonexist_db t1 /tmp/nonexisting.dat 2>&1 | tee /tmp/mcs56.out;
|
||||
exec $MCS_CPIMPORT nonexist_db t1 /tmp/nonexisting.dat 2>&1 | tee /tmp/mcs56.out;
|
||||
--enable_result_log
|
||||
|
||||
exec echo "";
|
||||
@@ -45,7 +45,7 @@ exec grep -q "IDB-2006: 'nonexist_db.t1' does not exist in Columnstore." /tmp/mc
|
||||
|
||||
# Negative. Non-existing table.
|
||||
--disable_result_log
|
||||
exec cpimport mcs56_db nonexist_tbl /tmp/nonexisting.dat 2>&1 | tee /tmp/mcs56.out;
|
||||
exec $MCS_CPIMPORT mcs56_db nonexist_tbl /tmp/nonexisting.dat 2>&1 | tee /tmp/mcs56.out;
|
||||
--enable_result_log
|
||||
|
||||
exec echo "";
|
||||
|
@@ -14,7 +14,8 @@ USE mcs67_db;
|
||||
CREATE TABLE t1(col1 INT, col2 INT, col3 CHAR(8)) ENGINE=Columnstore;
|
||||
|
||||
#Correct delimiter
|
||||
LOAD DATA LOCAL infile './suite/columnstore/std_data/100Krows.dat' INTO TABLE t1 FIELDS TERMINATED BY '|';
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$MTR_SUITE_DIR/../std_data/100Krows.dat' INTO TABLE t1 FIELDS TERMINATED BY '|';
|
||||
|
||||
#Validate data
|
||||
SELECT COUNT(*) FROM t1;
|
||||
@@ -23,7 +24,7 @@ TRUNCATE t1;
|
||||
|
||||
#Use a non-default delimiter '\t'
|
||||
--exec rm -f /tmp/100Krows.dat
|
||||
--exec cp ./suite/columnstore/std_data/100Krows.dat /tmp/100Krows.dat
|
||||
--exec cp $MTR_SUITE_DIR/../std_data/100Krows.dat /tmp/100Krows.dat
|
||||
--exec sed -i 's/|/\t/g' /tmp/100Krows.dat
|
||||
LOAD DATA LOCAL infile '/tmp/100Krows.dat' INTO TABLE t1 FIELDS TERMINATED BY '\t';
|
||||
|
||||
|
@@ -20,10 +20,10 @@ CREATE TABLE t1(col1 INT, col2 INT, col3 CHAR(8)) ENGINE=Columnstore;
|
||||
|
||||
#Error in loading job data as ',' is not the actual delimiter
|
||||
--error 1
|
||||
--exec cpimport -s ',' mcs68_db t1 '$MTR_SUITE_DIR/../std_data/100Krows.dat' >/dev/null
|
||||
--exec $MCS_CPIMPORT -s ',' mcs68_db t1 '$MTR_SUITE_DIR/../std_data/100Krows.dat' >/dev/null
|
||||
|
||||
#Correct delimiter
|
||||
--exec cpimport -s '|' mcs68_db t1 '$MTR_SUITE_DIR/../std_data/100Krows.dat' >/dev/null
|
||||
--exec $MCS_CPIMPORT -s '|' mcs68_db t1 '$MTR_SUITE_DIR/../std_data/100Krows.dat' >/dev/null
|
||||
|
||||
#Validate data
|
||||
SELECT COUNT(*) FROM t1;
|
||||
@@ -34,7 +34,7 @@ TRUNCATE t1;
|
||||
--exec rm -f /tmp/mcs68_100Krows.dat
|
||||
--exec cp $MTR_SUITE_DIR/../std_data/100Krows.dat /tmp/mcs68_100Krows.dat
|
||||
--exec sed -i 's/|/\t/g' /tmp/mcs68_100Krows.dat
|
||||
--exec cpimport -s '\t' mcs68_db t1 '/tmp/mcs68_100Krows.dat' >/dev/null
|
||||
--exec $MCS_CPIMPORT -s '\t' mcs68_db t1 '/tmp/mcs68_100Krows.dat' >/dev/null
|
||||
|
||||
#Validate data
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
@@ -18,7 +18,8 @@ create table customer (
|
||||
c_comment varchar (117)
|
||||
) engine=columnstore;
|
||||
|
||||
LOAD DATA LOCAL infile './suite/columnstore/std_data/1m_customer.tbl' INTO TABLE customer FIELDS TERMINATED BY '|';
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$MTR_SUITE_DIR/../std_data/1m_customer.tbl' INTO TABLE customer FIELDS TERMINATED BY '|';
|
||||
|
||||
ALTER TABLE customer ADD COLUMN u_custkey INT UNSIGNED;
|
||||
ALTER TABLE customer ADD COLUMN u_bigcustkey BIGINT UNSIGNED;
|
||||
|
@@ -30,8 +30,10 @@ create table orders (
|
||||
o_comment varchar (79)
|
||||
) engine=columnstore;
|
||||
|
||||
LOAD DATA LOCAL infile './suite/columnstore/std_data/1m_customer.tbl' INTO TABLE customer FIELDS TERMINATED BY '|';
|
||||
LOAD DATA LOCAL infile './suite/columnstore/std_data/1m_orders.tbl' INTO TABLE orders FIELDS TERMINATED BY '|';
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$MTR_SUITE_DIR/../std_data/1m_customer.tbl' INTO TABLE customer FIELDS TERMINATED BY '|';
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval LOAD DATA LOCAL infile '$MTR_SUITE_DIR/../std_data/1m_orders.tbl' INTO TABLE orders FIELDS TERMINATED BY '|';
|
||||
|
||||
alter table customer add column u_custkey int unsigned;
|
||||
update customer set u_custkey=c_custkey;
|
||||
|
Reference in New Issue
Block a user