Commit d425e30c authored by Rich Prohaska's avatar Rich Prohaska

Merge branch 'master' of github.com:Tokutek/ft-engine

parents edf2264a e7bfc85a
......@@ -114,31 +114,32 @@ if [ -z $engine ] ; then
# run the tests
pushd $mysql_basedir/mysql-test
if [ $? = 0 ] ; then
if [[ $mysqlbuild =~ mysql-5.6 ]] || [[ $mysqlbuild =~ mariadb-10 ]] || [[ $mysqlbuild =~ Percona ]] ; then
./mysql-test-run.pl --suite=$teststorun_original --big-test --mysqld=--loose-tokudb-debug=3072 --max-test-fail=0 --force --retry=1 --testcase-timeout=60 \
if [[ $mysqlbuild =~ tokudb ]] ; then
# run standard tests
if [[ $mysqlbuild =~ 5.5 ]] ; then
./mysql-test-run.pl --suite=$teststorun_original --big-test --max-test-fail=0 --force --retry=1 --testcase-timeout=60 \
--mysqld=--default-storage-engine=myisam --mysqld=--sql-mode="" \
--mysqld=--loose-tokudb_debug=3072 --mysqld=--loose-tokudb_hide_default_row_format=1 \
--parallel=$parallel >>$testresultsdir/$tracefile 2>&1
else
./mysql-test-run.pl --suite=$teststorun_original --big-test --max-test-fail=0 --force --retry=1 --testcase-timeout=60 \
--mysqld=--default-storage-engine=myisam --mysqld=--sql-mode="" \
--mysqld=--loose-tokudb_debug=3072 --mysqld=--loose-tokudb_hide_default_row_format=1 \
--parallel=$parallel >>$testresultsdir/$tracefile 2>&1
fi
if [[ $mysqlbuild =~ Percona ]] ; then
./mysql-test-run.pl --suite=$teststorun_tokudb --big-test --mysqld=--plugin-load=tokudb=ha_tokudb.so --mysqld=--loose-tokudb_debug=3072 --max-test-fail=0 --force --retry=1 --testcase-timeout=60 \
--parallel=$parallel >>$testresultsdir/$tracefile 2>&1
else
# run tokudb tests
./mysql-test-run.pl --suite=$teststorun_tokudb --big-test --max-test-fail=0 --force --retry=1 --testcase-timeout=60 \
--mysqld=--default-storage-engine=tokudb \
--mysqld=--loose-tokudb_debug=3072 --mysqld=--loose-tokudb_hide_default_row_format=1 \
--parallel=$parallel >>$testresultsdir/$tracefile 2>&1
# setup for engines tests
engine="tokudb"
else
./mysql-test-run.pl --suite=$teststorun_original --big-test --max-test-fail=0 --force --retry=1 --testcase-timeout=60 \
--parallel=$parallel >>$testresultsdir/$tracefile 2>&1
fi
exitcode=$?
popd
fi
engine="tokudb"
fi
if [ ! -z $engine ] ; then
......@@ -148,7 +149,6 @@ if [ ! -z $engine ] ; then
./mysql-test-run.pl --suite=$teststorun --force --retry-failure=0 --max-test-fail=0 --nowarnings --testcase-timeout=60 \
--mysqld=--default-storage-engine=$engine --mysqld=--loose-tokudb_hide_default_row_format=1 \
--parallel=$parallel >>$testresultsdir/$tracefile 2>&1
exitcode=$?
popd
fi
fi
......@@ -168,7 +168,7 @@ while read line ; do
done <$testresultsdir/$tracefile
# commit the results
if [ $exitcode = 0 -a $tests_failed = 0 ] ; then
if [ $tests_failed = 0 ] ; then
testresult="PASS=$tests_passed"
else
testresult="FAIL=$tests_failed PASS=$tests_passed"
......
......@@ -51,9 +51,8 @@ if [[ $mysqlbuild =~ (.*)-(tokudb\-.*)-(linux)-(x86_64) ]] ; then
system=${BASH_REMATCH[3]}
arch=${BASH_REMATCH[4]}
else
echo $muysqlbuild is not a tokudb build
echo $mysqlbuild is not a tokudb build
fi
mysqltarball=$mysqlbuild.tar.gz
if [ ! -d downloads ] ; then mkdir downloads; fi
......@@ -62,6 +61,16 @@ if [ $? != 0 ] ; then exit 1; fi
basedir=$PWD
mysqltarball=$mysqlbuild.tar.gz
if [ -f $mysqlbuild.tar.gz ] ; then
compression=-z
mysqltarball=$mysqlbuild.tar.gz
elif [ -f $mysqlbuild.tar.bz2 ] ; then
compression=-j
mysqltarball=$mysqlbuild.tar.bz2
fi
# get the release
if [ ! -f $mysqltarball ] ; then
s3get $s3bucket $mysqltarball $mysqltarball
......@@ -116,7 +125,7 @@ if [ ! -d $mysqlbuild ] || [ $install -ne 0 ] ; then
rm mysql
if [ -d $mysqlbuild ] ; then sudo rm -rf $mysqlbuild; fi
tar xzf $basedir/$mysqltarball
tar -x $compression -f $basedir/$mysqltarball
if [ $? -ne 0 ] ; then exit 1; fi
ln -s $mysqldir /usr/local/mysql
if [ $? -ne 0 ] ; then exit 1; fi
......
......@@ -106,6 +106,7 @@ PATENT RIGHTS GRANT:
#include "ha_tokudb_alter_common.cc"
#include <sql_array.h>
#include <sql_base.h>
// The tokudb alter context contains the alter state that is set in the check if supported method and used
// later when the alter operation is executed.
......@@ -677,6 +678,28 @@ bool ha_tokudb::commit_inplace_alter_table(TABLE *altered_table, Alter_inplace_i
tokudb_alter_ctx *ctx = static_cast<tokudb_alter_ctx *>(ha_alter_info->handler_ctx);
bool result = false; // success
THD *thd = ha_thd();
MDL_ticket *ticket = table->mdl_ticket;
if (ticket->get_type() != MDL_EXCLUSIVE) {
// get exclusive lock no matter what
#if defined(MARIADB_BASE_VERSION)
killed_state saved_killed_state = thd->killed;
thd->killed = NOT_KILLED;
while (wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) && thd->killed)
thd->killed = NOT_KILLED;
assert(ticket->get_type() == MDL_EXCLUSIVE);
if (thd->killed == NOT_KILLED)
thd->killed = saved_killed_state;
#else
THD::killed_state saved_killed_state = thd->killed;
thd->killed = THD::NOT_KILLED;
while (wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) && thd->killed)
thd->killed = THD::NOT_KILLED;
assert(ticket->get_type() == MDL_EXCLUSIVE);
if (thd->killed == THD::NOT_KILLED)
thd->killed = saved_killed_state;
#endif
}
if (commit) {
#if (50613 <= MYSQL_VERSION_ID && MYSQL_VERSION_ID <= 50699) || \
......@@ -699,7 +722,6 @@ bool ha_tokudb::commit_inplace_alter_table(TABLE *altered_table, Alter_inplace_i
if (!commit) {
// abort the alter transaction NOW so that any alters are rolled back. this allows the following restores to work.
THD *thd = ha_thd();
tokudb_trx_data *trx = (tokudb_trx_data *) thd_data_get(thd, tokudb_hton->slot);
assert(ctx->alter_txn == trx->stmt);
assert(trx->tokudb_lock_count > 0);
......
......@@ -1304,9 +1304,9 @@ static struct st_mysql_information_schema tokudb_file_map_information_schema = {
static ST_FIELD_INFO tokudb_file_map_field_info[] = {
{"dictionary_name", 256, MYSQL_TYPE_STRING, 0, 0, NULL, SKIP_OPEN_TABLE },
{"internal_file_name", 256, MYSQL_TYPE_STRING, 0, 0, NULL, SKIP_OPEN_TABLE },
{"database", 256, MYSQL_TYPE_STRING, 0, 0, NULL, SKIP_OPEN_TABLE },
{"table", 256, MYSQL_TYPE_STRING, 0, 0, NULL, SKIP_OPEN_TABLE },
{"dictionary", 256, MYSQL_TYPE_STRING, 0, 0, NULL, SKIP_OPEN_TABLE },
{"table_schema", 256, MYSQL_TYPE_STRING, 0, 0, NULL, SKIP_OPEN_TABLE },
{"table_name", 256, MYSQL_TYPE_STRING, 0, 0, NULL, SKIP_OPEN_TABLE },
{"table_dictionary_name", 256, MYSQL_TYPE_STRING, 0, 0, NULL, SKIP_OPEN_TABLE },
{NULL, 0, MYSQL_TYPE_NULL, 0, 0, NULL, SKIP_OPEN_TABLE}
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment