Bug#17382 mysql-test-run mysqldump fails with mysqlimport
client/Makefile.am: Use LDADD_R as common variable for programs to be linked with thread safe library. client/mysqlimport.c: Enable "--use-threads" Formatting mysql-test/r/mysqldump.result: Update test result mysql-test/t/disabled.def: Enable mysqldump mysql-test/t/mysqldump.test: Enable test for mysqlimport with threads Add test for failed mysqlimport
This commit is contained in:
parent
140c91643b
commit
0934ad5d7f
@ -29,6 +29,9 @@ INCLUDES = -I$(top_builddir)/include \
|
|||||||
LIBS = @CLIENT_LIBS@
|
LIBS = @CLIENT_LIBS@
|
||||||
LDADD= @CLIENT_EXTRA_LDFLAGS@ $(CLIENT_THREAD_LIBS) \
|
LDADD= @CLIENT_EXTRA_LDFLAGS@ $(CLIENT_THREAD_LIBS) \
|
||||||
$(top_builddir)/libmysql/libmysqlclient.la
|
$(top_builddir)/libmysql/libmysqlclient.la
|
||||||
|
LDADD_R= @CLIENT_EXTRA_LDFLAGS@ \
|
||||||
|
$(CLIENT_THREAD_LIBS) \
|
||||||
|
$(top_builddir)/libmysql_r/libmysqlclient_r.la
|
||||||
bin_PROGRAMS = mysql mysqladmin mysqlcheck mysqlshow \
|
bin_PROGRAMS = mysql mysqladmin mysqlcheck mysqlshow \
|
||||||
mysqldump mysqlimport mysqltest mysqlbinlog \
|
mysqldump mysqlimport mysqltest mysqlbinlog \
|
||||||
mysqltestmanagerc mysqltestmanager-pwgen \
|
mysqltestmanagerc mysqltestmanager-pwgen \
|
||||||
@ -48,13 +51,9 @@ mysqlbinlog_SOURCES = mysqlbinlog.cc $(top_srcdir)/mysys/mf_tempdir.c \
|
|||||||
$(top_srcdir)/mysys/my_vle.c \
|
$(top_srcdir)/mysys/my_vle.c \
|
||||||
$(top_srcdir)/mysys/base64.c
|
$(top_srcdir)/mysys/base64.c
|
||||||
mysqlbinlog_LDADD = $(LDADD) $(CXXLDFLAGS)
|
mysqlbinlog_LDADD = $(LDADD) $(CXXLDFLAGS)
|
||||||
mysqlslap_LDADD = $(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
|
mysqlslap_LDADD = $(CXXLDFLAGS) $(LDADD_R) \
|
||||||
@CLIENT_EXTRA_LDFLAGS@ \
|
|
||||||
$(top_builddir)/libmysql_r/libmysqlclient_r.la \
|
|
||||||
$(top_builddir)/mysys/libmysys.a
|
$(top_builddir)/mysys/libmysys.a
|
||||||
mysqlimport_LDADD = $(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
|
mysqlimport_LDADD = $(CXXLDFLAGS) $(LDADD_R) \
|
||||||
@CLIENT_EXTRA_LDFLAGS@ \
|
|
||||||
$(top_builddir)/libmysql_r/libmysqlclient_r.la \
|
|
||||||
$(top_builddir)/mysys/libmysys.a
|
$(top_builddir)/mysys/libmysys.a
|
||||||
mysqltestmanager_pwgen_SOURCES = mysqlmanager-pwgen.c
|
mysqltestmanager_pwgen_SOURCES = mysqlmanager-pwgen.c
|
||||||
mysqltestmanagerc_SOURCES= mysqlmanagerc.c $(yassl_dummy_link_fix)
|
mysqltestmanagerc_SOURCES= mysqlmanagerc.c $(yassl_dummy_link_fix)
|
||||||
|
@ -145,13 +145,11 @@ static struct my_option my_long_options[] =
|
|||||||
(gptr*) &opt_mysql_unix_port, (gptr*) &opt_mysql_unix_port, 0, GET_STR,
|
(gptr*) &opt_mysql_unix_port, (gptr*) &opt_mysql_unix_port, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#include <sslopt-longopts.h>
|
#include <sslopt-longopts.h>
|
||||||
#if 0
|
|
||||||
{"use-threads", OPT_USE_THREADS,
|
{"use-threads", OPT_USE_THREADS,
|
||||||
"Load files in parallel. The argument is the number "
|
"Load files in parallel. The argument is the number "
|
||||||
"of threads to use for loading data.",
|
"of threads to use for loading data.",
|
||||||
(gptr*) &opt_use_threads, (gptr*) &opt_use_threads, 0,
|
(gptr*) &opt_use_threads, (gptr*) &opt_use_threads, 0,
|
||||||
GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
|
||||||
#ifndef DONT_ALLOW_USER_CHANGE
|
#ifndef DONT_ALLOW_USER_CHANGE
|
||||||
{"user", 'u', "User for login if not current user.", (gptr*) ¤t_user,
|
{"user", 'u', "User for login if not current user.", (gptr*) ¤t_user,
|
||||||
(gptr*) ¤t_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(gptr*) ¤t_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
@ -2650,3 +2650,178 @@ DELIMITER ;
|
|||||||
|
|
||||||
DROP TRIGGER tr1;
|
DROP TRIGGER tr1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
create table t1 (a text , b text);
|
||||||
|
create table t2 (a text , b text);
|
||||||
|
insert t1 values ("Duck, Duck", "goose");
|
||||||
|
insert t1 values ("Duck, Duck", "pidgeon");
|
||||||
|
insert t2 values ("We the people", "in order to perform");
|
||||||
|
insert t2 values ("a more perfect", "union");
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
Duck, Duck goose
|
||||||
|
Duck, Duck pidgeon
|
||||||
|
select * from t2;
|
||||||
|
a b
|
||||||
|
We the people in order to perform
|
||||||
|
a more perfect union
|
||||||
|
test.t1: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
|
||||||
|
test.t2: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
Duck, Duck goose
|
||||||
|
Duck, Duck pidgeon
|
||||||
|
Duck, Duck goose
|
||||||
|
Duck, Duck pidgeon
|
||||||
|
select * from t2;
|
||||||
|
a b
|
||||||
|
We the people in order to perform
|
||||||
|
a more perfect union
|
||||||
|
We the people in order to perform
|
||||||
|
a more perfect union
|
||||||
|
create table words(a varchar(255));
|
||||||
|
create table words2(b varchar(255));
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
Duck, Duck goose
|
||||||
|
Duck, Duck pidgeon
|
||||||
|
Duck, Duck goose
|
||||||
|
Duck, Duck pidgeon
|
||||||
|
Duck, Duck goose
|
||||||
|
Duck, Duck pidgeon
|
||||||
|
select * from t2;
|
||||||
|
a b
|
||||||
|
We the people in order to perform
|
||||||
|
a more perfect union
|
||||||
|
We the people in order to perform
|
||||||
|
a more perfect union
|
||||||
|
We the people in order to perform
|
||||||
|
a more perfect union
|
||||||
|
select * from words;
|
||||||
|
a
|
||||||
|
Aarhus
|
||||||
|
Aaron
|
||||||
|
Ababa
|
||||||
|
aback
|
||||||
|
abaft
|
||||||
|
abandon
|
||||||
|
abandoned
|
||||||
|
abandoning
|
||||||
|
abandonment
|
||||||
|
abandons
|
||||||
|
Aarhus
|
||||||
|
Aaron
|
||||||
|
Ababa
|
||||||
|
aback
|
||||||
|
abaft
|
||||||
|
abandon
|
||||||
|
abandoned
|
||||||
|
abandoning
|
||||||
|
abandonment
|
||||||
|
abandons
|
||||||
|
abase
|
||||||
|
abased
|
||||||
|
abasement
|
||||||
|
abasements
|
||||||
|
abases
|
||||||
|
abash
|
||||||
|
abashed
|
||||||
|
abashes
|
||||||
|
abashing
|
||||||
|
abasing
|
||||||
|
abate
|
||||||
|
abated
|
||||||
|
abatement
|
||||||
|
abatements
|
||||||
|
abater
|
||||||
|
abates
|
||||||
|
abating
|
||||||
|
Abba
|
||||||
|
abbe
|
||||||
|
abbey
|
||||||
|
abbeys
|
||||||
|
abbot
|
||||||
|
abbots
|
||||||
|
Abbott
|
||||||
|
abbreviate
|
||||||
|
abbreviated
|
||||||
|
abbreviates
|
||||||
|
abbreviating
|
||||||
|
abbreviation
|
||||||
|
abbreviations
|
||||||
|
Abby
|
||||||
|
abdomen
|
||||||
|
abdomens
|
||||||
|
abdominal
|
||||||
|
abduct
|
||||||
|
abducted
|
||||||
|
abduction
|
||||||
|
abductions
|
||||||
|
abductor
|
||||||
|
abductors
|
||||||
|
abducts
|
||||||
|
Abe
|
||||||
|
abed
|
||||||
|
Abel
|
||||||
|
Abelian
|
||||||
|
Abelson
|
||||||
|
Aberdeen
|
||||||
|
Abernathy
|
||||||
|
aberrant
|
||||||
|
aberration
|
||||||
|
select * from words2;
|
||||||
|
b
|
||||||
|
abase
|
||||||
|
abased
|
||||||
|
abasement
|
||||||
|
abasements
|
||||||
|
abases
|
||||||
|
abash
|
||||||
|
abashed
|
||||||
|
abashes
|
||||||
|
abashing
|
||||||
|
abasing
|
||||||
|
abate
|
||||||
|
abated
|
||||||
|
abatement
|
||||||
|
abatements
|
||||||
|
abater
|
||||||
|
abates
|
||||||
|
abating
|
||||||
|
Abba
|
||||||
|
abbe
|
||||||
|
abbey
|
||||||
|
abbeys
|
||||||
|
abbot
|
||||||
|
abbots
|
||||||
|
Abbott
|
||||||
|
abbreviate
|
||||||
|
abbreviated
|
||||||
|
abbreviates
|
||||||
|
abbreviating
|
||||||
|
abbreviation
|
||||||
|
abbreviations
|
||||||
|
Abby
|
||||||
|
abdomen
|
||||||
|
abdomens
|
||||||
|
abdominal
|
||||||
|
abduct
|
||||||
|
abducted
|
||||||
|
abduction
|
||||||
|
abductions
|
||||||
|
abductor
|
||||||
|
abductors
|
||||||
|
abducts
|
||||||
|
Abe
|
||||||
|
abed
|
||||||
|
Abel
|
||||||
|
Abelian
|
||||||
|
Abelson
|
||||||
|
Aberdeen
|
||||||
|
Abernathy
|
||||||
|
aberrant
|
||||||
|
aberration
|
||||||
|
drop table words;
|
||||||
|
mysql-import: Error: 1146, Table 'test.words' doesn't exist, when using table: words
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
drop table words2;
|
||||||
|
@ -36,4 +36,3 @@ sp-goto : GOTO is currently is disabled - will be fixed in the f
|
|||||||
rpl_ndb_blob : Bug#17505
|
rpl_ndb_blob : Bug#17505
|
||||||
rpl_ndb_blob2 : Bug#17505
|
rpl_ndb_blob2 : Bug#17505
|
||||||
rpl_ndb_log : results are not deterministic
|
rpl_ndb_log : results are not deterministic
|
||||||
mysqldump : Bug#17443 mysqlimport --use-threads=5 gives crashes
|
|
||||||
|
@ -1049,7 +1049,6 @@ SET SQL_MODE = @old_sql_mode;
|
|||||||
DROP TRIGGER tr1;
|
DROP TRIGGER tr1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--disable_parsing
|
|
||||||
#
|
#
|
||||||
# Added for use-thread option
|
# Added for use-thread option
|
||||||
#
|
#
|
||||||
@ -1070,7 +1069,22 @@ select * from t2;
|
|||||||
--exec $MYSQL_IMPORT --silent --use-threads=5 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt
|
--exec $MYSQL_IMPORT --silent --use-threads=5 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt
|
||||||
select * from t1;
|
select * from t1;
|
||||||
select * from t2;
|
select * from t2;
|
||||||
|
# Now we test with multiple threads, but less threads than files.
|
||||||
|
create table words(a varchar(255));
|
||||||
|
create table words2(b varchar(255));
|
||||||
|
--exec $MYSQL_IMPORT --silent --use-threads=2 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt $MYSQLTEST_VARDIR/std_data_ln/words.dat $MYSQLTEST_VARDIR/std_data_ln/words2.dat
|
||||||
|
select * from t1;
|
||||||
|
select * from t2;
|
||||||
|
select * from words;
|
||||||
|
select * from words2;
|
||||||
|
|
||||||
|
# Drop table "words" and run with threads, should fail
|
||||||
|
drop table words;
|
||||||
|
--replace_regex /.*mysqlimport/mysql-import/
|
||||||
|
--error 1
|
||||||
|
--exec $MYSQL_IMPORT --silent --use-threads=2 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt $MYSQLTEST_VARDIR/std_data_ln/words.dat $MYSQLTEST_VARDIR/std_data_ln/words2.dat 2>&1
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
--enable_parsing
|
|
||||||
|
drop table words2;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user