Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Take a look at this script, called from test000.sh to rebuild a database.
It selects a set of tables to be loaded into columnstore and into MyISAM based on the day of the year (idbTables are for MCS, fTables for MyISAM):
# Now pick which table(s) if any will be MyISAM tables.
|
let dayMod=dayOfYear%6;
|
case $dayMod in
|
0)
|
idbTables=( customer dateinfo lineorder part supplier )
|
fTables=( )
|
;;
|
1)
|
idbTables=( dateinfo lineorder part supplier )
|
fTables=( customer )
|
;;
|
...
|
Slightly below is the code that loads data into MyISAM using "load data infile":
for tbl in ${fTables[@]}; do
|
./createSSBTable.sh $SSBDB $tbl myisam
|
 |
# echo "Loading data into $SSBDB.$tbl using load data infile."
|
$MYSQLCMD $SSBDB -e "load data infile '$IMPORTDIR/$tbl.tbl' into table $tbl fields terminated by '|';"
|
done
|
The defaults for "load data infile" is not to load data from /home and some other directories. So if you run test000.sh from /home/user/.../allTests you will have test000.sh failing, differently each day. Sometimes it will not fail, because MCS data loading uses cpimport which does not check paths and at dayOfYear%6==0 all tables get loaded with cpimport.
This is misleading, to be mild in choice of words. Tests failing today will be different from tests failed yesterday.
If the query above is changed to "load data local infile ..." then it will work with paths from /home directory as well. "Load data local infile" does not check paths and successfully loads data any day of year.