Commit 4b0f6084 authored by andrey@lmy004's avatar andrey@lmy004

Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into lmy004.:/work/mysql-5.1-events_i_s
parents 64c34f10 b59c6786
...@@ -3605,49 +3605,77 @@ static void replace_dynstr_append(DYNAMIC_STRING *ds, const char *val) ...@@ -3605,49 +3605,77 @@ static void replace_dynstr_append(DYNAMIC_STRING *ds, const char *val)
/* /*
Append all results to the dynamic string separated with '\t' Append the result for one field to the dynamic string ds
Values may be converted with 'replace_column'
*/ */
static void append_result(DYNAMIC_STRING *ds, MYSQL_RES *res) static void append_field(DYNAMIC_STRING *ds, uint col_idx, MYSQL_FIELD* field,
const char* val, ulonglong len, bool is_null)
{ {
MYSQL_ROW row;
uint num_fields= mysql_num_fields(res);
MYSQL_FIELD *fields= !display_result_vertically ? 0 : mysql_fetch_fields(res);
ulong *lengths;
while ((row = mysql_fetch_row(res)))
{
uint i;
lengths = mysql_fetch_lengths(res);
for (i = 0; i < num_fields; i++)
{
const char *val= row[i];
ulonglong len= lengths[i];
if (i < max_replace_column && replace_column[i]) char buf[256];
if (col_idx < max_replace_column && replace_column[col_idx])
{ {
val= replace_column[i]; val= replace_column[col_idx];
len= strlen(val); len= strlen(val);
} }
if (!val) else if (is_null)
{ {
val= "NULL"; val= "NULL";
len= 4; len= 4;
} }
#ifdef __WIN__
else if ((field->type == MYSQL_TYPE_DOUBLE ||
field->type == MYSQL_TYPE_FLOAT ) &&
field->decimals >= 31)
{
/* Convert 1.2e+018 to 1.2e+18 and 1.2e-018 to 1.2e-18 */
char *start= strchr(val, 'e');
if (start && strlen(start) >= 5 &&
(start[1] == '-' || start[1] == '+') && start[2] == '0')
{
start+=2; /* Now points at first '0' */
/* Move all chars after the first '0' one step left */
memmove(start, start + 1, strlen(start));
len--;
}
}
#endif
if (!display_result_vertically) if (!display_result_vertically)
{ {
if (i) if (col_idx)
dynstr_append_mem(ds, "\t", 1); dynstr_append_mem(ds, "\t", 1);
replace_dynstr_append_mem(ds, val, (int)len); replace_dynstr_append_mem(ds, val, (int)len);
} }
else else
{ {
dynstr_append(ds, fields[i].name); dynstr_append(ds, field->name);
dynstr_append_mem(ds, "\t", 1); dynstr_append_mem(ds, "\t", 1);
replace_dynstr_append_mem(ds, val, (int)len); replace_dynstr_append_mem(ds, val, (int)len);
dynstr_append_mem(ds, "\n", 1); dynstr_append_mem(ds, "\n", 1);
} }
} }
/*
Append all results to the dynamic string separated with '\t'
Values may be converted with 'replace_column'
*/
static void append_result(DYNAMIC_STRING *ds, MYSQL_RES *res)
{
MYSQL_ROW row;
uint num_fields= mysql_num_fields(res);
MYSQL_FIELD *fields= mysql_fetch_fields(res);
ulong *lengths;
while ((row = mysql_fetch_row(res)))
{
uint i;
lengths = mysql_fetch_lengths(res);
for (i = 0; i < num_fields; i++)
append_field(ds, i, &fields[i],
(const char*)row[i], lengths[i], !row[i]);
if (!display_result_vertically) if (!display_result_vertically)
dynstr_append_mem(ds, "\n", 1); dynstr_append_mem(ds, "\n", 1);
} }
...@@ -3661,13 +3689,12 @@ static void append_result(DYNAMIC_STRING *ds, MYSQL_RES *res) ...@@ -3661,13 +3689,12 @@ static void append_result(DYNAMIC_STRING *ds, MYSQL_RES *res)
*/ */
static void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT *stmt, static void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT *stmt,
MYSQL_FIELD *field, uint num_fields) MYSQL_FIELD *fields, uint num_fields)
{ {
MYSQL_BIND *bind; MYSQL_BIND *bind;
my_bool *is_null; my_bool *is_null;
ulong *length; ulong *length;
ulonglong num_rows; uint i;
uint col_idx, row_idx;
/* Allocate array with bind structs, lengths and NULL flags */ /* Allocate array with bind structs, lengths and NULL flags */
bind= (MYSQL_BIND*) my_malloc(num_fields * sizeof(MYSQL_BIND), bind= (MYSQL_BIND*) my_malloc(num_fields * sizeof(MYSQL_BIND),
...@@ -3677,71 +3704,29 @@ static void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT *stmt, ...@@ -3677,71 +3704,29 @@ static void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT *stmt,
is_null= (my_bool*) my_malloc(num_fields * sizeof(my_bool), is_null= (my_bool*) my_malloc(num_fields * sizeof(my_bool),
MYF(MY_WME | MY_FAE)); MYF(MY_WME | MY_FAE));
for (col_idx= 0; col_idx < num_fields; col_idx++) /* Allocate data for the result of each field */
for (i= 0; i < num_fields; i++)
{ {
/* Allocate data for output */ uint max_length= fields[i].max_length + 1;
uint max_length= field[col_idx].max_length + 1; bind[i].buffer_type= MYSQL_TYPE_STRING;
char *str_data= (char *) my_malloc(max_length, MYF(MY_WME | MY_FAE)); bind[i].buffer= (char *)my_malloc(max_length, MYF(MY_WME | MY_FAE));
bind[i].buffer_length= max_length;
bind[col_idx].buffer_type= MYSQL_TYPE_STRING; bind[i].is_null= &is_null[i];
bind[col_idx].buffer= (char *)str_data; bind[i].length= &length[i];
bind[col_idx].buffer_length= max_length;
bind[col_idx].is_null= &is_null[col_idx];
bind[col_idx].length= &length[col_idx];
DBUG_PRINT("bind", ("col[%d]: buffer_type: %d, buffer_length: %d", DBUG_PRINT("bind", ("col[%d]: buffer_type: %d, buffer_length: %d",
col_idx, i, bind[i].buffer_type, bind[i].buffer_length));
bind[col_idx].buffer_type,
bind[col_idx].buffer_length));
} }
/* Fill in the data into the structures created above */
if (mysql_stmt_bind_result(stmt, bind)) if (mysql_stmt_bind_result(stmt, bind))
die("mysql_stmt_bind_result failed: %d: %s", die("mysql_stmt_bind_result failed: %d: %s",
mysql_stmt_errno(stmt), mysql_stmt_error(stmt)); mysql_stmt_errno(stmt), mysql_stmt_error(stmt));
/* Read result from each row */ while (mysql_stmt_fetch(stmt) == 0)
num_rows= mysql_stmt_num_rows(stmt);
for (row_idx= 0; row_idx < num_rows; row_idx++)
{
if (mysql_stmt_fetch(stmt))
die("mysql_stmt_fetch failed: %d %s",
mysql_stmt_errno(stmt), mysql_stmt_error(stmt));
/* Read result from each column */
for (col_idx= 0; col_idx < num_fields; col_idx++)
{
const char *val;
ulonglong len;
if (col_idx < max_replace_column && replace_column[col_idx])
{
val= replace_column[col_idx];
len= strlen(val);
}
else if (*bind[col_idx].is_null)
{ {
val= "NULL"; for (i= 0; i < num_fields; i++)
len= 4; append_field(ds, i, &fields[i], (const char *) bind[i].buffer,
} *bind[i].length, *bind[i].is_null);
else
{
val= (const char *) bind[col_idx].buffer;
len= *bind[col_idx].length;
}
if (!display_result_vertically)
{
if (col_idx) /* No tab before first col */
dynstr_append_mem(ds, "\t", 1);
replace_dynstr_append_mem(ds, val, (int)len);
}
else
{
dynstr_append(ds, field[col_idx].name);
dynstr_append_mem(ds, "\t", 1);
replace_dynstr_append_mem(ds, val, (int)len);
dynstr_append_mem(ds, "\n", 1);
}
}
if (!display_result_vertically) if (!display_result_vertically)
dynstr_append_mem(ds, "\n", 1); dynstr_append_mem(ds, "\n", 1);
} }
...@@ -3752,10 +3737,10 @@ static void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT *stmt, ...@@ -3752,10 +3737,10 @@ static void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT *stmt,
free_replace_column(); free_replace_column();
for (col_idx= 0; col_idx < num_fields; col_idx++) for (i= 0; i < num_fields; i++)
{ {
/* Free data for output */ /* Free data for output */
my_free((gptr)bind[col_idx].buffer, MYF(MY_WME | MY_FAE)); my_free((gptr)bind[i].buffer, MYF(MY_WME | MY_FAE));
} }
/* Free array with bind structs, lengths and NULL flags */ /* Free array with bind structs, lengths and NULL flags */
my_free((gptr)bind , MYF(MY_WME | MY_FAE)); my_free((gptr)bind , MYF(MY_WME | MY_FAE));
......
...@@ -108,7 +108,7 @@ insert into t1 values(1); ...@@ -108,7 +108,7 @@ insert into t1 values(1);
insert ignore into t1 values(1); insert ignore into t1 values(1);
replace into t1 values(100); replace into t1 values(100);
create table t2 (a varchar(200)) engine=blackhole; create table t2 (a varchar(200)) engine=blackhole;
load data infile '../../std_data/words.dat' into table t2; load data infile '../std_data_ln/words.dat' into table t2;
alter table t1 add b int; alter table t1 add b int;
alter table t1 drop b; alter table t1 drop b;
create table t3 like t1; create table t3 like t1;
......
...@@ -14,7 +14,7 @@ show binlog events from 102; ...@@ -14,7 +14,7 @@ show binlog events from 102;
# absolutely need variables names to be quoted and strings to be # absolutely need variables names to be quoted and strings to be
# escaped). # escaped).
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
--exec $MYSQL_BINLOG --short-form $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001
drop table t2; drop table t2;
# End of 4.1 tests # End of 4.1 tests
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
eval create table t1 (a int) engine=$engine_type; eval create table t1 (a int) engine=$engine_type;
flush tables; flush tables;
system rm ./var/master-data/test/t1.MYI ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.MYI ;
drop table if exists t1; drop table if exists t1;
save_master_pos; save_master_pos;
connection slave; connection slave;
......
...@@ -46,5 +46,8 @@ sleep 1; ...@@ -46,5 +46,8 @@ sleep 1;
--error 1192 --error 1192
stop slave; stop slave;
connection master;
drop table t3, t4, t5;
# End of 4.1 tests # End of 4.1 tests
...@@ -21,10 +21,10 @@ reset master; ...@@ -21,10 +21,10 @@ reset master;
connection master; connection master;
create table t1(a int not null auto_increment, b int, primary key(a) ); create table t1(a int not null auto_increment, b int, primary key(a) );
load data infile '../../std_data/rpl_loaddata.dat' into table t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60)); create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60));
load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines;
create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60)); create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60));
insert into t3 select * from t2; insert into t3 select * from t2;
...@@ -59,7 +59,7 @@ sync_with_master; ...@@ -59,7 +59,7 @@ sync_with_master;
insert into t1 values(1,10); insert into t1 values(1,10);
connection master; connection master;
load data infile '../../std_data/rpl_loaddata.dat' into table t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
save_master_pos; save_master_pos;
connection slave; connection slave;
...@@ -83,7 +83,7 @@ connection master; ...@@ -83,7 +83,7 @@ connection master;
set sql_log_bin=0; set sql_log_bin=0;
delete from t1; delete from t1;
set sql_log_bin=1; set sql_log_bin=1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
save_master_pos; save_master_pos;
connection slave; connection slave;
# The SQL slave thread should be stopped now. # The SQL slave thread should be stopped now.
...@@ -108,7 +108,7 @@ connection master; ...@@ -108,7 +108,7 @@ connection master;
set sql_log_bin=0; set sql_log_bin=0;
delete from t1; delete from t1;
set sql_log_bin=1; set sql_log_bin=1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
save_master_pos; save_master_pos;
connection slave; connection slave;
# The SQL slave thread should be stopped now. # The SQL slave thread should be stopped now.
...@@ -128,7 +128,7 @@ reset master; ...@@ -128,7 +128,7 @@ reset master;
eval create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60), eval create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
unique(day)) engine=$engine_type; # no transactions unique(day)) engine=$engine_type; # no transactions
--error 1062 --error 1062
load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines; '\n##\n' starting by '>' ignore 1 lines;
select * from t2; select * from t2;
...@@ -144,7 +144,7 @@ alter table t2 drop key day; ...@@ -144,7 +144,7 @@ alter table t2 drop key day;
connection master; connection master;
delete from t2; delete from t2;
--error 1062 --error 1062
load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines; '\n##\n' starting by '>' ignore 1 lines;
connection slave; connection slave;
......
...@@ -34,7 +34,7 @@ create table t1(n int not null auto_increment primary key); ...@@ -34,7 +34,7 @@ create table t1(n int not null auto_increment primary key);
insert into t1 values (NULL); insert into t1 values (NULL);
drop table t1; drop table t1;
create table t1 (word char(20) not null); create table t1 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t1 ignore 1 lines; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines;
select count(*) from t1; select count(*) from t1;
drop table t1; drop table t1;
--replace_result $VERSION VERSION --replace_result $VERSION VERSION
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
-- source include/master-slave.inc -- source include/master-slave.inc
create table t1 (word char(20) not null); create table t1 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
eval load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1; eval load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1;
select * from t1 limit 10; select * from t1 limit 10;
...@@ -124,6 +124,7 @@ select n from t1; ...@@ -124,6 +124,7 @@ select n from t1;
select select_priv,user from mysql.user where user = _binary'blafasel2'; select select_priv,user from mysql.user where user = _binary'blafasel2';
connection master1; connection master1;
drop table t1; drop table t1;
delete from mysql.user where user="blafasel2";
save_master_pos; save_master_pos;
connection slave; connection slave;
sync_with_master; sync_with_master;
......
...@@ -156,7 +156,7 @@ select hex(c1), hex(c2) from t1; ...@@ -156,7 +156,7 @@ select hex(c1), hex(c2) from t1;
connection master; connection master;
# Let's have a look at generated SETs. # Let's have a look at generated SETs.
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
--exec $MYSQL_BINLOG --short-form $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001
drop table t1; drop table t1;
sync_slave_with_master; sync_slave_with_master;
......
#
# This test is executed twice for each test case if mysql-test-run is passed
# the flag --check-testcase.
# Before every testcase it's run with mysqltest in record mode and will
# thus produce an output file
# that can be compared to output from after the tescase.
# In that way it's possible to check that a testcase does not have
# any unwanted side affects.
#
#
# Dump all global variables
#
show global variables;
#
# Dump all databases
#
show databases;
#
# Dump the "test" database, all it's tables and their data
#
--exec $MYSQL_DUMP --skip-comments test
#
# Dump the "mysql" database and it's tables
# Select data separately to add "order by"
#
--exec $MYSQL_DUMP --skip-comments --no-data mysql
use mysql;
select * from columns_priv;
select * from db order by host, db, user;
select * from func;
select * from help_category;
select * from help_keyword;
select * from help_relation;
select * from help_relation;
select * from host;
select * from proc;
select * from procs_priv;
select * from tables_priv;
select * from time_zone;
select * from time_zone_leap_second;
select * from time_zone_name;
select * from time_zone_transition;
select * from time_zone_transition_type;
select * from user;
-- require r/have_outfile.require -- require r/have_outfile.require
disable_query_log; disable_query_log;
select load_file(concat(@tmpdir,"/outfile.test")); select load_file(concat(@tmpdir,"/outfile.test"));
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile.test --exec rm $MYSQLTEST_VARDIR/tmp/outfile.test
enable_query_log; enable_query_log;
echo here is the sourced script;
--source include/sourced.inc
eval select "Outfile OK" into outfile "$MYSQL_TEST_DIR/var/tmp/outfile.test"; eval select "Outfile OK" into outfile "$MYSQLTEST_VARDIR/tmp/outfile.test";
...@@ -76,6 +76,7 @@ $Devel::Trace::TRACE= 0; # Don't trace boring init stuff ...@@ -76,6 +76,7 @@ $Devel::Trace::TRACE= 0; # Don't trace boring init stuff
#require 5.6.1; #require 5.6.1;
use File::Path; use File::Path;
use File::Basename; use File::Basename;
use File::Copy;
use Cwd; use Cwd;
use Getopt::Long; use Getopt::Long;
use Sys::Hostname; use Sys::Hostname;
...@@ -157,7 +158,6 @@ our $path_language; ...@@ -157,7 +158,6 @@ our $path_language;
our $path_timefile; our $path_timefile;
our $path_manager_log; # Used by mysqldadmin our $path_manager_log; # Used by mysqldadmin
our $path_mysqltest_log; our $path_mysqltest_log;
our $path_slave_load_tmpdir; # What is this?!
our $path_my_basedir; our $path_my_basedir;
our $opt_vardir; # A path but set directly on cmd line our $opt_vardir; # A path but set directly on cmd line
our $opt_tmpdir; # A path but set directly on cmd line our $opt_tmpdir; # A path but set directly on cmd line
...@@ -246,6 +246,7 @@ our $opt_manager_port; # Does nothing now, we never use manager ...@@ -246,6 +246,7 @@ our $opt_manager_port; # Does nothing now, we never use manager
our $opt_old_master; our $opt_old_master;
our $opt_record; our $opt_record;
our $opt_check_testcases;
our $opt_result_ext; our $opt_result_ext;
...@@ -484,9 +485,6 @@ sub initial_setup () { ...@@ -484,9 +485,6 @@ sub initial_setup () {
$glob_basedir= dirname($glob_mysql_test_dir); $glob_basedir= dirname($glob_mysql_test_dir);
$glob_mysql_bench_dir= "$glob_basedir/mysql-bench"; # FIXME make configurable $glob_mysql_bench_dir= "$glob_basedir/mysql-bench"; # FIXME make configurable
# needs to be same length to test logging (FIXME what???)
$path_slave_load_tmpdir= "../../var/tmp";
$path_my_basedir= $path_my_basedir=
$opt_source_dist ? $glob_mysql_test_dir : $glob_basedir; $opt_source_dist ? $glob_mysql_test_dir : $glob_basedir;
...@@ -571,6 +569,7 @@ sub command_line_setup () { ...@@ -571,6 +569,7 @@ sub command_line_setup () {
# Test case authoring # Test case authoring
'record' => \$opt_record, 'record' => \$opt_record,
'check-testcases' => \$opt_check_testcases,
# ??? # ???
'mysqld=s' => \@opt_extra_mysqld_opt, 'mysqld=s' => \@opt_extra_mysqld_opt,
...@@ -1118,6 +1117,7 @@ sub environment_setup () { ...@@ -1118,6 +1117,7 @@ sub environment_setup () {
$ENV{'USE_RUNNING_SERVER'}= $glob_use_running_server; $ENV{'USE_RUNNING_SERVER'}= $glob_use_running_server;
$ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir; $ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir;
$ENV{'MYSQL_TEST_WINDIR'}= $glob_mysql_test_dir; $ENV{'MYSQL_TEST_WINDIR'}= $glob_mysql_test_dir;
$ENV{'MYSQLTEST_VARDIR'}= $opt_vardir;
$ENV{'MASTER_MYSOCK'}= $master->[0]->{'path_mysock'}; $ENV{'MASTER_MYSOCK'}= $master->[0]->{'path_mysock'};
$ENV{'MASTER_WINMYSOCK'}= $master->[0]->{'path_mysock'}; $ENV{'MASTER_WINMYSOCK'}= $master->[0]->{'path_mysock'};
$ENV{'MASTER_MYSOCK1'}= $master->[1]->{'path_mysock'}; $ENV{'MASTER_MYSOCK1'}= $master->[1]->{'path_mysock'};
...@@ -1221,10 +1221,40 @@ sub kill_and_cleanup () { ...@@ -1221,10 +1221,40 @@ sub kill_and_cleanup () {
mtr_report("Removing Stale Files"); mtr_report("Removing Stale Files");
if ( $opt_vardir eq "$glob_mysql_test_dir/var" )
{
#
# Running with "var" in mysql-test dir
#
if ( -l "$glob_mysql_test_dir/var" )
{
# Some users creates a soft link in mysql-test/var to another area
# - allow it
mtr_report("WARNING: Using the 'mysql-test/var' symlink");
rmtree("$opt_vardir/log"); rmtree("$opt_vardir/log");
rmtree("$opt_vardir/ndbcluster-$opt_ndbcluster_port"); rmtree("$opt_vardir/ndbcluster-$opt_ndbcluster_port");
rmtree("$opt_vardir/run"); rmtree("$opt_vardir/run");
rmtree("$opt_vardir/tmp"); rmtree("$opt_vardir/tmp");
}
else
{
# Remove the entire "var" dir
rmtree("$opt_vardir/");
}
}
else
{
#
# Running with "var" in some other place
#
# Remove the var/ dir in mysql-test dir if any
# this could be an old symlink that shouldn't be there
rmtree("$glob_mysql_test_dir/var");
# Remove the "var" dir
rmtree("$opt_vardir/");
}
mkpath("$opt_vardir/log"); mkpath("$opt_vardir/log");
mkpath("$opt_vardir/run"); mkpath("$opt_vardir/run");
...@@ -1253,18 +1283,27 @@ sub kill_and_cleanup () { ...@@ -1253,18 +1283,27 @@ sub kill_and_cleanup () {
mkpath("$data_dir/test"); mkpath("$data_dir/test");
} }
# To make some old test cases work, we create a soft # Make a link std_data_ln in var/ that points to std_data
# link from the old "var" location to the new one if ( ! $glob_win32 )
{
if ( ! $glob_win32 and $opt_vardir ne "$glob_mysql_test_dir/var" ) symlink("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data_ln");
}
else
{ {
# FIXME why bother with the above, why not always remove all of var?! # on windows, copy all files from std_data into var/std_data_ln
rmtree("$glob_mysql_test_dir/var"); # Clean old var, FIXME or rename it?! mkpath("$opt_vardir/std_data_ln");
symlink($opt_vardir, "$glob_mysql_test_dir/var"); opendir(DIR, "$glob_mysql_test_dir/std_data")
or mtr_error("Can't find the std_data directory: $!");
for(readdir(DIR)) {
next if -d "$glob_mysql_test_dir/std_data/$_";
copy("$glob_mysql_test_dir/std_data/$_", "$opt_vardir/std_data_ln/$_");
}
closedir(DIR);
} }
} }
sub check_ssl_support () { sub check_ssl_support () {
if ($opt_skip_ssl) if ($opt_skip_ssl)
...@@ -2359,8 +2398,12 @@ sub mysqld_arguments ($$$$$$) { ...@@ -2359,8 +2398,12 @@ sub mysqld_arguments ($$$$$$) {
mtr_add_arg($args, "%s--skip-innodb", $prefix); mtr_add_arg($args, "%s--skip-innodb", $prefix);
mtr_add_arg($args, "%s--skip-ndbcluster", $prefix); mtr_add_arg($args, "%s--skip-ndbcluster", $prefix);
mtr_add_arg($args, "%s--skip-slave-start", $prefix); mtr_add_arg($args, "%s--skip-slave-start", $prefix);
# Directory where slaves find the dumps generated by "load data"
# on the server. The path need to have constant length otherwise
# test results will vary, thus a relative path is used.
mtr_add_arg($args, "%s--slave-load-tmpdir=%s", $prefix, mtr_add_arg($args, "%s--slave-load-tmpdir=%s", $prefix,
$path_slave_load_tmpdir); "../tmp");
mtr_add_arg($args, "%s--socket=%s", $prefix, mtr_add_arg($args, "%s--socket=%s", $prefix,
$slave->[$idx]->{'path_mysock'}); $slave->[$idx]->{'path_mysock'});
mtr_add_arg($args, "%s--set-variable=slave_net_timeout=10", $prefix); mtr_add_arg($args, "%s--set-variable=slave_net_timeout=10", $prefix);
...@@ -2730,6 +2773,54 @@ sub im_stop($) { ...@@ -2730,6 +2773,54 @@ sub im_stop($) {
$instance_manager->{'pid'} = undef; $instance_manager->{'pid'} = undef;
} }
#
# Run include/check-testcase.test
# Before a testcase, run in record mode, save result file to var
# After testcase, run and compare with the recorded file, they should be equal!
#
sub run_check_testcase ($) {
my $mode= shift;
my $args;
mtr_init_args(\$args);
mtr_add_arg($args, "--no-defaults");
mtr_add_arg($args, "--silent");
mtr_add_arg($args, "-v");
mtr_add_arg($args, "--skip-safemalloc");
mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_mysock'});
mtr_add_arg($args, "--port=%d", $master->[0]->{'path_myport'});
mtr_add_arg($args, "--database=test");
mtr_add_arg($args, "--user=%s", $opt_user);
mtr_add_arg($args, "--password=");
mtr_add_arg($args, "-R");
mtr_add_arg($args, "$opt_vardir/tmp/check-testcase.result");
if ( $mode eq "before" )
{
mtr_add_arg($args, "--record");
}
my $res = mtr_run_test($exe_mysqltest,$args,
"include/check-testcase.test", "", "", "");
if ( $res == 1 and $mode = "after")
{
mtr_run("diff",["-u",
"$opt_vardir/tmp/check-testcase.result",
"$opt_vardir/tmp/check-testcase.reject"],
"", "", "", "");
}
elsif ( $res )
{
mtr_error("Could not execute 'check-testcase' $mode testcase");
}
}
sub run_mysqltest ($) { sub run_mysqltest ($) {
my $tinfo= shift; my $tinfo= shift;
...@@ -2983,7 +3074,18 @@ sub run_mysqltest ($) { ...@@ -2983,7 +3074,18 @@ sub run_mysqltest ($) {
mtr_add_arg($args, "--record"); mtr_add_arg($args, "--record");
} }
return mtr_run_test($exe,$args,$tinfo->{'path'},"",$path_timefile,""); if ( $opt_check_testcases )
{
run_check_testcase("before");
}
my $res = mtr_run_test($exe,$args,$tinfo->{'path'},"",$path_timefile,"");
if ( $opt_check_testcases )
{
run_check_testcase("after");
}
return $res;
} }
...@@ -3040,7 +3142,7 @@ Options to control what engine/variation to run ...@@ -3040,7 +3142,7 @@ Options to control what engine/variation to run
sp-protocol Create a stored procedure to execute all queries sp-protocol Create a stored procedure to execute all queries
compress Use the compressed protocol between client and server compress Use the compressed protocol between client and server
ssl Use ssl protocol between client and server ssl Use ssl protocol between client and server
skip-ssl Dont start sterver with support for ssl connections skip-ssl Dont start server with support for ssl connections
bench Run the benchmark suite FIXME bench Run the benchmark suite FIXME
small-bench FIXME small-bench FIXME
...@@ -3067,6 +3169,7 @@ Options that specify ports ...@@ -3067,6 +3169,7 @@ Options that specify ports
Options for test case authoring Options for test case authoring
record TESTNAME (Re)genereate the result file for TESTNAME record TESTNAME (Re)genereate the result file for TESTNAME
check-testcases Check testcases for sideeffects
Options that pass on options Options that pass on options
......
...@@ -185,7 +185,8 @@ BASEDIR=`pwd` ...@@ -185,7 +185,8 @@ BASEDIR=`pwd`
cd $CWD cd $CWD
MYSQL_TEST_DIR=$BASEDIR/mysql-test MYSQL_TEST_DIR=$BASEDIR/mysql-test
MYSQL_TEST_WINDIR=$MYSQL_TEST_DIR MYSQL_TEST_WINDIR=$MYSQL_TEST_DIR
export MYSQL_TEST_DIR MYSQL_TEST_WINDIR MYSQLTEST_VARDIR=$MYSQL_TEST_DIR/var
export MYSQL_TEST_DIR MYSQL_TEST_WINDIR MYSQLTEST_VARDIR
STD_DATA=$MYSQL_TEST_DIR/std_data STD_DATA=$MYSQL_TEST_DIR/std_data
hostname=`hostname` # Installed in the mysql privilege table hostname=`hostname` # Installed in the mysql privilege table
...@@ -650,6 +651,7 @@ fi ...@@ -650,6 +651,7 @@ fi
[ -d $MYSQL_TEST_DIR/var/tmp ] || mkdir $MYSQL_TEST_DIR/var/tmp [ -d $MYSQL_TEST_DIR/var/tmp ] || mkdir $MYSQL_TEST_DIR/var/tmp
[ -d $MYSQL_TEST_DIR/var/run ] || mkdir $MYSQL_TEST_DIR/var/run [ -d $MYSQL_TEST_DIR/var/run ] || mkdir $MYSQL_TEST_DIR/var/run
[ -d $MYSQL_TEST_DIR/var/log ] || mkdir $MYSQL_TEST_DIR/var/log [ -d $MYSQL_TEST_DIR/var/log ] || mkdir $MYSQL_TEST_DIR/var/log
ln -s $MYSQL_TEST_DIR/std_data $MYSQL_TEST_DIR/var/std_data_ln
if test ${COLUMNS:-0} -lt 80 ; then COLUMNS=80 ; fi if test ${COLUMNS:-0} -lt 80 ; then COLUMNS=80 ; fi
E=`$EXPR $COLUMNS - 8` E=`$EXPR $COLUMNS - 8`
......
...@@ -46,3 +46,4 @@ Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_ ...@@ -46,3 +46,4 @@ Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_
execute stmt1; execute stmt1;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
deallocate prepare stmt1; deallocate prepare stmt1;
drop table t1;
...@@ -6,7 +6,7 @@ Table Op Msg_type Msg_text ...@@ -6,7 +6,7 @@ Table Op Msg_type Msg_text
test.t4 backup error Failed copying .frm file (errno: X) test.t4 backup error Failed copying .frm file (errno: X)
test.t4 backup status Operation failed test.t4 backup status Operation failed
Warnings: Warnings:
Error 1 Can't create/write to file 'MYSQL_TEST_DIR/var/bogus/t4.frm' (Errcode: X) Error 1 Can't create/write to file 'MYSQLTEST_VARDIR/bogus/t4.frm' (Errcode: X)
backup table t4 to '../tmp'; backup table t4 to '../tmp';
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t4 backup status OK test.t4 backup status OK
...@@ -15,7 +15,7 @@ Table Op Msg_type Msg_text ...@@ -15,7 +15,7 @@ Table Op Msg_type Msg_text
test.t4 backup error Failed copying .frm file (errno: X) test.t4 backup error Failed copying .frm file (errno: X)
test.t4 backup status Operation failed test.t4 backup status Operation failed
Warnings: Warnings:
Error 1 Can't create/write to file 'MYSQL_TEST_DIR/var/tmp/t4.frm' (Errcode: X) Error 1 Can't create/write to file 'MYSQLTEST_VARDIR/tmp/t4.frm' (Errcode: X)
drop table t4; drop table t4;
restore table t4 from '../tmp'; restore table t4 from '../tmp';
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
...@@ -33,7 +33,7 @@ restore table t1 from '../bogus'; ...@@ -33,7 +33,7 @@ restore table t1 from '../bogus';
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
t1 restore error Failed copying .frm file t1 restore error Failed copying .frm file
Warnings: Warnings:
Error 29 File 'MYSQL_TEST_DIR/var/bogus/t1.frm' not found (Errcode: X) Error 29 File 'MYSQLTEST_VARDIR/bogus/t1.frm' not found (Errcode: X)
restore table t1 from '../tmp'; restore table t1 from '../tmp';
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 restore status OK test.t1 restore status OK
......
...@@ -92,7 +92,7 @@ insert into t1 values(1); ...@@ -92,7 +92,7 @@ insert into t1 values(1);
insert ignore into t1 values(1); insert ignore into t1 values(1);
replace into t1 values(100); replace into t1 values(100);
create table t2 (a varchar(200)) engine=blackhole; create table t2 (a varchar(200)) engine=blackhole;
load data infile '../../std_data/words.dat' into table t2; load data infile '../std_data_ln/words.dat' into table t2;
alter table t1 add b int; alter table t1 add b int;
alter table t1 drop b; alter table t1 drop b;
create table t3 like t1; create table t3 like t1;
...@@ -122,7 +122,7 @@ master-bin.000001 # Query 1 # use `test`; COMMIT ...@@ -122,7 +122,7 @@ master-bin.000001 # Query 1 # use `test`; COMMIT
master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole
master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581 master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
master-bin.000001 # Query 1 # use `test`; COMMIT master-bin.000001 # Query 1 # use `test`; COMMIT
master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../../std_data/words.dat' into table t2 ;file_id=1 master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=1
master-bin.000001 # Query 1 # use `test`; COMMIT master-bin.000001 # Query 1 # use `test`; COMMIT
master-bin.000001 # Query 1 # use `test`; alter table t1 add b int master-bin.000001 # Query 1 # use `test`; alter table t1 add b int
master-bin.000001 # Query 1 # use `test`; alter table t1 drop b master-bin.000001 # Query 1 # use `test`; alter table t1 drop b
......
...@@ -17,3 +17,4 @@ CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1; ...@@ -17,3 +17,4 @@ CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
ERROR 23000: Duplicate entry '1' for key 1 ERROR 23000: Duplicate entry '1' for key 1
select * from t2; select * from t2;
ERROR 42S02: Table 'test.t2' doesn't exist ERROR 42S02: Table 'test.t2' doesn't exist
drop table t1;
...@@ -247,3 +247,4 @@ lpad(c1,3,' ...@@ -247,3 +247,4 @@ lpad(c1,3,'
select rpad(c1,3,''), rpad('',3,c1) from t1; select rpad(c1,3,''), rpad('',3,c1) from t1;
rpad(c1,3,'') rpad('',3,c1) rpad(c1,3,'') rpad('',3,c1)
drop table t1;
...@@ -238,6 +238,7 @@ ERROR HY000: Operation DROP USER failed for 'mysqltest_2b'@'%' ...@@ -238,6 +238,7 @@ ERROR HY000: Operation DROP USER failed for 'mysqltest_2b'@'%'
create user 'mysqltest_2' identified by 'Mysqltest-2'; create user 'mysqltest_2' identified by 'Mysqltest-2';
drop user 'mysqltest_2' identified by 'Mysqltest-2'; drop user 'mysqltest_2' identified by 'Mysqltest-2';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'Mysqltest-2'' at line 1 ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'Mysqltest-2'' at line 1
drop user 'mysqltest_2';
create user '%@b'@'b'; create user '%@b'@'b';
show grants for '%@b'@'b'; show grants for '%@b'@'b';
Grants for %@b@b Grants for %@b@b
...@@ -279,6 +280,7 @@ Warning 1364 Field 'x509_subject' doesn't have a default value ...@@ -279,6 +280,7 @@ Warning 1364 Field 'x509_subject' doesn't have a default value
create user mysqltest_A@'%'; create user mysqltest_A@'%';
rename user mysqltest_B@'%' to mysqltest_C@'%'; rename user mysqltest_B@'%' to mysqltest_C@'%';
drop user mysqltest_C@'%'; drop user mysqltest_C@'%';
drop user mysqltest_A@'%';
drop user mysqltest_3@localhost; drop user mysqltest_3@localhost;
set @@sql_mode=''; set @@sql_mode='';
create database mysqltest_1; create database mysqltest_1;
......
...@@ -992,6 +992,7 @@ SELECT * FROM v1 WHERE EMPNUM < 10; ...@@ -992,6 +992,7 @@ SELECT * FROM v1 WHERE EMPNUM < 10;
EMPNUM NAME GRP EMPNUM NAME GRP
0 KERI 10 0 KERI 10
9 BARRY NULL 9 BARRY NULL
DROP VIEW v1;
DROP TABLE t1,t2; DROP TABLE t1,t2;
CREATE TABLE t1 (c11 int); CREATE TABLE t1 (c11 int);
CREATE TABLE t2 (c21 int); CREATE TABLE t2 (c21 int);
......
drop table if exists t1, t2; drop table if exists t1, t2;
create table t1 (a date, b date, c date not null, d date); create table t1 (a date, b date, c date not null, d date);
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ','; load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',';
Warnings: Warnings:
Warning 1265 Data truncated for column 'a' at row 1 Warning 1265 Data truncated for column 'a' at row 1
Warning 1265 Data truncated for column 'c' at row 1 Warning 1265 Data truncated for column 'c' at row 1
...@@ -8,7 +8,7 @@ Warning 1265 Data truncated for column 'd' at row 1 ...@@ -8,7 +8,7 @@ Warning 1265 Data truncated for column 'd' at row 1
Warning 1265 Data truncated for column 'a' at row 2 Warning 1265 Data truncated for column 'a' at row 2
Warning 1265 Data truncated for column 'b' at row 2 Warning 1265 Data truncated for column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 2 Warning 1265 Data truncated for column 'd' at row 2
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES; load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
SELECT * from t1; SELECT * from t1;
a b c d a b c d
0000-00-00 NULL 0000-00-00 0000-00-00 0000-00-00 NULL 0000-00-00 0000-00-00
...@@ -16,7 +16,7 @@ a b c d ...@@ -16,7 +16,7 @@ a b c d
2003-03-03 2003-03-03 2003-03-03 NULL 2003-03-03 2003-03-03 2003-03-03 NULL
2003-03-03 2003-03-03 2003-03-03 NULL 2003-03-03 2003-03-03 2003-03-03 NULL
truncate table t1; truncate table t1;
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d); load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
Warnings: Warnings:
Warning 1265 Data truncated for column 'c' at row 1 Warning 1265 Data truncated for column 'c' at row 1
Warning 1265 Data truncated for column 'd' at row 1 Warning 1265 Data truncated for column 'd' at row 1
...@@ -29,7 +29,7 @@ NULL 0000-00-00 0000-00-00 0000-00-00 ...@@ -29,7 +29,7 @@ NULL 0000-00-00 0000-00-00 0000-00-00
NULL 2003-03-03 2003-03-03 NULL NULL 2003-03-03 2003-03-03 NULL
drop table t1; drop table t1;
create table t1 (a text, b text); create table t1 (a text, b text);
load data infile '../../std_data/loaddata2.dat' into table t1 fields terminated by ',' enclosed by ''''; load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
Warnings: Warnings:
Warning 1261 Row 3 doesn't contain data for all columns Warning 1261 Row 3 doesn't contain data for all columns
select concat('|',a,'|'), concat('|',b,'|') from t1; select concat('|',a,'|'), concat('|',b,'|') from t1;
...@@ -41,7 +41,7 @@ Field 3,'Field 4| ...@@ -41,7 +41,7 @@ Field 3,'Field 4|
|Field 6| | 'Field 7'| |Field 6| | 'Field 7'|
drop table t1; drop table t1;
create table t1 (a int, b char(10)); create table t1 (a int, b char(10));
load data infile '../../std_data/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines; load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
Warnings: Warnings:
Warning 1264 Out of range value for column 'a' at row 3 Warning 1264 Out of range value for column 'a' at row 3
Warning 1262 Row 3 was truncated; it contained more data than there were input columns Warning 1262 Row 3 was truncated; it contained more data than there were input columns
...@@ -55,7 +55,7 @@ a b ...@@ -55,7 +55,7 @@ a b
3 row 3 3 row 3
0 1234567890 0 1234567890
truncate table t1; truncate table t1;
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines; load data infile '../std_data_ln/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
Warnings: Warnings:
Warning 1264 Out of range value for column 'a' at row 4 Warning 1264 Out of range value for column 'a' at row 4
Warning 1261 Row 4 doesn't contain data for all columns Warning 1261 Row 4 doesn't contain data for all columns
...@@ -78,7 +78,7 @@ id ...@@ -78,7 +78,7 @@ id
SET @@SQL_MODE=@OLD_SQL_MODE; SET @@SQL_MODE=@OLD_SQL_MODE;
drop table t1; drop table t1;
create table t1 (a varchar(20), b varchar(20)); create table t1 (a varchar(20), b varchar(20));
load data infile '../../std_data/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b); load data infile '../std_data_ln/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b);
select * from t1; select * from t1;
a b a b
field1 field2 field1 field2
...@@ -86,25 +86,25 @@ a"b cd"ef ...@@ -86,25 +86,25 @@ a"b cd"ef
a"b c"d"e a"b c"d"e
drop table t1; drop table t1;
create table t1 (a int default 100, b int, c varchar(60)); create table t1 (a int default 100, b int, c varchar(60));
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b);
select * from t1; select * from t1;
a b c a b c
NULL 20 b=10 NULL 20 b=10
NULL 25 b=15 NULL 25 b=15
truncate table t1; truncate table t1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (a, @b) set c= if(a is null,"oops",a); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set c= if(a is null,"oops",a);
select * from t1; select * from t1;
a b c a b c
NULL NULL oops NULL NULL oops
NULL NULL oops NULL NULL oops
truncate table t1; truncate table t1;
set @c:=123; set @c:=123;
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@a, b) set c= if(@a is null,@c,b); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, b) set c= if(@a is null,@c,b);
select * from t1; select * from t1;
a b c a b c
100 10 123 100 10 123
100 15 123 100 15 123
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@a, @b); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, @b);
select * from t1; select * from t1;
a b c a b c
100 10 123 100 10 123
...@@ -115,25 +115,25 @@ select @a, @b; ...@@ -115,25 +115,25 @@ select @a, @b;
@a @b @a @b
NULL 15 NULL 15
truncate table t1; truncate table t1;
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow"; load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow";
select * from t1; select * from t1;
a b c a b c
1 2 Wow 1 2 Wow
3 4 Wow 3 4 Wow
5 6 Wow 5 6 Wow
truncate table t1; truncate table t1;
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=concat(a,"+",b,"+",@c,"+",b,"+",if(c is null,"NIL",c)); load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=concat(a,"+",b,"+",@c,"+",b,"+",if(c is null,"NIL",c));
select * from t1; select * from t1;
a b c a b c
1 2 1+2+123+2+NIL 1 2 1+2+123+2+NIL
3 4 3+4+123+4+NIL 3 4 3+4+123+4+NIL
5 6 5+6+123+6+NIL 5 6 5+6+123+6+NIL
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b); load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b);
ERROR HY000: Can't load value from file with fixed size rows to variable ERROR HY000: Can't load value from file with fixed size rows to variable
create table t2 (num int primary key, str varchar(10)); create table t2 (num int primary key, str varchar(10));
insert into t2 values (10,'Ten'), (15,'Fifteen'); insert into t2 values (10,'Ten'), (15,'Fifteen');
truncate table t1; truncate table t1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@dummy,@n) set a= @n, c= (select str from t2 where num=@n); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@dummy,@n) set a= @n, c= (select str from t2 where num=@n);
select * from t1; select * from t1;
a b c a b c
10 NULL Ten 10 NULL Ten
......
...@@ -4,11 +4,11 @@ create table t1 (word varchar(20)); ...@@ -4,11 +4,11 @@ create table t1 (word varchar(20));
create table t2 (id int auto_increment not null primary key); create table t2 (id int auto_increment not null primary key);
insert into t1 values ("abirvalg"); insert into t1 values ("abirvalg");
insert into t2 values (); insert into t2 values ();
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
insert into t1 values ("Alas"); insert into t1 values ("Alas");
flush logs; flush logs;
...@@ -32,13 +32,13 @@ SET INSERT_ID=1; ...@@ -32,13 +32,13 @@ SET INSERT_ID=1;
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
insert into t2 values (); insert into t2 values ();
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
load data LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/SQL_LOAD_MB-1-0' INTO table t1; load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-1-0' INTO table t1;
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
load data LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/SQL_LOAD_MB-2-0' INTO table t1; load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-2-0' INTO table t1;
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
load data LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/SQL_LOAD_MB-3-0' INTO table t1; load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-3-0' INTO table t1;
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
load data LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/SQL_LOAD_MB-4-0' INTO table t1; load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-4-0' INTO table t1;
# End of log file # End of log file
ROLLBACK /* added by mysqlbinlog */; ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
...@@ -98,13 +98,13 @@ SET INSERT_ID=1; ...@@ -98,13 +98,13 @@ SET INSERT_ID=1;
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
insert into t2 values (); insert into t2 values ();
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
load data LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/SQL_LOAD_MB-1-2' INTO table t1; load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-1-2' INTO table t1;
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
load data LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/SQL_LOAD_MB-2-2' INTO table t1; load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-2-2' INTO table t1;
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
load data LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/SQL_LOAD_MB-3-2' INTO table t1; load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-3-2' INTO table t1;
SET TIMESTAMP=1000000000; SET TIMESTAMP=1000000000;
load data LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/SQL_LOAD_MB-4-2' INTO table t1; load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-4-2' INTO table t1;
# End of log file # End of log file
ROLLBACK /* added by mysqlbinlog */; ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
......
...@@ -223,8 +223,8 @@ mysqltest: At line 1: Missing variable name in let ...@@ -223,8 +223,8 @@ mysqltest: At line 1: Missing variable name in let
mysqltest: At line 1: Missing assignment operator in let mysqltest: At line 1: Missing assignment operator in let
mysqltest: At line 1: Missing file name in source mysqltest: At line 1: Missing file name in source
mysqltest: At line 1: Could not open file ./non_existingFile mysqltest: At line 1: Could not open file ./non_existingFile
mysqltest: In included file "./var/tmp/recursive.sql": At line 1: Source directives are nesting too deep mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
mysqltest: In included file "./var/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'garbage' at line 1 mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'garbage' at line 1
2 = outer loop variable after while 2 = outer loop variable after while
here is the sourced script here is the sourced script
...@@ -358,9 +358,9 @@ mysqltest: At line 1: Could not open connection 'con2': 1049 Unknown database 'i ...@@ -358,9 +358,9 @@ mysqltest: At line 1: Could not open connection 'con2': 1049 Unknown database 'i
mysqltest: At line 1: Illegal argument for port: 'illegal_port' mysqltest: At line 1: Illegal argument for port: 'illegal_port'
mysqltest: At line 1: Illegal option to connect: SMTP mysqltest: At line 1: Illegal option to connect: SMTP
OK OK
mysqltest: In included file "./var/tmp/con.sql": At line 7: Connection limit exhausted - increase MAX_CONS in mysqltest.c mysqltest: In included file "MYSQLTEST_VARDIR/tmp/con.sql": At line 7: Connection limit exhausted - increase MAX_CONS in mysqltest.c
mysqltest: In included file "./var/tmp/con.sql": At line 3: connection 'test_con1' not found in connection pool mysqltest: In included file "MYSQLTEST_VARDIR/tmp/con.sql": At line 3: connection 'test_con1' not found in connection pool
mysqltest: In included file "./var/tmp/con.sql": At line 2: Connection test_con1 already exists mysqltest: In included file "MYSQLTEST_VARDIR/tmp/con.sql": At line 2: Connection test_con1 already exists
connect(localhost,root,,test,MASTER_PORT,MASTER_SOCKET); connect(localhost,root,,test,MASTER_PORT,MASTER_SOCKET);
Output from mysqltest-x.inc Output from mysqltest-x.inc
Output from mysqltest-x.inc Output from mysqltest-x.inc
......
...@@ -785,4 +785,4 @@ prepare stmt1 from @string ; ...@@ -785,4 +785,4 @@ prepare stmt1 from @string ;
execute stmt1 ; execute stmt1 ;
prepare stmt1 from ' select * from t5 ' ; prepare stmt1 from ' select * from t5 ' ;
execute stmt1 ; execute stmt1 ;
drop table t5, t9; drop table t1, t5, t9;
...@@ -1076,6 +1076,7 @@ a f1() ...@@ -1076,6 +1076,7 @@ a f1()
1 2 1 2
2 2 2 2
drop procedure p1// drop procedure p1//
drop function f1//
drop table t1// drop table t1//
flush query cache; flush query cache;
reset query cache; reset query cache;
......
...@@ -41,3 +41,4 @@ insert into t1 values(1); ...@@ -41,3 +41,4 @@ insert into t1 values(1);
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
drop table t1,t2; drop table t1,t2;
drop user test@localhost; drop user test@localhost;
set global read_only=0;
...@@ -6,9 +6,9 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; ...@@ -6,9 +6,9 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave; start slave;
set SQL_LOG_BIN=0; set SQL_LOG_BIN=0;
create table t1 (word char(20) not null, index(word)); create table t1 (word char(20) not null, index(word));
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
create table t2 (word char(20) not null); create table t2 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t2; load data infile '../std_data_ln/words.dat' into table t2;
create table t3 (word char(20) not null primary key); create table t3 (word char(20) not null primary key);
load table t1 from master; load table t1 from master;
load table t2 from master; load table t2 from master;
......
...@@ -15,3 +15,4 @@ select * from t1; ...@@ -15,3 +15,4 @@ select * from t1;
n n
24 24
drop table t1; drop table t1;
delete from mysql.user where user="replicate";
...@@ -26,3 +26,4 @@ select select_priv from mysql.user where user='user_foo' /* slave:must get Y */; ...@@ -26,3 +26,4 @@ select select_priv from mysql.user where user='user_foo' /* slave:must get Y */;
select_priv select_priv
Y Y
revoke select on *.* FROM 'user_foo'; revoke select on *.* FROM 'user_foo';
delete from mysql.user where user="user_foo";
...@@ -12,7 +12,7 @@ PRIMARY KEY (id), ...@@ -12,7 +12,7 @@ PRIMARY KEY (id),
UNIQUE KEY unique_rec (name,number) UNIQUE KEY unique_rec (name,number)
) ENGINE=InnoDB; ) ENGINE=InnoDB;
LOAD DATA LOAD DATA
INFILE '../../std_data/loaddata_pair.dat' INFILE '../std_data_ln/loaddata_pair.dat'
REPLACE INTO TABLE t4 REPLACE INTO TABLE t4
(name,number); (name,number);
SELECT * FROM t4; SELECT * FROM t4;
...@@ -24,7 +24,7 @@ id name number ...@@ -24,7 +24,7 @@ id name number
1 XXX 12345 1 XXX 12345
2 XXY 12345 2 XXY 12345
LOAD DATA LOAD DATA
INFILE '../../std_data/loaddata_pair.dat' INFILE '../std_data_ln/loaddata_pair.dat'
REPLACE INTO TABLE t4 REPLACE INTO TABLE t4
(name,number); (name,number);
SELECT * FROM t4; SELECT * FROM t4;
......
...@@ -6,9 +6,9 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; ...@@ -6,9 +6,9 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave; start slave;
reset master; reset master;
create table t1(a int not null auto_increment, b int, primary key(a) ); create table t1(a int not null auto_increment, b int, primary key(a) );
load data infile '../../std_data/rpl_loaddata.dat' into table t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60)); create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60));
load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines;
create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60)); create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60));
insert into t3 select * from t2; insert into t3 select * from t2;
select * from t1; select * from t1;
...@@ -22,13 +22,13 @@ day id category name ...@@ -22,13 +22,13 @@ day id category name
2003-03-22 2416 a bbbbb 2003-03-22 2416 a bbbbb
show master status; show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB File Position Binlog_Do_DB Binlog_Ignore_DB
slave-bin.000001 1290 slave-bin.000001 1276
drop table t1; drop table t1;
drop table t2; drop table t2;
drop table t3; drop table t3;
create table t1(a int, b int, unique(b)); create table t1(a int, b int, unique(b));
insert into t1 values(1,10); insert into t1 values(1,10);
load data infile '../../std_data/rpl_loaddata.dat' into table t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
set global sql_slave_skip_counter=1; set global sql_slave_skip_counter=1;
start slave; start slave;
show slave status; show slave status;
...@@ -37,7 +37,7 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File ...@@ -37,7 +37,7 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File
set sql_log_bin=0; set sql_log_bin=0;
delete from t1; delete from t1;
set sql_log_bin=1; set sql_log_bin=1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
stop slave; stop slave;
change master to master_user='test'; change master to master_user='test';
change master to master_user='root'; change master to master_user='root';
...@@ -49,7 +49,7 @@ start slave; ...@@ -49,7 +49,7 @@ start slave;
set sql_log_bin=0; set sql_log_bin=0;
delete from t1; delete from t1;
set sql_log_bin=1; set sql_log_bin=1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
stop slave; stop slave;
reset slave; reset slave;
show slave status; show slave status;
...@@ -58,7 +58,7 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File ...@@ -58,7 +58,7 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File
reset master; reset master;
create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60), create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
unique(day)) engine=MyISAM; unique(day)) engine=MyISAM;
load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines; '\n##\n' starting by '>' ignore 1 lines;
ERROR 23000: Duplicate entry '2003-03-22' for key 1 ERROR 23000: Duplicate entry '2003-03-22' for key 1
...@@ -73,7 +73,7 @@ day id category name ...@@ -73,7 +73,7 @@ day id category name
2003-03-22 2161 c asdf 2003-03-22 2161 c asdf
alter table t2 drop key day; alter table t2 drop key day;
delete from t2; delete from t2;
load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines; '\n##\n' starting by '>' ignore 1 lines;
ERROR 23000: Duplicate entry '2003-03-22' for key 1 ERROR 23000: Duplicate entry '2003-03-22' for key 1
......
...@@ -6,7 +6,7 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; ...@@ -6,7 +6,7 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave; start slave;
reset master; reset master;
create table test.t1(a int, b int, unique(b)); create table test.t1(a int, b int, unique(b));
load data infile '../../std_data/rpl_loaddata.dat' into table test.t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table test.t1;
select count(*) from test.t1; select count(*) from test.t1;
count(*) count(*)
2 2
......
...@@ -5,19 +5,19 @@ reset slave; ...@@ -5,19 +5,19 @@ reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave; start slave;
create table t1(a int); create table t1(a int);
select * into outfile '../../var/master-data/rpl_loaddatalocal.select_outfile' from t1; select * into outfile 'MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' from t1;
truncate table t1; truncate table t1;
load data local infile './var/master-data/rpl_loaddatalocal.select_outfile' into table t1; load data local infile 'MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' into table t1;
select a,count(*) from t1 group by a; select a,count(*) from t1 group by a;
a count(*) a count(*)
1 10000 1 10000
drop table t1; drop table t1;
create table t1(a int); create table t1(a int);
insert into t1 values (1), (2), (2), (3); insert into t1 values (1), (2), (2), (3);
select * into outfile '../../var/master-data/rpl_loaddatalocal.select_outfile' from t1; select * into outfile 'MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' from t1;
drop table t1; drop table t1;
create table t1(a int primary key); create table t1(a int primary key);
load data local infile './var/master-data/rpl_loaddatalocal.select_outfile' into table t1; load data local infile 'MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' into table t1;
select * from t1; select * from t1;
a a
1 1
......
...@@ -15,7 +15,9 @@ insert into t1 values(3, 0, 0, 0, password('does_this_work?')); ...@@ -15,7 +15,9 @@ insert into t1 values(3, 0, 0, 0, password('does_this_work?'));
insert into t1 values(4, connection_id(), rand()*1000, rand()*1000, password('does_this_still_work?')); insert into t1 values(4, connection_id(), rand()*1000, rand()*1000, password('does_this_still_work?'));
select * into outfile 'rpl_misc_functions.outfile' from t1; select * into outfile 'rpl_misc_functions.outfile' from t1;
create table t2 like t1; create table t2 like t1;
load data local infile './var/master-data/test/rpl_misc_functions.outfile' into table t2; load data local infile 'MYSQLTEST_VARDIR/master-data/test/rpl_misc_functions.outfile' into table t2;
select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p); select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p);
id i r1 r2 p id i r1 r2 p id i r1 r2 p id i r1 r2 p
stop slave; stop slave;
drop table t1;
drop table t1;
...@@ -9,7 +9,7 @@ drop table if exists t11; ...@@ -9,7 +9,7 @@ drop table if exists t11;
create table t2 (n int); create table t2 (n int);
insert into t2 values(4); insert into t2 values(4);
create table t2 (s char(20)); create table t2 (s char(20));
load data infile '../../std_data/words.dat' into table t2; load data infile '../std_data_ln/words.dat' into table t2;
insert into t2 values('five'); insert into t2 values('five');
create table t1 (m int); create table t1 (m int);
insert into t1 values(15),(16),(17); insert into t1 values(15),(16),(17);
...@@ -40,3 +40,4 @@ set one_shot time_zone='met'; ...@@ -40,3 +40,4 @@ set one_shot time_zone='met';
select * from t1; select * from t1;
ts ts
2005-08-12 00:00:00 2005-08-12 00:00:00
drop table t1;
...@@ -24,7 +24,7 @@ drop database if exists rewrite; ...@@ -24,7 +24,7 @@ drop database if exists rewrite;
create database rewrite; create database rewrite;
use test; use test;
create table t1 (a date, b date, c date not null, d date); create table t1 (a date, b date, c date not null, d date);
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ','; load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',';
Warnings: Warnings:
Warning 1265 Data truncated for column 'a' at row 1 Warning 1265 Data truncated for column 'a' at row 1
Warning 1265 Data truncated for column 'c' at row 1 Warning 1265 Data truncated for column 'c' at row 1
...@@ -32,7 +32,7 @@ Warning 1265 Data truncated for column 'd' at row 1 ...@@ -32,7 +32,7 @@ Warning 1265 Data truncated for column 'd' at row 1
Warning 1265 Data truncated for column 'a' at row 2 Warning 1265 Data truncated for column 'a' at row 2
Warning 1265 Data truncated for column 'b' at row 2 Warning 1265 Data truncated for column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 2 Warning 1265 Data truncated for column 'd' at row 2
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES; load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
select * from rewrite.t1; select * from rewrite.t1;
a b c d a b c d
0000-00-00 NULL 0000-00-00 0000-00-00 0000-00-00 NULL 0000-00-00 0000-00-00
...@@ -40,7 +40,7 @@ a b c d ...@@ -40,7 +40,7 @@ a b c d
2003-03-03 2003-03-03 2003-03-03 NULL 2003-03-03 2003-03-03 2003-03-03 NULL
2003-03-03 2003-03-03 2003-03-03 NULL 2003-03-03 2003-03-03 2003-03-03 NULL
truncate table t1; truncate table t1;
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d); load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
Warnings: Warnings:
Warning 1265 Data truncated for column 'c' at row 1 Warning 1265 Data truncated for column 'c' at row 1
Warning 1265 Data truncated for column 'd' at row 1 Warning 1265 Data truncated for column 'd' at row 1
...@@ -53,7 +53,7 @@ NULL 0000-00-00 0000-00-00 0000-00-00 ...@@ -53,7 +53,7 @@ NULL 0000-00-00 0000-00-00 0000-00-00
NULL 2003-03-03 2003-03-03 NULL NULL 2003-03-03 2003-03-03 NULL
drop table t1; drop table t1;
create table t1 (a text, b text); create table t1 (a text, b text);
load data infile '../../std_data/loaddata2.dat' into table t1 fields terminated by ',' enclosed by ''''; load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
Warnings: Warnings:
Warning 1261 Row 3 doesn't contain data for all columns Warning 1261 Row 3 doesn't contain data for all columns
select concat('|',a,'|'), concat('|',b,'|') from rewrite.t1; select concat('|',a,'|'), concat('|',b,'|') from rewrite.t1;
...@@ -65,7 +65,7 @@ Field 3,'Field 4| ...@@ -65,7 +65,7 @@ Field 3,'Field 4|
|Field 6| | 'Field 7'| |Field 6| | 'Field 7'|
drop table t1; drop table t1;
create table t1 (a int, b char(10)); create table t1 (a int, b char(10));
load data infile '../../std_data/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines; load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
Warnings: Warnings:
Warning 1264 Out of range value for column 'a' at row 3 Warning 1264 Out of range value for column 'a' at row 3
Warning 1262 Row 3 was truncated; it contained more data than there were input columns Warning 1262 Row 3 was truncated; it contained more data than there were input columns
...@@ -79,7 +79,7 @@ a b ...@@ -79,7 +79,7 @@ a b
3 row 3 3 row 3
0 1234567890 0 1234567890
truncate table t1; truncate table t1;
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines; load data infile '../std_data_ln/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
Warnings: Warnings:
Warning 1264 Out of range value for column 'a' at row 4 Warning 1264 Out of range value for column 'a' at row 4
Warning 1261 Row 4 doesn't contain data for all columns Warning 1261 Row 4 doesn't contain data for all columns
......
...@@ -13,3 +13,4 @@ n ...@@ -13,3 +13,4 @@ n
1 1
2 2
3 3
drop table t1;
...@@ -52,3 +52,4 @@ Master_SSL_Cert ...@@ -52,3 +52,4 @@ Master_SSL_Cert
Master_SSL_Cipher Master_SSL_Cipher
Master_SSL_Key Master_SSL_Key
Seconds_Behind_Master NULL Seconds_Behind_Master NULL
drop table t1;
...@@ -5,7 +5,7 @@ reset slave; ...@@ -5,7 +5,7 @@ reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave; start slave;
create table t1 (word char(20) not null); create table t1 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data local infile 'MYSQL_TEST_DIR/std_data/words.dat' into table t1; load data local infile 'MYSQL_TEST_DIR/std_data/words.dat' into table t1;
select * from t1 limit 10; select * from t1 limit 10;
word word
...@@ -79,3 +79,4 @@ select select_priv,user from mysql.user where user = _binary'blafasel2'; ...@@ -79,3 +79,4 @@ select select_priv,user from mysql.user where user = _binary'blafasel2';
select_priv user select_priv user
Y blafasel2 Y blafasel2
drop table t1; drop table t1;
delete from mysql.user where user="blafasel2";
...@@ -30,3 +30,4 @@ flush tables with read lock; ...@@ -30,3 +30,4 @@ flush tables with read lock;
start slave; start slave;
stop slave; stop slave;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop table t3, t4, t5;
...@@ -12,7 +12,7 @@ create table t1(n int not null auto_increment primary key); ...@@ -12,7 +12,7 @@ create table t1(n int not null auto_increment primary key);
insert into t1 values (NULL); insert into t1 values (NULL);
drop table t1; drop table t1;
create table t1 (word char(20) not null); create table t1 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t1 ignore 1 lines; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines;
select count(*) from t1; select count(*) from t1;
count(*) count(*)
69 69
...@@ -26,7 +26,7 @@ master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL) ...@@ -26,7 +26,7 @@ master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL)
master-bin.000001 # Query 1 # use `test`; drop table t1 master-bin.000001 # Query 1 # use `test`; drop table t1
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null) master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)
master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581 master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../../std_data/words.dat' into table t1 ignore 1 lines ;file_id=1 master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
master-bin.000001 # Query 1 # use `test`; drop table t1 master-bin.000001 # Query 1 # use `test`; drop table t1
show binlog events from 102 limit 1; show binlog events from 102 limit 1;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
...@@ -56,7 +56,7 @@ master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL) ...@@ -56,7 +56,7 @@ master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL)
master-bin.000001 # Query 1 # use `test`; drop table t1 master-bin.000001 # Query 1 # use `test`; drop table t1
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null) master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)
master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581 master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../../std_data/words.dat' into table t1 ignore 1 lines ;file_id=1 master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
master-bin.000001 # Query 1 # use `test`; drop table t1 master-bin.000001 # Query 1 # use `test`; drop table t1
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4 master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
show binlog events in 'master-bin.000002'; show binlog events in 'master-bin.000002';
...@@ -74,7 +74,7 @@ master-bin.000002 514 ...@@ -74,7 +74,7 @@ master-bin.000002 514
start slave; start slave;
show binary logs; show binary logs;
Log_name File_size Log_name File_size
slave-bin.000001 1563 slave-bin.000001 1556
slave-bin.000002 352 slave-bin.000002 352
show binlog events in 'slave-bin.000001' from 4; show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
...@@ -85,7 +85,7 @@ slave-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL) ...@@ -85,7 +85,7 @@ slave-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL)
slave-bin.000001 # Query 1 # use `test`; drop table t1 slave-bin.000001 # Query 1 # use `test`; drop table t1
slave-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null) slave-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)
slave-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581 slave-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
slave-bin.000001 # Execute_load_query 1 # use `test`; load data INFILE '../../var/tmp/SQL_LOAD-2-1-1.data' INTO table t1 ignore 1 lines ;file_id=1 slave-bin.000001 # Execute_load_query 1 # use `test`; load data INFILE '../tmp/SQL_LOAD-2-1-1.data' INTO table t1 ignore 1 lines ;file_id=1
slave-bin.000001 # Query 1 # use `test`; drop table t1 slave-bin.000001 # Query 1 # use `test`; drop table t1
slave-bin.000001 # Query 1 # use `test`; create table t5 (a int) slave-bin.000001 # Query 1 # use `test`; create table t5 (a int)
slave-bin.000001 # Query 1 # use `test`; drop table t5 slave-bin.000001 # Query 1 # use `test`; drop table t5
......
...@@ -41,7 +41,7 @@ t n ...@@ -41,7 +41,7 @@ t n
2004-06-11 09:39:02 6 2004-06-11 09:39:02 6
delete from t1; delete from t1;
set time_zone='UTC'; set time_zone='UTC';
load data infile '../../std_data/rpl_timezone2.dat' into table t1; load data infile '../std_data_ln/rpl_timezone2.dat' into table t1;
Warnings: Warnings:
Warning 1265 Data truncated for column 't' at row 1 Warning 1265 Data truncated for column 't' at row 1
Warning 1261 Row 1 doesn't contain data for all columns Warning 1261 Row 1 doesn't contain data for all columns
......
...@@ -208,9 +208,9 @@ select f3() // ...@@ -208,9 +208,9 @@ select f3() //
f3() f3()
1 1
call sp1() // call sp1() //
drop table t1,t2,t3; drop view v1;
drop table t1,t2,t3,t4;
drop function f1; drop function f1;
drop function f2; drop function f2;
drop function f3; drop function f3;
drop procedure sp1; drop procedure sp1;
drop view v1;
...@@ -134,7 +134,11 @@ drop database db2; ...@@ -134,7 +134,11 @@ drop database db2;
select type,db,name from mysql.proc; select type,db,name from mysql.proc;
type db name type db name
delete from mysql.user where user='user1' or user='user2'; delete from mysql.user where user='user1' or user='user2';
delete from mysql.user where user='' and host='%';
delete from mysql.procs_priv where user='user1' or user='user2'; delete from mysql.procs_priv where user='user1' or user='user2';
delete from mysql.procs_priv where user='' and host='%';
delete from mysql.db where user='user2';
flush privileges;
grant usage on *.* to usera@localhost; grant usage on *.* to usera@localhost;
grant usage on *.* to userb@localhost; grant usage on *.* to userb@localhost;
grant usage on *.* to userc@localhost; grant usage on *.* to userc@localhost;
...@@ -195,6 +199,9 @@ use test; ...@@ -195,6 +199,9 @@ use test;
drop database sptest; drop database sptest;
delete from mysql.user where user='usera' or user='userb' or user='userc'; delete from mysql.user where user='usera' or user='userb' or user='userc';
delete from mysql.procs_priv where user='usera' or user='userb' or user='userc'; delete from mysql.procs_priv where user='usera' or user='userb' or user='userc';
delete from mysql.tables_priv where user='usera';
flush privileges;
drop table t1;
drop function if exists bug_9503; drop function if exists bug_9503;
create database mysqltest// create database mysqltest//
use mysqltest// use mysqltest//
......
...@@ -243,4 +243,5 @@ x ...@@ -243,4 +243,5 @@ x
NULL NULL
x x
NULL NULL
drop procedure p1;
drop tables t1,t2,t3; drop tables t1,t2,t3;
...@@ -40,7 +40,7 @@ t9 CREATE TABLE `t9` ( ...@@ -40,7 +40,7 @@ t9 CREATE TABLE `t9` (
`b` char(16) NOT NULL, `b` char(16) NOT NULL,
`c` int(11) NOT NULL, `c` int(11) NOT NULL,
PRIMARY KEY (`a`) PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='TEST_DIR/var/tmp/' INDEX DIRECTORY='TEST_DIR/var/run/' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
alter table t9 rename t8, add column d int not null; alter table t9 rename t8, add column d int not null;
alter table t8 rename t7; alter table t8 rename t7;
rename table t7 to t9; rename table t7 to t9;
...@@ -53,7 +53,7 @@ t9 CREATE TABLE `t9` ( ...@@ -53,7 +53,7 @@ t9 CREATE TABLE `t9` (
`c` int(11) NOT NULL, `c` int(11) NOT NULL,
`d` int(11) NOT NULL, `d` int(11) NOT NULL,
PRIMARY KEY (`a`) PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='TEST_DIR/var/tmp/' INDEX DIRECTORY='TEST_DIR/var/run/' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
Got one of the listed errors Got one of the listed errors
Got one of the listed errors Got one of the listed errors
Got one of the listed errors Got one of the listed errors
...@@ -71,7 +71,7 @@ t9 CREATE TABLE `t9` ( ...@@ -71,7 +71,7 @@ t9 CREATE TABLE `t9` (
`c` int(11) NOT NULL, `c` int(11) NOT NULL,
`d` int(11) NOT NULL, `d` int(11) NOT NULL,
PRIMARY KEY (`a`) PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='TEST_DIR/var/tmp/' INDEX DIRECTORY='TEST_DIR/var/run/' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
drop database mysqltest; drop database mysqltest;
create table t1 (a int not null) engine=myisam; create table t1 (a int not null) engine=myisam;
show create table t1; show create table t1;
......
...@@ -35,3 +35,13 @@ SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name; ...@@ -35,3 +35,13 @@ SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER
NULL mysqltest_db1 wl2818_trg1 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW BEFORE NULL NULL OLD NEW NULL NULL mysqltest_db1 wl2818_trg1 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW BEFORE NULL NULL OLD NEW NULL
NULL mysqltest_db1 wl2818_trg2 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW AFTER NULL NULL OLD NEW NULL mysqltest_dfn@localhost NULL mysqltest_db1 wl2818_trg2 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW AFTER NULL NULL OLD NEW NULL mysqltest_dfn@localhost
DROP TRIGGER wl2818_trg1;
Warnings:
Warning 1454 No definer attribute for trigger 'mysqltest_db1'.'wl2818_trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.
DROP TRIGGER wl2818_trg2;
use mysqltest_db1;
DROP TABLE t1;
DROP TABLE t2;
DROP USER mysqltest_dfn@localhost;
DROP USER mysqltest_inv@localhost;
DROP DATABASE mysqltest_db1;
...@@ -404,13 +404,13 @@ create table t1 (i int, j int, k int); ...@@ -404,13 +404,13 @@ create table t1 (i int, j int, k int);
create trigger trg1 before insert on t1 for each row set new.k = new.i; create trigger trg1 before insert on t1 for each row set new.k = new.i;
create trigger trg2 after insert on t1 for each row set @b:= "Fired"; create trigger trg2 after insert on t1 for each row set @b:= "Fired";
set @b:=""; set @b:="";
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@a, i); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, i);
select *, @b from t1; select *, @b from t1;
i j k @b i j k @b
10 NULL 10 Fired 10 NULL 10 Fired
15 NULL 15 Fired 15 NULL 15 Fired
set @b:=""; set @b:="";
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, j); load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, j);
select *, @b from t1; select *, @b from t1;
i j k @b i j k @b
10 NULL 10 Fired 10 NULL 10 Fired
...@@ -447,7 +447,7 @@ ERROR 42S22: Unknown column 'at' in 'OLD' ...@@ -447,7 +447,7 @@ ERROR 42S22: Unknown column 'at' in 'OLD'
select * from t1; select * from t1;
i k i k
1 1 1 1
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, k); load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, k);
ERROR 42S22: Unknown column 'at' in 'NEW' ERROR 42S22: Unknown column 'at' in 'NEW'
select * from t1; select * from t1;
i k i k
...@@ -528,7 +528,7 @@ select * from t1; ...@@ -528,7 +528,7 @@ select * from t1;
i k i k
1 1 1 1
2 2 2 2
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, k); load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, k);
ERROR 42S22: Unknown column 'bt' in 'NEW' ERROR 42S22: Unknown column 'bt' in 'NEW'
select * from t1; select * from t1;
i k i k
......
...@@ -563,3 +563,4 @@ b1+0 sum(b1) sum(b2) ...@@ -563,3 +563,4 @@ b1+0 sum(b1) sum(b2)
0 0 0 0 0 0
1 4 4 1 4 4
2 2 2 2 2 2
drop table t1, t2;
...@@ -31,14 +31,14 @@ select * from t1; ...@@ -31,14 +31,14 @@ select * from t1;
f1 f2 f1 f2
10 10 10 10
100000 100000 100000 100000
1.23457e+9 1234567890 1.23457e+09 1234567890
1e+10 10000000000 1e+10 10000000000
1e+15 1e+15 1e+15 1e+15
1e+20 1e+20 1e+20 1e+20
3.40282e+38 1e+50 3.40282e+38 1e+50
3.40282e+38 1e+150 3.40282e+38 1e+150
-10 -10 -10 -10
1e-5 1e-5 1e-05 1e-05
1e-10 1e-10 1e-10 1e-10
1e-15 1e-15 1e-15 1e-15
1e-20 1e-20 1e-20 1e-20
......
...@@ -71,6 +71,7 @@ c_id c_name c_country ...@@ -71,6 +71,7 @@ c_id c_name c_country
1 Bozo USA 1 Bozo USA
4 Mr. Floppy GB 4 Mr. Floppy GB
drop table t1; drop table t1;
set GLOBAL max_join_size=10;
set max_join_size=100; set max_join_size=100;
show variables like 'max_join_size'; show variables like 'max_join_size';
Variable_name Value Variable_name Value
......
...@@ -1293,7 +1293,7 @@ drop view v2, v1; ...@@ -1293,7 +1293,7 @@ drop view v2, v1;
drop table t1; drop table t1;
create table t1 (a int, b char(10)); create table t1 (a int, b char(10));
create view v1 as select * from t1 where a != 0 with check option; create view v1 as select * from t1 where a != 0 with check option;
load data infile '../../std_data/loaddata3.dat' into table v1 fields terminated by '' enclosed by '' ignore 1 lines; load data infile '../std_data_ln/loaddata3.dat' into table v1 fields terminated by '' enclosed by '' ignore 1 lines;
ERROR HY000: CHECK OPTION failed 'test.v1' ERROR HY000: CHECK OPTION failed 'test.v1'
select * from t1; select * from t1;
a b a b
...@@ -1304,7 +1304,7 @@ a b ...@@ -1304,7 +1304,7 @@ a b
1 row 1 1 row 1
2 row 2 2 row 2
delete from t1; delete from t1;
load data infile '../../std_data/loaddata3.dat' ignore into table v1 fields terminated by '' enclosed by '' ignore 1 lines; load data infile '../std_data_ln/loaddata3.dat' ignore into table v1 fields terminated by '' enclosed by '' ignore 1 lines;
Warnings: Warnings:
Warning 1264 Out of range value for column 'a' at row 3 Warning 1264 Out of range value for column 'a' at row 3
Error 1369 CHECK OPTION failed 'test.v1' Error 1369 CHECK OPTION failed 'test.v1'
...@@ -1324,14 +1324,14 @@ drop view v1; ...@@ -1324,14 +1324,14 @@ drop view v1;
drop table t1; drop table t1;
create table t1 (a text, b text); create table t1 (a text, b text);
create view v1 as select * from t1 where a <> 'Field A' with check option; create view v1 as select * from t1 where a <> 'Field A' with check option;
load data infile '../../std_data/loaddata2.dat' into table v1 fields terminated by ',' enclosed by ''''; load data infile '../std_data_ln/loaddata2.dat' into table v1 fields terminated by ',' enclosed by '''';
ERROR HY000: CHECK OPTION failed 'test.v1' ERROR HY000: CHECK OPTION failed 'test.v1'
select concat('|',a,'|'), concat('|',b,'|') from t1; select concat('|',a,'|'), concat('|',b,'|') from t1;
concat('|',a,'|') concat('|',b,'|') concat('|',a,'|') concat('|',b,'|')
select concat('|',a,'|'), concat('|',b,'|') from v1; select concat('|',a,'|'), concat('|',b,'|') from v1;
concat('|',a,'|') concat('|',b,'|') concat('|',a,'|') concat('|',b,'|')
delete from t1; delete from t1;
load data infile '../../std_data/loaddata2.dat' ignore into table v1 fields terminated by ',' enclosed by ''''; load data infile '../std_data_ln/loaddata2.dat' ignore into table v1 fields terminated by ',' enclosed by '''';
Warnings: Warnings:
Error 1369 CHECK OPTION failed 'test.v1' Error 1369 CHECK OPTION failed 'test.v1'
Warning 1261 Row 2 doesn't contain data for all columns Warning 1261 Row 2 doesn't contain data for all columns
......
...@@ -9,6 +9,7 @@ revoke create view on test.* from test@localhost; ...@@ -9,6 +9,7 @@ revoke create view on test.* from test@localhost;
show grants for test@localhost; show grants for test@localhost;
Grants for test@localhost Grants for test@localhost
GRANT USAGE ON *.* TO 'test'@'localhost' GRANT USAGE ON *.* TO 'test'@'localhost'
drop user test@localhost;
create database mysqltest; create database mysqltest;
create table mysqltest.t1 (a int, b int); create table mysqltest.t1 (a int, b int);
create table mysqltest.t2 (a int, b int); create table mysqltest.t2 (a int, b int);
......
...@@ -70,7 +70,7 @@ select @@warning_count; ...@@ -70,7 +70,7 @@ select @@warning_count;
1 1
drop table t1; drop table t1;
create table t1(a tinyint, b int not null, c date, d char(5)); create table t1(a tinyint, b int not null, c date, d char(5));
load data infile '../../std_data/warnings_loaddata.dat' into table t1 fields terminated by ','; load data infile '../std_data_ln/warnings_loaddata.dat' into table t1 fields terminated by ',';
Warnings: Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 2 Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 3 Warning 1265 Data truncated for column 'd' at row 3
......
...@@ -61,5 +61,6 @@ prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()"; ...@@ -61,5 +61,6 @@ prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()";
execute stmt1; execute stmt1;
execute stmt1; execute stmt1;
deallocate prepare stmt1; deallocate prepare stmt1;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
#!/bin/sh #!/bin/sh
if [ "$MYSQL_TEST_DIR" ] if [ "$MYSQL_TEST_DIR" ]
then then
rm -f $MYSQL_TEST_DIR/var/tmp/*.frm $MYSQL_TEST_DIR/var/tmp/*.MY? rm -f $MYSQLTEST_VARDIR/tmp/*.frm $MYSQLTEST_VARDIR/tmp/*.MY?
fi fi
...@@ -13,10 +13,10 @@ set SQL_LOG_BIN=0; ...@@ -13,10 +13,10 @@ set SQL_LOG_BIN=0;
drop table if exists t1, t2, t3, t4; drop table if exists t1, t2, t3, t4;
--enable_warnings --enable_warnings
create table t4(n int); create table t4(n int);
--replace_result ": 1" ": X" ": 2" ": X" ": 22" ": X" ": 23" ": X" $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result ": 1" ": X" ": 2" ": X" ": 22" ": X" ": 23" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
backup table t4 to '../bogus'; backup table t4 to '../bogus';
backup table t4 to '../tmp'; backup table t4 to '../tmp';
--replace_result ": 7" ": X" ": 17" ": X" $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result ": 7" ": X" ": 17" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
backup table t4 to '../tmp'; backup table t4 to '../tmp';
drop table t4; drop table t4;
restore table t4 from '../tmp'; restore table t4 from '../tmp';
...@@ -26,7 +26,7 @@ create table t1(n int); ...@@ -26,7 +26,7 @@ create table t1(n int);
insert into t1 values (23),(45),(67); insert into t1 values (23),(45),(67);
backup table t1 to '../tmp'; backup table t1 to '../tmp';
drop table t1; drop table t1;
--replace_result ": 1" ": X" ": 2" ": X" ": 22" ": X" ": 23" ": X" $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result ": 1" ": X" ": 2" ": X" ": 22" ": X" ": 23" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
restore table t1 from '../bogus'; restore table t1 from '../bogus';
restore table t1 from '../tmp'; restore table t1 from '../tmp';
select n from t1; select n from t1;
...@@ -55,6 +55,6 @@ unlock tables; ...@@ -55,6 +55,6 @@ unlock tables;
connection con1; connection con1;
reap; reap;
drop table t5; drop table t5;
--system rm $MYSQL_TEST_DIR/var/tmp/t?.* --system rm $MYSQLTEST_VARDIR/tmp/t?.*
# End of 4.1 tests # End of 4.1 tests
...@@ -30,5 +30,6 @@ select * from t2; ...@@ -30,5 +30,6 @@ select * from t2;
CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1; CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
--error 1146 --error 1146
select * from t2; select * from t2;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -186,5 +186,5 @@ select rpad(c1,3,' ...@@ -186,5 +186,5 @@ select rpad(c1,3,'
# TODO # TODO
#select case c1 when '' then '' when '' then '' else 'c' end from t1; #select case c1 when '' then '' when '' then '' else 'c' end from t1;
#select export_set(5,c1,''), export_set(5,'',c1) from t1; #select export_set(5,c1,''), export_set(5,'',c1) from t1;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -5,6 +5,9 @@ ...@@ -5,6 +5,9 @@
drop table if exists t1; drop table if exists t1;
--enable_warnings --enable_warnings
# Save ft_boolean_syntax variable
let $saved_ft_boolean_syntax=`select @@global.ft_boolean_syntax`;
show variables like "ft\_%"; show variables like "ft\_%";
create table t1 (b text not null); create table t1 (b text not null);
...@@ -25,4 +28,9 @@ set global ft_boolean_syntax='@ -><()~*:""@|'; ...@@ -25,4 +28,9 @@ set global ft_boolean_syntax='@ -><()~*:""@|';
set global ft_boolean_syntax='+ -><()~*:""@!|'; set global ft_boolean_syntax='+ -><()~*:""@!|';
drop table t1; drop table t1;
# Restore ft_boolean_syntax variable
--disable_query_log
eval set global ft_boolean_syntax='$saved_ft_boolean_syntax';
--enable_query_log
# End of 4.1 tests # End of 4.1 tests
...@@ -286,6 +286,7 @@ drop user 'mysqltest_1b', 'mysqltest_2b', 'mysqltest_3b'; ...@@ -286,6 +286,7 @@ drop user 'mysqltest_1b', 'mysqltest_2b', 'mysqltest_3b';
create user 'mysqltest_2' identified by 'Mysqltest-2'; create user 'mysqltest_2' identified by 'Mysqltest-2';
--error 1064 --error 1064
drop user 'mysqltest_2' identified by 'Mysqltest-2'; drop user 'mysqltest_2' identified by 'Mysqltest-2';
drop user 'mysqltest_2';
# #
# Strange user names # Strange user names
create user '%@b'@'b'; create user '%@b'@'b';
...@@ -325,6 +326,7 @@ insert into mysql.user set host='%', user='mysqltest_B'; ...@@ -325,6 +326,7 @@ insert into mysql.user set host='%', user='mysqltest_B';
create user mysqltest_A@'%'; create user mysqltest_A@'%';
rename user mysqltest_B@'%' to mysqltest_C@'%'; rename user mysqltest_B@'%' to mysqltest_C@'%';
drop user mysqltest_C@'%'; drop user mysqltest_C@'%';
drop user mysqltest_A@'%';
disconnect user4; disconnect user4;
connection default; connection default;
drop user mysqltest_3@localhost; drop user mysqltest_3@localhost;
......
--run-as-service --run-as-service
--log=$MYSQL_TEST_DIR/var/log/im.log --log=$MYSQLTEST_VARDIR/log/im.log
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
# - check the configuration file; # - check the configuration file;
--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ; --exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;
# - check the running instances. # - check the running instances.
...@@ -79,7 +79,7 @@ SET mysqld1.server_id = 11; ...@@ -79,7 +79,7 @@ SET mysqld1.server_id = 11;
# - check that the configuration file has been updated (i.e. contains # - check that the configuration file has been updated (i.e. contains
# server_id=SERVER_ID for the instance); # server_id=SERVER_ID for the instance);
--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ; --exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;
# - (for mysqld1) check that the running instance has not been affected: # - (for mysqld1) check that the running instance has not been affected:
# connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id'' # connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
...@@ -104,7 +104,7 @@ SET mysqld2.server_id = 12; ...@@ -104,7 +104,7 @@ SET mysqld2.server_id = 12;
# - check that the configuration file has been updated (i.e. contains # - check that the configuration file has been updated (i.e. contains
# server_id=SERVER_ID for the instance); # server_id=SERVER_ID for the instance);
--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ; --exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;
# - check that internal cache of Instance Manager has not been affected # - check that internal cache of Instance Manager has not been affected
# (i.e. SHOW INSTANCE OPTIONS <instance> does not contain updated value). # (i.e. SHOW INSTANCE OPTIONS <instance> does not contain updated value).
...@@ -122,7 +122,7 @@ FLUSH INSTANCES; ...@@ -122,7 +122,7 @@ FLUSH INSTANCES;
# - check that the configuration file has not been updated; # - check that the configuration file has not been updated;
--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ; --exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;
# - (for mysqld1) check that the running instance has not been affected: # - (for mysqld1) check that the running instance has not been affected:
# connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id'' # connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
# - check the configuration file; # - check the configuration file;
--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ; --exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;
# - check the running instances. # - check the running instances.
...@@ -86,7 +86,7 @@ UNSET mysqld1.server_id; ...@@ -86,7 +86,7 @@ UNSET mysqld1.server_id;
# - check that the configuration file has been updated (i.e. does not # - check that the configuration file has been updated (i.e. does not
# contain 'server_id=' line for the instance); # contain 'server_id=' line for the instance);
--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ; --exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;
# - check that the running instance has not been affected: connect to the # - check that the running instance has not been affected: connect to the
# instance and check that 'SHOW VARIABLES LIKE 'server_id'' returns non-zero # instance and check that 'SHOW VARIABLES LIKE 'server_id'' returns non-zero
...@@ -111,7 +111,7 @@ UNSET mysqld2.server_id; ...@@ -111,7 +111,7 @@ UNSET mysqld2.server_id;
# - check that the configuration file has been updated (i.e. does not # - check that the configuration file has been updated (i.e. does not
# contain 'server_id=' line for the instance); # contain 'server_id=' line for the instance);
--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf || true; --exec grep server_id $MYSQLTEST_VARDIR/im.cnf || true;
# - check that internal cache of Instance Manager is not affected (i.e. SHOW # - check that internal cache of Instance Manager is not affected (i.e. SHOW
# INSTANCE OPTIONS <instance> contains non-zero value for server_id); # INSTANCE OPTIONS <instance> contains non-zero value for server_id);
...@@ -130,7 +130,7 @@ FLUSH INSTANCES; ...@@ -130,7 +130,7 @@ FLUSH INSTANCES;
# - check that the configuration file has not been updated (i.e. does not # - check that the configuration file has not been updated (i.e. does not
# contain 'server_id=' for the instance); # contain 'server_id=' for the instance);
--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf || true; --exec grep server_id $MYSQLTEST_VARDIR/im.cnf || true;
# - (for mysqld1) check that the running instance has not been affected: # - (for mysqld1) check that the running instance has not been affected:
# connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id'' # connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
......
...@@ -800,9 +800,9 @@ DROP FUNCTION func2; ...@@ -800,9 +800,9 @@ DROP FUNCTION func2;
# #
create database mysqltest; create database mysqltest;
create table mysqltest.t1(a int); create table mysqltest.t1(a int);
--exec chmod -r $MYSQL_TEST_DIR/var/master-data/mysqltest --exec chmod -r $MYSQLTEST_VARDIR/master-data/mysqltest
select table_schema from information_schema.tables where table_schema='mysqltest'; select table_schema from information_schema.tables where table_schema='mysqltest';
--exec chmod +r $MYSQL_TEST_DIR/var/master-data/mysqltest --exec chmod +r $MYSQLTEST_VARDIR/master-data/mysqltest
drop database mysqltest; drop database mysqltest;
# #
......
...@@ -63,6 +63,7 @@ drop table t1; ...@@ -63,6 +63,7 @@ drop table t1;
# #
# one statement roll back inside transation # one statement roll back inside transation
# #
let $save_query_cache_size=`select @@global.query_cache_size`;
set GLOBAL query_cache_size=1355776; set GLOBAL query_cache_size=1355776;
CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) ENGINE=innodb; CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) ENGINE=innodb;
CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) ENGINE=innodb; CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) ENGINE=innodb;
...@@ -79,5 +80,8 @@ insert into t3 VALUES ( NULL, 1, 1, 2 ); ...@@ -79,5 +80,8 @@ insert into t3 VALUES ( NULL, 1, 1, 2 );
commit; commit;
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc; select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
drop table t3,t2,t1; drop table t3,t2,t1;
--disable_query_log
eval set GLOBAL query_cache_size=$save_query_cache_size;
--enable_query_log
# End of 4.1 tests # End of 4.1 tests
...@@ -99,27 +99,22 @@ create table t1(number int auto_increment primary key, original_value varchar(50 ...@@ -99,27 +99,22 @@ create table t1(number int auto_increment primary key, original_value varchar(50
set @value= "aa"; set @value= "aa";
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
set @value= "1aa"; set @value= "1aa";
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
set @value= "aa1"; set @value= "aa1";
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
set @value= "1e+1111111111a"; set @value= "1e+1111111111a";
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
set @value= "-1e+1111111111a"; set @value= "-1e+1111111111a";
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
--error 1367 --error 1367
...@@ -130,22 +125,18 @@ set @value= -1e+1111111111; ...@@ -130,22 +125,18 @@ set @value= -1e+1111111111;
set @value= 1e+111; set @value= 1e+111;
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
set @value= -1e+111; set @value= -1e+111;
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
set @value= 1; set @value= 1;
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
set @value= -1; set @value= -1;
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value); insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
--replace_result e-0 e- e+0 e+
--query_vertical select * from t1 where number =last_insert_id() --query_vertical select * from t1 where number =last_insert_id()
drop table t1; drop table t1;
......
...@@ -700,6 +700,7 @@ SELECT COALESCE(t2.EMPNUM,t1.EMPNUM) AS EMPNUM, NAME, GRP ...@@ -700,6 +700,7 @@ SELECT COALESCE(t2.EMPNUM,t1.EMPNUM) AS EMPNUM, NAME, GRP
SELECT * FROM v1; SELECT * FROM v1;
SELECT * FROM v1 WHERE EMPNUM < 10; SELECT * FROM v1 WHERE EMPNUM < 10;
DROP VIEW v1;
DROP TABLE t1,t2; DROP TABLE t1,t2;
# #
......
...@@ -7,25 +7,25 @@ drop table if exists t1, t2; ...@@ -7,25 +7,25 @@ drop table if exists t1, t2;
--enable_warnings --enable_warnings
create table t1 (a date, b date, c date not null, d date); create table t1 (a date, b date, c date not null, d date);
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ','; load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',';
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES; load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
SELECT * from t1; SELECT * from t1;
truncate table t1; truncate table t1;
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d); load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
SELECT * from t1; SELECT * from t1;
drop table t1; drop table t1;
create table t1 (a text, b text); create table t1 (a text, b text);
load data infile '../../std_data/loaddata2.dat' into table t1 fields terminated by ',' enclosed by ''''; load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
select concat('|',a,'|'), concat('|',b,'|') from t1; select concat('|',a,'|'), concat('|',b,'|') from t1;
drop table t1; drop table t1;
create table t1 (a int, b char(10)); create table t1 (a int, b char(10));
load data infile '../../std_data/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines; load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
select * from t1; select * from t1;
truncate table t1; truncate table t1;
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines; load data infile '../std_data_ln/loaddata4.dat' 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 # The empty line last comes from the end line field in the file
select * from t1; select * from t1;
...@@ -38,23 +38,23 @@ SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE=NO_AUTO_VALUE_ON_ZERO; ...@@ -38,23 +38,23 @@ SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
create table t1(id integer not null auto_increment primary key); create table t1(id integer not null auto_increment primary key);
insert into t1 values(0); insert into t1 values(0);
disable_query_log; disable_query_log;
eval SELECT * INTO OUTFILE '$MYSQL_TEST_DIR/var/tmp/t1' from t1; eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1' from t1;
delete from t1; delete from t1;
eval load data infile '$MYSQL_TEST_DIR/var/tmp/t1' into table t1; eval load data infile '$MYSQLTEST_VARDIR/tmp/t1' into table t1;
enable_query_log; enable_query_log;
select * from t1; select * from t1;
--exec rm $MYSQL_TEST_DIR/var/tmp/t1 --exec rm $MYSQLTEST_VARDIR/tmp/t1
disable_query_log; disable_query_log;
eval SELECT * INTO OUTFILE '$MYSQL_TEST_DIR/var/tmp/t1' eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1'
FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n' FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n'
FROM t1; FROM t1;
delete from t1; delete from t1;
eval load data infile '$MYSQL_TEST_DIR/var/tmp/t1' into table t1 eval load data infile '$MYSQLTEST_VARDIR/tmp/t1' into table t1
FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n'; FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n';
enable_query_log; enable_query_log;
select * from t1; select * from t1;
--exec rm $MYSQL_TEST_DIR/var/tmp/t1 --exec rm $MYSQLTEST_VARDIR/tmp/t1
SET @@SQL_MODE=@OLD_SQL_MODE; SET @@SQL_MODE=@OLD_SQL_MODE;
drop table t1; drop table t1;
...@@ -63,7 +63,7 @@ drop table t1; ...@@ -63,7 +63,7 @@ drop table t1;
# ENCLOSED # ENCLOSED
# #
create table t1 (a varchar(20), b varchar(20)); create table t1 (a varchar(20), b varchar(20));
load data infile '../../std_data/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b); load data infile '../std_data_ln/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b);
select * from t1; select * from t1;
drop table t1; drop table t1;
...@@ -74,40 +74,40 @@ drop table t1; ...@@ -74,40 +74,40 @@ drop table t1;
# #
create table t1 (a int default 100, b int, c varchar(60)); create table t1 (a int default 100, b int, c varchar(60));
# we can do something like this # we can do something like this
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b);
select * from t1; select * from t1;
truncate table t1; truncate table t1;
# we can use filled fields in expressions # we can use filled fields in expressions
# we also assigning NULL value to field with non-NULL default here # we also assigning NULL value to field with non-NULL default here
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (a, @b) set c= if(a is null,"oops",a); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set c= if(a is null,"oops",a);
select * from t1; select * from t1;
truncate table t1; truncate table t1;
# we even can use variables in set clause, and missed columns will be set # we even can use variables in set clause, and missed columns will be set
# with default values # with default values
set @c:=123; set @c:=123;
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@a, b) set c= if(@a is null,@c,b); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, b) set c= if(@a is null,@c,b);
select * from t1; select * from t1;
# let us test side-effect of such load # let us test side-effect of such load
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@a, @b); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, @b);
select * from t1; select * from t1;
select @a, @b; select @a, @b;
truncate table t1; truncate table t1;
# now going to test fixed field-row file format # now going to test fixed field-row file format
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow"; load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow";
select * from t1; select * from t1;
truncate table t1; truncate table t1;
# this also should work # this also should work
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=concat(a,"+",b,"+",@c,"+",b,"+",if(c is null,"NIL",c)); load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=concat(a,"+",b,"+",@c,"+",b,"+",if(c is null,"NIL",c));
select * from t1; select * from t1;
# and this should bark # and this should bark
--error 1409 --error 1409
load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b); load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b);
# Now let us test LOAD DATA with subselect # Now let us test LOAD DATA with subselect
create table t2 (num int primary key, str varchar(10)); create table t2 (num int primary key, str varchar(10));
insert into t2 values (10,'Ten'), (15,'Fifteen'); insert into t2 values (10,'Ten'), (15,'Fifteen');
truncate table t1; truncate table t1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@dummy,@n) set a= @n, c= (select str from t2 where num=@n); load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@dummy,@n) set a= @n, c= (select str from t2 where num=@n);
select * from t1; select * from t1;
# cleanup # cleanup
......
...@@ -711,14 +711,14 @@ eval set storage_engine=$default; ...@@ -711,14 +711,14 @@ eval set storage_engine=$default;
# Test how DROP TABLE works if the index or data file doesn't exists # Test how DROP TABLE works if the index or data file doesn't exists
create table t1 (a int) engine=myisam; create table t1 (a int) engine=myisam;
system rm ./var/master-data/test/t1.MYI ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.MYI ;
drop table if exists t1; drop table if exists t1;
create table t1 (a int) engine=myisam; create table t1 (a int) engine=myisam;
system rm ./var/master-data/test/t1.MYI ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.MYI ;
--error 1051,6 --error 1051,6
drop table t1; drop table t1;
create table t1 (a int) engine=myisam; create table t1 (a int) engine=myisam;
system rm ./var/master-data/test/t1.MYD ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.MYD ;
--error 1105,6,29 --error 1105,6,29
drop table t1; drop table t1;
--error 1051 --error 1051
......
...@@ -24,11 +24,11 @@ insert into t2 values (); ...@@ -24,11 +24,11 @@ insert into t2 values ();
# test for load data and load data distributed among the several # test for load data and load data distributed among the several
# files (we need to fill up first binlog) # files (we need to fill up first binlog)
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
# simple query to show more in second binlog # simple query to show more in second binlog
insert into t1 values ("Alas"); insert into t1 values ("Alas");
flush logs; flush logs;
...@@ -43,29 +43,29 @@ select "--- Local --" as ""; ...@@ -43,29 +43,29 @@ select "--- Local --" as "";
# be time dependend. Better than nothing. # be time dependend. Better than nothing.
# #
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000001
# this should not fail but shouldn't produce any working statements # this should not fail but shouldn't produce any working statements
--disable_query_log --disable_query_log
select "--- Broken LOAD DATA --" as ""; select "--- Broken LOAD DATA --" as "";
--enable_query_log --enable_query_log
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ $MYSQL_TEST_DIR/var/log/master-bin.000002 --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000002
# this should show almost nothing # this should show almost nothing
--disable_query_log --disable_query_log
select "--- --database --" as ""; select "--- --database --" as "";
--enable_query_log --enable_query_log
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --database=nottest $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --database=nottest $MYSQLTEST_VARDIR/log/master-bin.000001
# this test for position option # this test for position option
--disable_query_log --disable_query_log
select "--- --position --" as ""; select "--- --position --" as "";
--enable_query_log --enable_query_log
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --position=235 $MYSQL_TEST_DIR/var/log/master-bin.000002 --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=235 $MYSQLTEST_VARDIR/log/master-bin.000002
# These are tests for remote binlog. # These are tests for remote binlog.
# They should return the same as previous test. # They should return the same as previous test.
...@@ -75,29 +75,29 @@ select "--- Remote --" as ""; ...@@ -75,29 +75,29 @@ select "--- Remote --" as "";
--enable_query_log --enable_query_log
# This is broken now # This is broken now
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
# This is broken too # This is broken too
--disable_query_log --disable_query_log
select "--- Broken LOAD DATA --" as ""; select "--- Broken LOAD DATA --" as "";
--enable_query_log --enable_query_log
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
# And this too ! (altough it is documented) # And this too ! (altough it is documented)
--disable_query_log --disable_query_log
select "--- --database --" as ""; select "--- --database --" as "";
--enable_query_log --enable_query_log
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --database=nottest master-bin.000001 --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --database=nottest master-bin.000001
# Strangely but this works # Strangely but this works
--disable_query_log --disable_query_log
select "--- --position --" as ""; select "--- --position --" as "";
--enable_query_log --enable_query_log
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --read-from-remote-server --position=235 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --position=235 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
# Bug#7853 (mysqlbinlog does not accept input from stdin) # Bug#7853 (mysqlbinlog does not accept input from stdin)
--disable_query_log --disable_query_log
......
...@@ -43,28 +43,28 @@ select "--- Local --" as ""; ...@@ -43,28 +43,28 @@ select "--- Local --" as "";
# be time dependent (the Start events). Better than nothing. # be time dependent (the Start events). Better than nothing.
# #
--exec $MYSQL_BINLOG --short-form $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001
--disable_query_log --disable_query_log
select "--- offset --" as ""; select "--- offset --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form --offset=2 $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form --offset=2 $MYSQLTEST_VARDIR/log/master-bin.000001
--disable_query_log --disable_query_log
select "--- start-position --" as ""; select "--- start-position --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form --start-position=604 $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form --start-position=604 $MYSQLTEST_VARDIR/log/master-bin.000001
--disable_query_log --disable_query_log
select "--- stop-position --" as ""; select "--- stop-position --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form --stop-position=604 $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form --stop-position=604 $MYSQLTEST_VARDIR/log/master-bin.000001
--disable_query_log --disable_query_log
select "--- start-datetime --" as ""; select "--- start-datetime --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form "--start-datetime=2020-01-21 15:32:24" $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form "--start-datetime=2020-01-21 15:32:24" $MYSQLTEST_VARDIR/log/master-bin.000001
--disable_query_log --disable_query_log
select "--- stop-datetime --" as ""; select "--- stop-datetime --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form "--stop-datetime=2020-01-21 15:32:24" $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form "--stop-datetime=2020-01-21 15:32:24" $MYSQLTEST_VARDIR/log/master-bin.000001
--disable_query_log --disable_query_log
select "--- Local with 2 binlogs on command line --" as ""; select "--- Local with 2 binlogs on command line --" as "";
...@@ -72,28 +72,28 @@ select "--- Local with 2 binlogs on command line --" as ""; ...@@ -72,28 +72,28 @@ select "--- Local with 2 binlogs on command line --" as "";
# This is to verify that some options apply only to first, or last binlog # This is to verify that some options apply only to first, or last binlog
--exec $MYSQL_BINLOG --short-form $MYSQL_TEST_DIR/var/log/master-bin.000001 $MYSQL_TEST_DIR/var/log/master-bin.000002 --exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001 $MYSQLTEST_VARDIR/log/master-bin.000002
--disable_query_log --disable_query_log
select "--- offset --" as ""; select "--- offset --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form --offset=2 $MYSQL_TEST_DIR/var/log/master-bin.000001 $MYSQL_TEST_DIR/var/log/master-bin.000002 --exec $MYSQL_BINLOG --short-form --offset=2 $MYSQLTEST_VARDIR/log/master-bin.000001 $MYSQLTEST_VARDIR/log/master-bin.000002
--disable_query_log --disable_query_log
select "--- start-position --" as ""; select "--- start-position --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form --start-position=604 $MYSQL_TEST_DIR/var/log/master-bin.000001 $MYSQL_TEST_DIR/var/log/master-bin.000002 --exec $MYSQL_BINLOG --short-form --start-position=604 $MYSQLTEST_VARDIR/log/master-bin.000001 $MYSQLTEST_VARDIR/log/master-bin.000002
--disable_query_log --disable_query_log
select "--- stop-position --" as ""; select "--- stop-position --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form --stop-position=130 $MYSQL_TEST_DIR/var/log/master-bin.000001 $MYSQL_TEST_DIR/var/log/master-bin.000002 --exec $MYSQL_BINLOG --short-form --stop-position=130 $MYSQLTEST_VARDIR/log/master-bin.000001 $MYSQLTEST_VARDIR/log/master-bin.000002
--disable_query_log --disable_query_log
select "--- start-datetime --" as ""; select "--- start-datetime --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form "--start-datetime=2020-01-21 15:32:24" $MYSQL_TEST_DIR/var/log/master-bin.000001 $MYSQL_TEST_DIR/var/log/master-bin.000002 --exec $MYSQL_BINLOG --short-form "--start-datetime=2020-01-21 15:32:24" $MYSQLTEST_VARDIR/log/master-bin.000001 $MYSQLTEST_VARDIR/log/master-bin.000002
--disable_query_log --disable_query_log
select "--- stop-datetime --" as ""; select "--- stop-datetime --" as "";
--enable_query_log --enable_query_log
--exec $MYSQL_BINLOG --short-form "--stop-datetime=2020-01-21 15:32:24" $MYSQL_TEST_DIR/var/log/master-bin.000001 $MYSQL_TEST_DIR/var/log/master-bin.000002 --exec $MYSQL_BINLOG --short-form "--stop-datetime=2020-01-21 15:32:24" $MYSQLTEST_VARDIR/log/master-bin.000001 $MYSQLTEST_VARDIR/log/master-bin.000002
--disable_query_log --disable_query_log
select "--- Remote --" as ""; select "--- Remote --" as "";
......
...@@ -125,14 +125,14 @@ drop table t1; ...@@ -125,14 +125,14 @@ drop table t1;
create table t1(a int); create table t1(a int);
insert into t1 values (1),(2),(3); insert into t1 values (1),(2),(3);
--exec $MYSQL_DUMP --skip-comments --tab=$MYSQL_TEST_DIR/var/tmp/ test --exec $MYSQL_DUMP --skip-comments --tab=$MYSQLTEST_VARDIR/tmp/ test
--exec cat $MYSQL_TEST_DIR/var/tmp/t1.sql --exec cat $MYSQLTEST_VARDIR/tmp/t1.sql
--exec cat $MYSQL_TEST_DIR/var/tmp/t1.txt --exec cat $MYSQLTEST_VARDIR/tmp/t1.txt
--exec rm $MYSQL_TEST_DIR/var/tmp/t1.sql --exec rm $MYSQLTEST_VARDIR/tmp/t1.sql
--exec rm $MYSQL_TEST_DIR/var/tmp/t1.txt --exec rm $MYSQLTEST_VARDIR/tmp/t1.txt
--exec $MYSQL_DUMP --tab=$MYSQL_TEST_DIR/var/tmp/ test --exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ test
--exec rm $MYSQL_TEST_DIR/var/tmp/t1.sql --exec rm $MYSQLTEST_VARDIR/tmp/t1.sql
--exec rm $MYSQL_TEST_DIR/var/tmp/t1.txt --exec rm $MYSQLTEST_VARDIR/tmp/t1.txt
drop table t1; drop table t1;
# #
...@@ -587,7 +587,7 @@ create view v1 as select * from t2; ...@@ -587,7 +587,7 @@ create view v1 as select * from t2;
create view v2 as select * from t1; create view v2 as select * from t1;
# dump tables and view from db2 # dump tables and view from db2
--exec $MYSQL_DUMP db2 > var/tmp/bug10713.sql --exec $MYSQL_DUMP db2 > $MYSQLTEST_VARDIR/tmp/bug10713.sql
# drop the db, tables and views # drop the db, tables and views
drop table t1, t2; drop table t1, t2;
...@@ -597,7 +597,7 @@ drop database db2; ...@@ -597,7 +597,7 @@ drop database db2;
# create db1 and reload dump # create db1 and reload dump
create database db1; create database db1;
use db1; use db1;
--exec $MYSQL db1 < var/tmp/bug10713.sql --exec $MYSQL db1 < $MYSQLTEST_VARDIR/tmp/bug10713.sql
# check that all tables and views could be created # check that all tables and views could be created
show tables; show tables;
...@@ -705,9 +705,9 @@ drop table t1, t2; ...@@ -705,9 +705,9 @@ drop table t1, t2;
create table t1 (a text character set utf8, b text character set latin1); create table t1 (a text character set utf8, b text character set latin1);
insert t1 values (0x4F736E616272C3BC636B, 0x4BF66C6E); insert t1 values (0x4F736E616272C3BC636B, 0x4BF66C6E);
select * from t1; select * from t1;
--exec $MYSQL_DUMP --tab=$MYSQL_TEST_DIR/var/tmp/ test --exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ test
--exec $MYSQL test < $MYSQL_TEST_DIR/var/tmp/t1.sql --exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t1.sql
--exec $MYSQL_IMPORT test $MYSQL_TEST_DIR/var/tmp/t1.txt --exec $MYSQL_IMPORT test $MYSQLTEST_VARDIR/tmp/t1.txt
select * from t1; select * from t1;
drop table t1; drop table t1;
...@@ -827,9 +827,9 @@ update t1 set a = 4 where a=3; ...@@ -827,9 +827,9 @@ update t1 set a = 4 where a=3;
# Skip dumping triggers # Skip dumping triggers
--exec $MYSQL_DUMP --skip-comments --databases --skip-triggers test --exec $MYSQL_DUMP --skip-comments --databases --skip-triggers test
# Dump and reload... # Dump and reload...
--exec $MYSQL_DUMP --skip-comments --databases test > var/tmp/mysqldump.sql --exec $MYSQL_DUMP --skip-comments --databases test > $MYSQLTEST_VARDIR/tmp/mysqldump.sql
drop table t1; drop table t1;
--exec $MYSQL test < var/tmp/mysqldump.sql --exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mysqldump.sql
# Check that tables have been reloaded # Check that tables have been reloaded
show tables; show tables;
--replace_column 6 # --replace_column 6 #
...@@ -840,11 +840,11 @@ DROP TABLE t1, t2; ...@@ -840,11 +840,11 @@ DROP TABLE t1, t2;
# Bugs #9136, #12917: problems with --defaults-extra-file option # Bugs #9136, #12917: problems with --defaults-extra-file option
# #
--exec echo "[mysqltest1]" > $MYSQL_TEST_DIR/var/tmp/tmp.cnf --exec echo "[mysqltest1]" > $MYSQLTEST_VARDIR/tmp/tmp.cnf
--exec echo "port=1234" >> $MYSQL_TEST_DIR/var/tmp/tmp.cnf --exec echo "port=1234" >> $MYSQLTEST_VARDIR/tmp/tmp.cnf
--exec $MYSQL_MY_PRINT_DEFAULTS -c $MYSQL_TEST_DIR/var/tmp/tmp.cnf mysqltest1 --exec $MYSQL_MY_PRINT_DEFAULTS -c $MYSQLTEST_VARDIR/tmp/tmp.cnf mysqltest1
--exec $MYSQL_MY_PRINT_DEFAULTS -e $MYSQL_TEST_DIR/var/tmp/tmp.cnf mysqltest1 mysqltest1 --exec $MYSQL_MY_PRINT_DEFAULTS -e $MYSQLTEST_VARDIR/tmp/tmp.cnf mysqltest1 mysqltest1
--exec rm $MYSQL_TEST_DIR/var/tmp/tmp.cnf --exec rm $MYSQLTEST_VARDIR/tmp/tmp.cnf
# #
# Test of fix to BUG 12597 # Test of fix to BUG 12597
...@@ -869,13 +869,13 @@ INSERT INTO `test1` VALUES (1); ...@@ -869,13 +869,13 @@ INSERT INTO `test1` VALUES (1);
SELECT * FROM `test2`; SELECT * FROM `test2`;
# dump # dump
--exec $MYSQL_DUMP --skip-comments --databases test > var/tmp/mysqldump.sql --exec $MYSQL_DUMP --skip-comments --databases test > $MYSQLTEST_VARDIR/tmp/mysqldump.sql
#DROP TRIGGER testref; #DROP TRIGGER testref;
#DROP TABLE test1; #DROP TABLE test1;
#DROP TABLE test2; #DROP TABLE test2;
# restore # restore
--exec $MYSQL test < var/tmp/mysqldump.sql --exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mysqldump.sql
SHOW TRIGGERS; SHOW TRIGGERS;
SELECT * FROM `test1`; SELECT * FROM `test1`;
SELECT * FROM `test2`; SELECT * FROM `test2`;
......
This diff is collapsed.
...@@ -24,7 +24,7 @@ create table t1( ...@@ -24,7 +24,7 @@ create table t1(
insert into t1 values(1, "Autodiscover"); insert into t1 values(1, "Autodiscover");
flush tables; flush tables;
system rm var/master-data/test/t1.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.frm ;
select * from t1; select * from t1;
show status like 'handler_discover%'; show status like 'handler_discover%';
...@@ -33,13 +33,13 @@ show status like 'handler_discover%'; ...@@ -33,13 +33,13 @@ show status like 'handler_discover%';
# #
flush tables; flush tables;
system rm var/master-data/test/t1.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.frm ;
insert into t1 values (2, "Auto 2"); insert into t1 values (2, "Auto 2");
show status like 'handler_discover%'; show status like 'handler_discover%';
insert into t1 values (3, "Discover 3"); insert into t1 values (3, "Discover 3");
show status like 'handler_discover%'; show status like 'handler_discover%';
flush tables; flush tables;
system rm var/master-data/test/t1.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.frm ;
select * from t1 order by id; select * from t1 order by id;
show status like 'handler_discover%'; show status like 'handler_discover%';
...@@ -48,7 +48,7 @@ show status like 'handler_discover%'; ...@@ -48,7 +48,7 @@ show status like 'handler_discover%';
# #
flush tables; flush tables;
system rm var/master-data/test/t1.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.frm ;
update t1 set name="Autodiscover" where id = 2; update t1 set name="Autodiscover" where id = 2;
show status like 'handler_discover%'; show status like 'handler_discover%';
select * from t1 order by id; select * from t1 order by id;
...@@ -59,7 +59,7 @@ show status like 'handler_discover%'; ...@@ -59,7 +59,7 @@ show status like 'handler_discover%';
# #
flush tables; flush tables;
system rm var/master-data/test/t1.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.frm ;
delete from t1 where id = 3; delete from t1 where id = 3;
select * from t1 order by id; select * from t1 order by id;
show status like 'handler_discover%'; show status like 'handler_discover%';
...@@ -85,7 +85,7 @@ show status like 'handler_discover%'; ...@@ -85,7 +85,7 @@ show status like 'handler_discover%';
flush tables; flush tables;
# Modify the frm file on disk # Modify the frm file on disk
system echo "blaj" >> var/master-data/test/t2.frm ; system echo "blaj" >> $MYSQLTEST_VARDIR/master-data/test/t2.frm ;
select * from t2; select * from t2;
show status like 'handler_discover%'; show status like 'handler_discover%';
...@@ -111,7 +111,7 @@ show status like 'handler_discover%'; ...@@ -111,7 +111,7 @@ show status like 'handler_discover%';
flush tables; flush tables;
# Remove the frm file from disk # Remove the frm file from disk
system rm var/master-data/test/t3.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t3.frm ;
--error 1050 --error 1050
create table t3( create table t3(
...@@ -168,14 +168,14 @@ show status like 'handler_discover%'; ...@@ -168,14 +168,14 @@ show status like 'handler_discover%';
# Remove the frm file from disk # Remove the frm file from disk
flush tables; flush tables;
system rm var/master-data/test/t7.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t7.frm ;
show tables from test; show tables from test;
show status like 'handler_discover%'; show status like 'handler_discover%';
# Remove the frm file from disk again # Remove the frm file from disk again
flush tables; flush tables;
system rm var/master-data/test/t7.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t7.frm ;
--replace_column 6 # 7 # 8 # 9 # 12 # 13 # 15 # 18 # --replace_column 6 # 7 # 8 # 9 # 12 # 13 # 15 # 18 #
show table status; show table status;
...@@ -290,8 +290,8 @@ insert into t9 values (9); ...@@ -290,8 +290,8 @@ insert into t9 values (9);
system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t3 >> $NDB_TOOLS_OUTPUT ; system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t3 >> $NDB_TOOLS_OUTPUT ;
system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t5 >> $NDB_TOOLS_OUTPUT ; system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t5 >> $NDB_TOOLS_OUTPUT ;
# Remove t6, t7 from disk # Remove t6, t7 from disk
system rm var/master-data/test/t6.frm > /dev/null ; system rm $MYSQLTEST_VARDIR/master-data/test/t6.frm > /dev/null ;
system rm var/master-data/test/t7.frm > /dev/null ; system rm $MYSQLTEST_VARDIR/master-data/test/t7.frm > /dev/null ;
SHOW TABLES; SHOW TABLES;
...@@ -332,8 +332,8 @@ insert into t9 values (9); ...@@ -332,8 +332,8 @@ insert into t9 values (9);
system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t3 > /dev/null ; system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t3 > /dev/null ;
system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t5 > /dev/null ; system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t5 > /dev/null ;
# Remove t6, t7 from disk # Remove t6, t7 from disk
system rm var/master-data/test/t6.frm > /dev/null ; system rm $MYSQLTEST_VARDIR/master-data/test/t6.frm > /dev/null ;
system rm var/master-data/test/t7.frm > /dev/null ; system rm $MYSQLTEST_VARDIR/master-data/test/t7.frm > /dev/null ;
SHOW TABLES LIKE 't6'; SHOW TABLES LIKE 't6';
...@@ -375,9 +375,9 @@ insert into t3 values (3, "ndb table 3"); ...@@ -375,9 +375,9 @@ insert into t3 values (3, "ndb table 3");
insert into t4 values (4); insert into t4 values (4);
# Remove t1, t2, t3 from disk # Remove t1, t2, t3 from disk
system rm var/master-data/test/t1.frm > /dev/null ; system rm $MYSQLTEST_VARDIR/master-data/test/t1.frm > /dev/null ;
system rm var/master-data/test/t2.frm > /dev/null ; system rm $MYSQLTEST_VARDIR/master-data/test/t2.frm > /dev/null ;
system rm var/master-data/test/t3.frm > /dev/null ; system rm $MYSQLTEST_VARDIR/master-data/test/t3.frm > /dev/null ;
flush tables; flush tables;
# Select from the table which only exists in NDB. # Select from the table which only exists in NDB.
...@@ -530,7 +530,7 @@ CREATE TABLE t9 ( ...@@ -530,7 +530,7 @@ CREATE TABLE t9 (
insert t9 values(1, 2), (2,3), (3, 4), (4, 5); insert t9 values(1, 2), (2,3), (3, 4), (4, 5);
#Don't drop the table, instead remove the frm file #Don't drop the table, instead remove the frm file
system rm var/master-data/test/t9.frm ; system rm $MYSQLTEST_VARDIR/master-data/test/t9.frm ;
# Now leave test case, when ndb_autodiscover2 will run, this # Now leave test case, when ndb_autodiscover2 will run, this
# MySQL Server will have been restarted because it has a # MySQL Server will have been restarted because it has a
......
disable_query_log; disable_query_log;
-- source include/test_outfile.inc -- source include/test_outfile.inc
eval set @tmpdir="$MYSQL_TEST_DIR/var/tmp"; # Server are started in "var/master-data", so "../tmp" will be "var/tmp"
eval set @tmpdir="../tmp";
enable_query_log; enable_query_log;
-- source include/have_outfile.inc -- source include/have_outfile.inc
...@@ -15,42 +16,43 @@ drop table if exists t1; ...@@ -15,42 +16,43 @@ drop table if exists t1;
create table t1 (`a` blob); create table t1 (`a` blob);
insert into t1 values("hello world"),("Hello mars"),(NULL); insert into t1 values("hello world"),("Hello mars"),(NULL);
disable_query_log; disable_query_log;
eval select * into outfile "$MYSQL_TEST_DIR/var/tmp/outfile-test.1" from t1; eval select * into outfile "../tmp/outfile-test.1" from t1;
enable_query_log; enable_query_log;
select load_file(concat(@tmpdir,"/outfile-test.1")); select load_file(concat(@tmpdir,"/outfile-test.1"));
disable_query_log; disable_query_log;
eval select * into dumpfile "$MYSQL_TEST_DIR/var/tmp/outfile-test.2" from t1 limit 1; eval select * into dumpfile "../tmp/outfile-test.2" from t1 limit 1;
enable_query_log; enable_query_log;
select load_file(concat(@tmpdir,"/outfile-test.2")); select load_file(concat(@tmpdir,"/outfile-test.2"));
disable_query_log; disable_query_log;
eval select * into dumpfile "$MYSQL_TEST_DIR/var/tmp/outfile-test.3" from t1 where a is null; eval select * into dumpfile "../tmp/outfile-test.3" from t1 where a is null;
enable_query_log; enable_query_log;
select load_file(concat(@tmpdir,"/outfile-test.3")); select load_file(concat(@tmpdir,"/outfile-test.3"));
# the following should give errors # the following should give errors
#disabled as error message has variable path disable_query_log;
#disable_query_log; --error 1086
#--error 1086 eval select * into outfile "../tmp/outfile-test.1" from t1;
#eval select * into outfile "$MYSQL_TEST_DIR/var/tmp/outfile-test.1" from t1;
#--error 1086 --error 1086
#eval select * into dumpfile "$MYSQL_TEST_DIR/var/tmp/outfile-test.2" from t1; eval select * into dumpfile "../tmp/outfile-test.2" from t1;
#--error 1086
#eval select * into dumpfile "$MYSQL_TEST_DIR/var/tmp/outfile-test.3" from t1; --error 1086
#enable_query_log; eval select * into dumpfile "../tmp/outfile-test.3" from t1;
enable_query_log;
--error 13,2 --error 13,2
select load_file(concat(@tmpdir,"/outfile-test.not-exist")); select load_file(concat(@tmpdir,"/outfile-test.not-exist"));
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile-test.1 --exec rm $MYSQLTEST_VARDIR/tmp/outfile-test.1
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile-test.2 --exec rm $MYSQLTEST_VARDIR/tmp/outfile-test.2
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile-test.3 --exec rm $MYSQLTEST_VARDIR/tmp/outfile-test.3
drop table t1; drop table t1;
# Bug#8191 # Bug#8191
disable_query_log; disable_query_log;
eval select 1 into outfile "$MYSQL_TEST_DIR/var/tmp/outfile-test.4"; eval select 1 into outfile "../tmp/outfile-test.4";
enable_query_log; enable_query_log;
select load_file(concat(@tmpdir,"/outfile-test.4")); select load_file(concat(@tmpdir,"/outfile-test.4"));
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile-test.4 --exec rm $MYSQLTEST_VARDIR/tmp/outfile-test.4
# #
# Bug #5382: 'explain select into outfile' crashes the server # Bug #5382: 'explain select into outfile' crashes the server
...@@ -70,16 +72,16 @@ DROP TABLE t1; ...@@ -70,16 +72,16 @@ DROP TABLE t1;
# Bug#13202 SELECT * INTO OUTFILE ... FROM information_schema.schemata now fails # Bug#13202 SELECT * INTO OUTFILE ... FROM information_schema.schemata now fails
# #
disable_query_log; disable_query_log;
eval SELECT * INTO OUTFILE "$MYSQL_TEST_DIR/var/tmp/outfile-test.4" eval SELECT * INTO OUTFILE "../tmp/outfile-test.4"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM information_schema.schemata LIMIT 0, 5; FROM information_schema.schemata LIMIT 0, 5;
# enable_query_log; # enable_query_log;
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile-test.4 --exec rm $MYSQLTEST_VARDIR/tmp/outfile-test.4
use information_schema; use information_schema;
# disable_query_log; # disable_query_log;
eval SELECT * INTO OUTFILE "$MYSQL_TEST_DIR/var/tmp/outfile-test.4" eval SELECT * INTO OUTFILE "../tmp/outfile-test.4"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM schemata LIMIT 0, 5; FROM schemata LIMIT 0, 5;
enable_query_log; enable_query_log;
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile-test.4 --exec rm $MYSQLTEST_VARDIR/tmp/outfile-test.4
...@@ -834,7 +834,7 @@ execute stmt1 ; ...@@ -834,7 +834,7 @@ execute stmt1 ;
--disable_metadata --disable_metadata
--horizontal_results --horizontal_results
drop table t5, t9; drop table t1, t5, t9;
##### RULES OF THUMB TO PRESERVE THE SYSTEMATICS OF THE PS TEST CASES ##### ##### RULES OF THUMB TO PRESERVE THE SYSTEMATICS OF THE PS TEST CASES #####
# #
......
...@@ -787,6 +787,7 @@ begin ...@@ -787,6 +787,7 @@ begin
end// end//
call p1()// call p1()//
drop procedure p1// drop procedure p1//
drop function f1//
drop table t1// drop table t1//
delimiter ;// delimiter ;//
......
...@@ -104,3 +104,5 @@ insert into t1 values(1); ...@@ -104,3 +104,5 @@ insert into t1 values(1);
connection default; connection default;
drop table t1,t2; drop table t1,t2;
drop user test@localhost; drop user test@localhost;
set global read_only=0;
...@@ -29,7 +29,7 @@ repair table t1 use_frm; ...@@ -29,7 +29,7 @@ repair table t1 use_frm;
create table t1 engine=myisam SELECT 1,"table 1"; create table t1 engine=myisam SELECT 1,"table 1";
flush tables; flush tables;
system echo 1 > $MYSQL_TEST_DIR/var/master-data/test/t1.MYI ; system echo 1 > $MYSQLTEST_VARDIR/master-data/test/t1.MYI ;
repair table t1; repair table t1;
repair table t1 use_frm; repair table t1 use_frm;
drop table t1; drop table t1;
......
...@@ -2,9 +2,9 @@ source include/master-slave.inc; ...@@ -2,9 +2,9 @@ source include/master-slave.inc;
set SQL_LOG_BIN=0; set SQL_LOG_BIN=0;
create table t1 (word char(20) not null, index(word)); create table t1 (word char(20) not null, index(word));
load data infile '../../std_data/words.dat' into table t1; load data infile '../std_data_ln/words.dat' into table t1;
create table t2 (word char(20) not null); create table t2 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t2; load data infile '../std_data_ln/words.dat' into table t2;
create table t3 (word char(20) not null primary key); create table t3 (word char(20) not null primary key);
connection slave; connection slave;
load table t1 from master; load table t1 from master;
......
...@@ -138,10 +138,10 @@ select * from mysqltest.t1; ...@@ -138,10 +138,10 @@ select * from mysqltest.t1;
# DISABLED FOR NOW AS chmod IS NOT PORTABLE ON NON-UNIX # DISABLED FOR NOW AS chmod IS NOT PORTABLE ON NON-UNIX
# insert into mysqltest.t1 values(10, 'should be there'); # insert into mysqltest.t1 values(10, 'should be there');
# flush tables; # flush tables;
# system chmod 500 var/slave-data/mysqltest/; # system chmod 500 $MYSQLTEST_VARDIR/slave-data/mysqltest/;
# --error 6 # --error 6
# load data from master; # should fail (errno 13) # load data from master; # should fail (errno 13)
# system chmod 700 var/slave-data/mysqltest/; # system chmod 700 $MYSQLTEST_VARDIR/slave-data/mysqltest/;
# select * from mysqltest.t1; # should contain the row (10, ...) # select * from mysqltest.t1; # should contain the row (10, ...)
......
rm -f $MYSQL_TEST_DIR/var/log/*relay* rm -f $MYSQLTEST_VARDIR/log/*relay*
rm -f $MYSQL_TEST_DIR/var/slave-data/relay-log.info rm -f $MYSQLTEST_VARDIR/slave-data/relay-log.info
cat > $MYSQL_TEST_DIR/var/slave-data/master.info <<EOF cat > $MYSQLTEST_VARDIR/slave-data/master.info <<EOF
master-bin.000001 master-bin.000001
4 4
127.0.0.1 127.0.0.1
......
...@@ -16,6 +16,7 @@ sync_slave_with_master; ...@@ -16,6 +16,7 @@ sync_slave_with_master;
select * from t1; select * from t1;
connection master; connection master;
drop table t1; drop table t1;
delete from mysql.user where user="replicate";
sync_slave_with_master; sync_slave_with_master;
# End of 4.1 tests # End of 4.1 tests
rm -f $MYSQL_TEST_DIR/var/slave-data/master.info rm -f $MYSQLTEST_VARDIR/slave-data/master.info
...@@ -54,5 +54,5 @@ sync_slave_with_master; ...@@ -54,5 +54,5 @@ sync_slave_with_master;
#cleanup #cleanup
connection slave; connection slave;
stop slave; stop slave;
#system rm -rf var/master-data/mysqltest1; #system rm -rf $MYSQLTEST_VARDIR/master-data/mysqltest1;
-O max_binlog_size=1M --relay-log=$MYSQL_TEST_DIR/var/master-data/relay-log -O max_binlog_size=1M --relay-log=$MYSQLTEST_VARDIR/master-data/relay-log
rm -f $MYSQL_TEST_DIR/var/slave-data/*-bin.* rm -f $MYSQLTEST_VARDIR/slave-data/*-bin.*
rm -f $MYSQL_TEST_DIR/var/slave-data/master.info rm -f $MYSQLTEST_VARDIR/slave-data/master.info
rm -f $MYSQL_TEST_DIR/var/slave-data/*.index rm -f $MYSQLTEST_VARDIR/slave-data/*.index
-O max_binlog_size=1M --relay-log=$MYSQL_TEST_DIR/var/slave-data/relay-log -O max_binlog_size=1M --relay-log=$MYSQLTEST_VARDIR/slave-data/relay-log
rm -f $MYSQL_TEST_DIR/var/master-data/master.info rm -f $MYSQLTEST_VARDIR/master-data/master.info
rm -f $MYSQL_TEST_DIR/var/master-data/*-bin.* rm -f $MYSQLTEST_VARDIR/master-data/*-bin.*
rm -f $MYSQL_TEST_DIR/var/master-data/*.index rm -f $MYSQLTEST_VARDIR/master-data/*.index
...@@ -41,3 +41,7 @@ connection slave; ...@@ -41,3 +41,7 @@ connection slave;
--disable_abort_on_error --disable_abort_on_error
revoke select on *.* FROM 'user_foo'; revoke select on *.* FROM 'user_foo';
--enable_abort_on_error --enable_abort_on_error
connection master;
delete from mysql.user where user="user_foo";
sync_slave_with_master;
...@@ -18,7 +18,7 @@ CREATE TABLE t4 ( ...@@ -18,7 +18,7 @@ CREATE TABLE t4 (
--disable_warnings --disable_warnings
LOAD DATA LOAD DATA
INFILE '../../std_data/loaddata_pair.dat' INFILE '../std_data_ln/loaddata_pair.dat'
REPLACE INTO TABLE t4 REPLACE INTO TABLE t4
(name,number); (name,number);
--enable_warnings --enable_warnings
...@@ -30,7 +30,7 @@ SELECT * FROM t4; ...@@ -30,7 +30,7 @@ SELECT * FROM t4;
connection master; connection master;
--disable_warnings --disable_warnings
LOAD DATA LOAD DATA
INFILE '../../std_data/loaddata_pair.dat' INFILE '../std_data_ln/loaddata_pair.dat'
REPLACE INTO TABLE t4 REPLACE INTO TABLE t4
(name,number); (name,number);
--enable_warnings --enable_warnings
......
...@@ -12,7 +12,7 @@ reset master; ...@@ -12,7 +12,7 @@ reset master;
connection master; connection master;
# 'test' is the current database # 'test' is the current database
create table test.t1(a int, b int, unique(b)); create table test.t1(a int, b int, unique(b));
load data infile '../../std_data/rpl_loaddata.dat' into table test.t1; load data infile '../std_data_ln/rpl_loaddata.dat' into table test.t1;
# Test logging on slave; # Test logging on slave;
......
...@@ -14,17 +14,18 @@ disable_query_log; ...@@ -14,17 +14,18 @@ disable_query_log;
set SQL_LOG_BIN=0; set SQL_LOG_BIN=0;
while ($1) while ($1)
{ {
#eval means expand $ expressions insert into t1 values(1);
eval insert into t1 values(1);
dec $1; dec $1;
} }
set SQL_LOG_BIN=1; set SQL_LOG_BIN=1;
enable_query_log; enable_query_log;
select * into outfile '../../var/master-data/rpl_loaddatalocal.select_outfile' from t1; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval select * into outfile '$MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' from t1;
#This will generate a 20KB file, now test LOAD DATA LOCAL #This will generate a 20KB file, now test LOAD DATA LOCAL
truncate table t1; truncate table t1;
load data local infile './var/master-data/rpl_loaddatalocal.select_outfile' into table t1; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
system rm ./var/master-data/rpl_loaddatalocal.select_outfile ; eval load data local infile '$MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' into table t1;
system rm $MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile ;
save_master_pos; save_master_pos;
connection slave; connection slave;
sync_with_master; sync_with_master;
...@@ -45,11 +46,13 @@ sync_with_master; ...@@ -45,11 +46,13 @@ sync_with_master;
connection master; connection master;
create table t1(a int); create table t1(a int);
insert into t1 values (1), (2), (2), (3); insert into t1 values (1), (2), (2), (3);
select * into outfile '../../var/master-data/rpl_loaddatalocal.select_outfile' from t1; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval select * into outfile '$MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' from t1;
drop table t1; drop table t1;
create table t1(a int primary key); create table t1(a int primary key);
load data local infile './var/master-data/rpl_loaddatalocal.select_outfile' into table t1; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
system rm ./var/master-data/rpl_loaddatalocal.select_outfile ; eval load data local infile '$MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' into table t1;
system rm $MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile ;
select * from t1; select * from t1;
save_master_pos; save_master_pos;
connection slave; connection slave;
......
rm -f $MYSQL_TEST_DIR/var/master-data/test/rpl_misc_functions.outfile rm -f $MYSQLTEST_VARDIR/master-data/test/rpl_misc_functions.outfile
...@@ -24,9 +24,14 @@ select * into outfile 'rpl_misc_functions.outfile' from t1; ...@@ -24,9 +24,14 @@ select * into outfile 'rpl_misc_functions.outfile' from t1;
sync_slave_with_master; sync_slave_with_master;
create table t2 like t1; create table t2 like t1;
# read the values from the master table # read the values from the master table
load data local infile './var/master-data/test/rpl_misc_functions.outfile' into table t2; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval load data local infile '$MYSQLTEST_VARDIR/master-data/test/rpl_misc_functions.outfile' into table t2;
# compare them with the replica; the SELECT below should return no row # compare them with the replica; the SELECT below should return no row
select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p); select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p);
stop slave; stop slave;
drop table t1;
connection master;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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