mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix typos in mysql-test/
This commit is contained in:
committed by
Daniel Black
parent
40c5b62531
commit
1b95e46524
@ -3,8 +3,8 @@
|
|||||||
# This test is executed twice for each test case. Before every
|
# This test is executed twice for each test case. Before every
|
||||||
# testcase it is run with mysqltest in record mode and will thus
|
# testcase it is run with mysqltest in record mode and will thus
|
||||||
# produce an output file that can be compared to output from after the
|
# produce an output file that can be compared to output from after the
|
||||||
# tescase. In that way, it is possible to check that a testcase does
|
# testcase. In that way, it is possible to check that a testcase does
|
||||||
# not have any unwanted side affects.
|
# not have any unwanted side effects..
|
||||||
|
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
|
|
||||||
|
@ -1524,7 +1524,7 @@ INSERT INTO t4 (companynr, companyname) VALUES (00,'Unknown');
|
|||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test of stright join to force a full join.
|
# Test of straight join to force a full join.
|
||||||
#
|
#
|
||||||
|
|
||||||
select STRAIGHT_JOIN t2.companynr,companyname from t4,t2 where t2.companynr=t4.companynr group by t2.companynr;
|
select STRAIGHT_JOIN t2.companynr,companyname from t4,t2 where t2.companynr=t4.companynr group by t2.companynr;
|
||||||
@ -1592,7 +1592,7 @@ explain select distinct t2.companynr,t4.companynr from t2,t4 where t2.companynr=
|
|||||||
SET @@join_cache_level=@local_join_cache_level;
|
SET @@join_cache_level=@local_join_cache_level;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Search using 'or' with the same referens group.
|
# Search using 'or' with the same reference group.
|
||||||
# An interval search will be done first with the first table and after that
|
# An interval search will be done first with the first table and after that
|
||||||
# the other table is referenced with a key with a 'test if key in use' for
|
# the other table is referenced with a key with a 'test if key in use' for
|
||||||
# each record
|
# each record
|
||||||
|
@ -454,7 +454,7 @@ drop table t1;
|
|||||||
--echo ** Table will be unchanged and the select command will not be
|
--echo ** Table will be unchanged and the select command will not be
|
||||||
--echo ** blocked:
|
--echo ** blocked:
|
||||||
select * from t1;
|
select * from t1;
|
||||||
--echo ** Commit transacton on thread 2.
|
--echo ** Commit transaction on thread 2.
|
||||||
commit;
|
commit;
|
||||||
|
|
||||||
connection thread1;
|
connection thread1;
|
||||||
@ -500,7 +500,7 @@ drop table t1;
|
|||||||
send delete from t1 where tipo=2;
|
send delete from t1 where tipo=2;
|
||||||
# The sleep has not been replaced as all tried wait conditions leaded to sporadically
|
# The sleep has not been replaced as all tried wait conditions leaded to sporadically
|
||||||
# succeding update in the following thread. Also the used status variables '%lock%' and
|
# succeding update in the following thread. Also the used status variables '%lock%' and
|
||||||
# 'innodb_deleted_rows' and infos in processlist where not sucessful.
|
# 'innodb_deleted_rows' and infos in processlist were not successful.
|
||||||
sleep 1;
|
sleep 1;
|
||||||
|
|
||||||
connection thread1;
|
connection thread1;
|
||||||
@ -555,7 +555,7 @@ drop table t1;
|
|||||||
send delete from t1 where tipo=2;
|
send delete from t1 where tipo=2;
|
||||||
# The sleep has not been replaced as all tried wait conditions leaded to sporadically
|
# The sleep has not been replaced as all tried wait conditions leaded to sporadically
|
||||||
# succeding update in the following thread. Also the used status variables '%lock%' and
|
# succeding update in the following thread. Also the used status variables '%lock%' and
|
||||||
# 'innodb_deleted_rows' and infos in processlist where not sucessful.
|
# 'innodb_deleted_rows' and infos in processlist were not successful.
|
||||||
sleep 1;
|
sleep 1;
|
||||||
--disable_view_protocol
|
--disable_view_protocol
|
||||||
connection thread1;
|
connection thread1;
|
||||||
|
@ -39,7 +39,7 @@ if ($ctype_unescape_combinations == 'selected')
|
|||||||
--source include/bytes.inc
|
--source include/bytes.inc
|
||||||
#
|
#
|
||||||
# Populate "selected_bytes" with bytes that have a special meaning.
|
# Populate "selected_bytes" with bytes that have a special meaning.
|
||||||
# We'll use "selected_bytes" to generate byte seqeunces,
|
# We'll use "selected_bytes" to generate byte sequences,
|
||||||
# instead of the full possible byte combinations, to reduce test time.
|
# instead of the full possible byte combinations, to reduce test time.
|
||||||
#
|
#
|
||||||
CREATE TABLE selected_bytes (a VARBINARY(10));
|
CREATE TABLE selected_bytes (a VARBINARY(10));
|
||||||
|
@ -96,7 +96,7 @@ loose-performance-schema-max-thread-instances=400
|
|||||||
loose-performance-schema-session-connect-attrs-size=2048
|
loose-performance-schema-session-connect-attrs-size=2048
|
||||||
loose-performance-schema-max-metadata-locks=10000
|
loose-performance-schema-max-metadata-locks=10000
|
||||||
|
|
||||||
# Enable everything, for maximun code exposure during testing
|
# Enable everything, for maximum code exposure during testing
|
||||||
|
|
||||||
loose-performance-schema-instrument='%=ON'
|
loose-performance-schema-instrument='%=ON'
|
||||||
|
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
#
|
#
|
||||||
# SUMMARY
|
# SUMMARY
|
||||||
#
|
#
|
||||||
# Explain and execute the select statment in $query.
|
# Explain and execute the select statement in $query.
|
||||||
# Then report 'Last_query_cost' estimate from the query
|
# Then report 'Last_query_cost' estimate from the query
|
||||||
# optimizer and total number of 'Handler_read%' when the
|
# optimizer and total number of 'Handler_read%' when the
|
||||||
# query was executed.
|
# query was executed.
|
||||||
# Intended usage is to verify that there are not regressions
|
# Intended usage is to verify that there are no regressions
|
||||||
# in either calculated or actuall cost for $query.
|
# in either calculated or actual cost for $query.
|
||||||
#
|
#
|
||||||
# USAGE
|
# USAGE
|
||||||
#
|
#
|
||||||
|
@ -199,7 +199,7 @@ select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=
|
|||||||
explain select * from t1 where st_a=1 and st_b=1;
|
explain select * from t1 where st_a=1 and st_b=1;
|
||||||
explain select st_a,st_b from t1 where st_a=1 and st_b=1;
|
explain select st_a,st_b from t1 where st_a=1 and st_b=1;
|
||||||
|
|
||||||
# Check if "ingore index" syntax works
|
# Check if "ignore index" syntax works
|
||||||
explain select st_a from t1 ignore index (st_a) where st_a=1 and st_b=1;
|
explain select st_a from t1 ignore index (st_a) where st_a=1 and st_b=1;
|
||||||
|
|
||||||
# Do many tests
|
# Do many tests
|
||||||
|
@ -902,7 +902,7 @@ DROP TABLE t1,t2,t3;
|
|||||||
|
|
||||||
eval CREATE TABLE t1 (a int not null primary key, b int not null, unique (b)) engine=$engine_type;
|
eval CREATE TABLE t1 (a int not null primary key, b int not null, unique (b)) engine=$engine_type;
|
||||||
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
|
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
|
||||||
# We need the a < 1000 test here to quard against the halloween problems
|
# We need the a < 1000 test here to guard against the halloween problems
|
||||||
UPDATE t1 set a=a+100 where b between 2 and 3 and a < 1000;
|
UPDATE t1 set a=a+100 where b between 2 and 3 and a < 1000;
|
||||||
SELECT * from t1;
|
SELECT * from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
@ -1035,7 +1035,7 @@ drop table t1;
|
|||||||
if ($test_foreign_keys)
|
if ($test_foreign_keys)
|
||||||
{
|
{
|
||||||
#
|
#
|
||||||
# Test dictionary handling with spaceand quoting
|
# Test dictionary handling with space and quoting
|
||||||
#
|
#
|
||||||
|
|
||||||
eval CREATE TABLE t1 (`id 1` INT NOT NULL, PRIMARY KEY (`id 1`)) ENGINE=$engine_type;
|
eval CREATE TABLE t1 (`id 1` INT NOT NULL, PRIMARY KEY (`id 1`)) ENGINE=$engine_type;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
# The PLUGVAR variable is not quoted, so you must remember to quote it
|
# The PLUGVAR variable is not quoted, so you must remember to quote it
|
||||||
# when using it in an INSTALL PLUGIN command.
|
# when using it in an INSTALL PLUGIN command.
|
||||||
#
|
#
|
||||||
# The envorinment variables can be used in tests. If adding a new plugin,
|
# The environment variables can be used in tests. If adding a new plugin,
|
||||||
# you are free to pick your variable name, but please keep it upper
|
# you are free to pick your variable name, but please keep it upper
|
||||||
# case for consistency.
|
# case for consistency.
|
||||||
#
|
#
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Waits until the slave IO thread on the current connection has been
|
# Waits until the slave IO thread on the current connection has been
|
||||||
# synced up to the point saved by the last call to
|
# synced up to the point saved by the last call to
|
||||||
# include/save_master_pos.inc (i.e., until the IO thead has copied up
|
# include/save_master_pos.inc (i.e., until the IO thread has been copied
|
||||||
# to the saved position). Does not wait for the SQL thread.
|
# to the saved position). Does not wait for the SQL thread.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -301,7 +301,7 @@ sub new {
|
|||||||
|
|
||||||
# Check that the file exists relative to path of first config file
|
# Check that the file exists relative to path of first config file
|
||||||
if (! -f $include_file_name){
|
if (! -f $include_file_name){
|
||||||
# Try to include file relativ to current dir
|
# Try to include file relative to current dir
|
||||||
$include_file_name= $1;
|
$include_file_name= $1;
|
||||||
}
|
}
|
||||||
croak "The include file '$include_file_name' does not exist"
|
croak "The include file '$include_file_name' does not exist"
|
||||||
|
@ -63,7 +63,7 @@ sub get_testdir {
|
|||||||
return $testdir;
|
return $testdir;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Retrive build directory (which is different from basedir in out-of-source build)
|
# Retrieve build directory (which is different from basedir in out-of-source build)
|
||||||
sub get_bindir {
|
sub get_bindir {
|
||||||
if (defined $ENV{MTR_BINDIR})
|
if (defined $ENV{MTR_BINDIR})
|
||||||
{
|
{
|
||||||
|
@ -352,7 +352,7 @@ sub _cdb {
|
|||||||
my $image_path= join(";", (keys %dirhash),".");
|
my $image_path= join(";", (keys %dirhash),".");
|
||||||
|
|
||||||
# For better callstacks, setup _NT_SYMBOL_PATH to include
|
# For better callstacks, setup _NT_SYMBOL_PATH to include
|
||||||
# OS symbols. Note : Dowloading symbols for the first time
|
# OS symbols. Note : Downloading symbols for the first time
|
||||||
# can take some minutes
|
# can take some minutes
|
||||||
if (!$ENV{'_NT_SYMBOL_PATH'})
|
if (!$ENV{'_NT_SYMBOL_PATH'})
|
||||||
{
|
{
|
||||||
@ -382,7 +382,7 @@ sub _cdb {
|
|||||||
return unless $cdb_output;
|
return unless $cdb_output;
|
||||||
|
|
||||||
# Remove comments (lines starting with *), stack pointer and frame
|
# Remove comments (lines starting with *), stack pointer and frame
|
||||||
# pointer adresses and offsets to function to make output better readable
|
# pointer addresses and offsets to function to make output better readable
|
||||||
$cdb_output=~ s/^\*.*\n//gm;
|
$cdb_output=~ s/^\*.*\n//gm;
|
||||||
$cdb_output=~ s/^([\:0-9a-fA-F\`]+ )+//gm;
|
$cdb_output=~ s/^([\:0-9a-fA-F\`]+ )+//gm;
|
||||||
$cdb_output=~ s/^ChildEBP RetAddr//gm;
|
$cdb_output=~ s/^ChildEBP RetAddr//gm;
|
||||||
|
@ -168,7 +168,7 @@ sub check_socket_path_length {
|
|||||||
Local => $testfile,
|
Local => $testfile,
|
||||||
Listen => 1,
|
Listen => 1,
|
||||||
);
|
);
|
||||||
$truncated= 1; # Be negatvie
|
$truncated= 1; # Be negative
|
||||||
|
|
||||||
die "Could not create UNIX domain socket: $!"
|
die "Could not create UNIX domain socket: $!"
|
||||||
unless defined $sock;
|
unless defined $sock;
|
||||||
|
@ -196,7 +196,7 @@ sub new {
|
|||||||
my $proc= bless
|
my $proc= bless
|
||||||
({
|
({
|
||||||
SAFE_PID => $pid,
|
SAFE_PID => $pid,
|
||||||
SAFE_WINPID => $pid, # Inidicates this is always a real process
|
SAFE_WINPID => $pid, # Indicates this is always a real process
|
||||||
SAFE_NAME => $name,
|
SAFE_NAME => $name,
|
||||||
SAFE_SHUTDOWN => $shutdown,
|
SAFE_SHUTDOWN => $shutdown,
|
||||||
PARENT => $$,
|
PARENT => $$,
|
||||||
@ -539,7 +539,7 @@ sub wait_any_timeout {
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
::mtr_milli_sleep($millis);
|
::mtr_milli_sleep($millis);
|
||||||
# Slowly increse interval up to max. 1 second
|
# Slowly increase interval up to max. 1 second
|
||||||
$millis++ if $millis < 1000;
|
$millis++ if $millis < 1000;
|
||||||
# Return a "fake" process for timeout
|
# Return a "fake" process for timeout
|
||||||
if (::has_expired($timeout)) {
|
if (::has_expired($timeout)) {
|
||||||
|
@ -160,7 +160,7 @@ sub create_process {
|
|||||||
die "create_process failed: $^E";
|
die "create_process failed: $^E";
|
||||||
}
|
}
|
||||||
|
|
||||||
# Retore IO redirects
|
# Restore IO redirects
|
||||||
open STDERR, '>&', $olderr
|
open STDERR, '>&', $olderr
|
||||||
or croak("unable to reestablish STDERR");
|
or croak("unable to reestablish STDERR");
|
||||||
open STDOUT, '>&', $oldout
|
open STDOUT, '>&', $oldout
|
||||||
|
@ -201,7 +201,7 @@ extern "C" void handle_signal(int sig)
|
|||||||
signal(SIGINT, SIG_IGN);
|
signal(SIGINT, SIG_IGN);
|
||||||
signal(SIGHUP, SIG_IGN);
|
signal(SIGHUP, SIG_IGN);
|
||||||
|
|
||||||
// Continune execution, allow the child to be started and
|
// Continue execution, allow the child to be started and
|
||||||
// finally terminated by monitor loop
|
// finally terminated by monitor loop
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -310,10 +310,10 @@ int main(int argc, const char** argv )
|
|||||||
terminated when the last handle to it is closed(which is owned by
|
terminated when the last handle to it is closed(which is owned by
|
||||||
this process).
|
this process).
|
||||||
|
|
||||||
If breakaway from job fails on some reason, fallback is to create a
|
If breakaway from job fails for some reason, fallback is to create a
|
||||||
new process group. Process groups also allow to kill process and its
|
new process group. Process groups also allow to kill process and its
|
||||||
descedants, subject to some restrictions (processes have to run within
|
descendants, subject to some restrictions (processes have to run within
|
||||||
the same console,and must not ignore CTRL_BREAK)
|
the same console, and must not ignore CTRL_BREAK)
|
||||||
*/
|
*/
|
||||||
DWORD create_flags[]= {CREATE_BREAKAWAY_FROM_JOB, CREATE_NEW_PROCESS_GROUP, 0};
|
DWORD create_flags[]= {CREATE_BREAKAWAY_FROM_JOB, CREATE_NEW_PROCESS_GROUP, 0};
|
||||||
BOOL process_created= FALSE;
|
BOOL process_created= FALSE;
|
||||||
|
@ -185,7 +185,7 @@ sub isvm {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Prit the cpuinfo
|
# Print the cpuinfo
|
||||||
sub print_info {
|
sub print_info {
|
||||||
my ($self)= @_;
|
my ($self)= @_;
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ sub init_pattern {
|
|||||||
return undef unless defined $from;
|
return undef unless defined $from;
|
||||||
if ( $from =~ /^[a-z0-9\.]*$/ ) {
|
if ( $from =~ /^[a-z0-9\.]*$/ ) {
|
||||||
# Does not contain any regex (except . that we allow as
|
# Does not contain any regex (except . that we allow as
|
||||||
# separator betwen suite and testname), make the pattern match
|
# separator between suite and testname), make the pattern match
|
||||||
# beginning of string
|
# beginning of string
|
||||||
$from= "^$from";
|
$from= "^$from";
|
||||||
mtr_verbose2("$what='$from'");
|
mtr_verbose2("$what='$from'");
|
||||||
@ -184,7 +184,7 @@ sub collect_test_cases ($$$$) {
|
|||||||
#
|
#
|
||||||
# Collect the criteria for sorting, in order of importance.
|
# Collect the criteria for sorting, in order of importance.
|
||||||
# Note that criteria are also used in mysql-test-run.pl to
|
# Note that criteria are also used in mysql-test-run.pl to
|
||||||
# schedule tests to workers, and it preferres tests that have
|
# schedule tests to workers, and it prefers tests that have
|
||||||
# *identical* criteria. That is, test name is *not* part of
|
# *identical* criteria. That is, test name is *not* part of
|
||||||
# the criteria, but it's part of the sorting function below.
|
# the criteria, but it's part of the sorting function below.
|
||||||
#
|
#
|
||||||
@ -487,7 +487,7 @@ sub process_suite {
|
|||||||
$suitedir));
|
$suitedir));
|
||||||
|
|
||||||
#
|
#
|
||||||
# Read suite config files, unless it was done aleady
|
# Read suite config files, unless it was done already
|
||||||
#
|
#
|
||||||
unless (defined $suite->{name}) {
|
unless (defined $suite->{name}) {
|
||||||
$suite->{name} = $suitename;
|
$suite->{name} = $suitename;
|
||||||
|
@ -115,9 +115,8 @@ sub collect_test_cases ($) {
|
|||||||
{
|
{
|
||||||
my @criteria = ();
|
my @criteria = ();
|
||||||
|
|
||||||
# Look for tests that muct be in run in a defined order
|
# Look for tests that must be run in an order defined by
|
||||||
# that is defined by test having the same name except for
|
# test having the same name except for the ending digit
|
||||||
# the ending digit
|
|
||||||
|
|
||||||
# Put variables into hash
|
# Put variables into hash
|
||||||
my $test_name= $tinfo->{'name'};
|
my $test_name= $tinfo->{'name'};
|
||||||
@ -180,7 +179,7 @@ sub collect_test_cases ($) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Valid extensions and their corresonding component id
|
# Valid extensions and their corresponding component id
|
||||||
my %exts = ( 'test' => 'mysqld',
|
my %exts = ( 'test' => 'mysqld',
|
||||||
'imtest' => 'im'
|
'imtest' => 'im'
|
||||||
);
|
);
|
||||||
@ -274,7 +273,7 @@ sub collect_one_suite($)
|
|||||||
#print " tname: $tname\n";
|
#print " tname: $tname\n";
|
||||||
#print " extension: $extension\n";
|
#print " extension: $extension\n";
|
||||||
|
|
||||||
# Check cirrect suite if suitename is defined
|
# Check correct suite if suitename is defined
|
||||||
next if (defined $sname and $suite ne $sname);
|
next if (defined $sname and $suite ne $sname);
|
||||||
|
|
||||||
my $component_id;
|
my $component_id;
|
||||||
|
@ -386,10 +386,10 @@ sub mtr_kill_leftovers () {
|
|||||||
# We now have tried to terminate nice. We have waited for the listen
|
# We now have tried to terminate nice. We have waited for the listen
|
||||||
# port to be free, but can't really tell if the mysqld process died
|
# port to be free, but can't really tell if the mysqld process died
|
||||||
# or not. We now try to find the process PID from the PID file, and
|
# or not. We now try to find the process PID from the PID file, and
|
||||||
# send a kill to that process. Note that Perl let kill(0,@pids) be
|
# send a kill to that process. Note that Perl lets kill(0,@pids) be
|
||||||
# a way to just return the numer of processes the kernel can send
|
# a way to just return the number of processes the kernel can send
|
||||||
# signals to. So this can be used (except on Cygwin) to determine
|
# signals to. So this can be used (except on Cygwin) to determine
|
||||||
# if there are processes left running that we cound out might exists.
|
# if there are processes left running that we count out might exists.
|
||||||
#
|
#
|
||||||
# But still after all this work, all we know is that we have
|
# But still after all this work, all we know is that we have
|
||||||
# the ports free.
|
# the ports free.
|
||||||
@ -618,7 +618,7 @@ sub mtr_check_stop_servers ($) {
|
|||||||
if ($::glob_win32_perl and $srv->{'real_pid'})
|
if ($::glob_win32_perl and $srv->{'real_pid'})
|
||||||
{
|
{
|
||||||
# Wait for the pseudo pid - if the real_pid was known
|
# Wait for the pseudo pid - if the real_pid was known
|
||||||
# the pseudo pid has not been waited for yet, wai blocking
|
# the pseudo pid has not been waited for yet, wait blocking
|
||||||
# since it's "such a simple program"
|
# since it's "such a simple program"
|
||||||
mtr_verbose("Wait for pseudo process $srv->{'pid'}");
|
mtr_verbose("Wait for pseudo process $srv->{'pid'}");
|
||||||
my $ret_pid= waitpid($srv->{'pid'}, 0);
|
my $ret_pid= waitpid($srv->{'pid'}, 0);
|
||||||
@ -844,8 +844,8 @@ sub mtr_record_dead_children () {
|
|||||||
my $process_died= 0;
|
my $process_died= 0;
|
||||||
my $ret_pid;
|
my $ret_pid;
|
||||||
|
|
||||||
# Wait without blockinng to see if any processes had died
|
# Wait without blocking to see if any processes had died
|
||||||
# -1 or 0 means there are no more procesess to wait for
|
# -1 or 0 means there are no more processes to wait for
|
||||||
while ( ($ret_pid= waitpid(-1,&WNOHANG)) != 0 and $ret_pid != -1)
|
while ( ($ret_pid= waitpid(-1,&WNOHANG)) != 0 and $ret_pid != -1)
|
||||||
{
|
{
|
||||||
mtr_warning("mtr_record_dead_children: $ret_pid");
|
mtr_warning("mtr_record_dead_children: $ret_pid");
|
||||||
|
@ -347,7 +347,7 @@ sub mtr_report_stats ($) {
|
|||||||
/Stored routine 'test'.'bug14233_3': invalid value in column mysql.proc/ or
|
/Stored routine 'test'.'bug14233_3': invalid value in column mysql.proc/ or
|
||||||
|
|
||||||
# BUG#29839 - lowercase_table3.test: Cannot find table test/T1
|
# BUG#29839 - lowercase_table3.test: Cannot find table test/T1
|
||||||
# from the internal data dictiona
|
# from the internal data dictionary
|
||||||
/Cannot find table test\/BUG29839 from the internal data dictionary/ or
|
/Cannot find table test\/BUG29839 from the internal data dictionary/ or
|
||||||
# BUG#32080 - Excessive warnings on Solaris: setrlimit could not
|
# BUG#32080 - Excessive warnings on Solaris: setrlimit could not
|
||||||
# change the size of core files
|
# change the size of core files
|
||||||
|
@ -31,8 +31,8 @@
|
|||||||
#
|
#
|
||||||
# Coding style directions for this perl script
|
# Coding style directions for this perl script
|
||||||
#
|
#
|
||||||
# - To make this Perl script easy to alter even for those that not
|
# - To make this Perl script easy to alter even for those that do not
|
||||||
# code Perl that often, keeep the coding style as close as possible to
|
# code Perl that often, keep the coding style as close as possible to
|
||||||
# the C/C++ MySQL coding standard.
|
# the C/C++ MySQL coding standard.
|
||||||
#
|
#
|
||||||
# - All lists of arguments to send to commands are Perl lists/arrays,
|
# - All lists of arguments to send to commands are Perl lists/arrays,
|
||||||
@ -926,7 +926,7 @@ sub command_line_setup () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# ps protcol flag
|
# ps protocol flag
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
if ( $opt_ps_protocol )
|
if ( $opt_ps_protocol )
|
||||||
{
|
{
|
||||||
@ -1571,8 +1571,8 @@ sub environment_setup () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# Valgrind need to be run with debug libraries otherwise it's almost
|
# Valgrind needs to be run with debug libraries otherwise it's almost
|
||||||
# impossible to add correct supressions, that means if "/usr/lib/debug"
|
# impossible to add correct suppressions, that means if "/usr/lib/debug"
|
||||||
# is available, it should be added to
|
# is available, it should be added to
|
||||||
# LD_LIBRARY_PATH
|
# LD_LIBRARY_PATH
|
||||||
#
|
#
|
||||||
@ -1668,7 +1668,7 @@ sub environment_setup () {
|
|||||||
$ENV{'MYSQL_CHECK'}= $cmdline_mysqlcheck;
|
$ENV{'MYSQL_CHECK'}= $cmdline_mysqlcheck;
|
||||||
|
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
# Setup env to childs can execute myqldump
|
# Setup env to childs can execute mysqldump
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
my $cmdline_mysqldump= generate_cmdline_mysqldump($master->[0]);
|
my $cmdline_mysqldump= generate_cmdline_mysqldump($master->[0]);
|
||||||
my $cmdline_mysqldumpslave= generate_cmdline_mysqldump($slave->[0]);
|
my $cmdline_mysqldumpslave= generate_cmdline_mysqldump($slave->[0]);
|
||||||
@ -2411,7 +2411,7 @@ sub mysql_install_db () {
|
|||||||
copy_install_db('master', $master->[1]->{'path_myddir'});
|
copy_install_db('master', $master->[1]->{'path_myddir'});
|
||||||
}
|
}
|
||||||
|
|
||||||
# Install the number of slave databses needed
|
# Install the number of slave databases needed
|
||||||
for (my $idx= 0; $idx < $max_slave_num; $idx++)
|
for (my $idx= 0; $idx < $max_slave_num; $idx++)
|
||||||
{
|
{
|
||||||
copy_install_db("slave".($idx+1), $slave->[$idx]->{'path_myddir'});
|
copy_install_db("slave".($idx+1), $slave->[$idx]->{'path_myddir'});
|
||||||
@ -3083,7 +3083,7 @@ sub mysqld_arguments ($$$$) {
|
|||||||
|
|
||||||
if (!$opt_extern and $mysql_version_id >= 50106 )
|
if (!$opt_extern and $mysql_version_id >= 50106 )
|
||||||
{
|
{
|
||||||
# Turn on logging to bothe tables and file
|
# Turn on logging to both tables and file
|
||||||
mtr_add_arg($args, "%s--log-output=table,file", $prefix);
|
mtr_add_arg($args, "%s--log-output=table,file", $prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Tests for various concurrency-related aspects of ALTER TABLE implemetation
|
# Tests for various concurrency-related aspects of ALTER TABLE implementation
|
||||||
#
|
#
|
||||||
# This test takes rather long time so let us run it only in --big-test mode
|
# This test takes rather long time so let us run it only in --big-test mode
|
||||||
--source include/big_test.inc
|
--source include/big_test.inc
|
||||||
|
@ -1220,7 +1220,7 @@ info: Records: 2 Duplicates: 0 Warnings: 0
|
|||||||
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6');
|
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6');
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||||
# Copy: Numerical incrase (pack lenght)
|
# Copy: Numerical increase (pack length)
|
||||||
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6','a7','a8','a9','a10');
|
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6','a7','a8','a9','a10');
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
info: Records: 2 Duplicates: 0 Warnings: 0
|
info: Records: 2 Duplicates: 0 Warnings: 0
|
||||||
|
@ -1053,7 +1053,7 @@ ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','xx');
|
|||||||
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx');
|
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx');
|
||||||
--echo # No copy: Add new to the end
|
--echo # No copy: Add new to the end
|
||||||
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6');
|
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6');
|
||||||
--echo # Copy: Numerical incrase (pack lenght)
|
--echo # Copy: Numerical increase (pack length)
|
||||||
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6','a7','a8','a9','a10');
|
ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6','a7','a8','a9','a10');
|
||||||
--disable_info
|
--disable_info
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
@ -338,7 +338,7 @@ between 400 and 450;
|
|||||||
# r_rows_idx=2 (average 4 (1+3)/2 scans = 2 rows per scan)
|
# r_rows_idx=2 (average 4 (1+3)/2 scans = 2 rows per scan)
|
||||||
# r_icp_filtered=50 (4 rows total, 2 survive the icp, both in the second scan)
|
# r_icp_filtered=50 (4 rows total, 2 survive the icp, both in the second scan)
|
||||||
# for t13.a=1, 0 rows after ICP
|
# for t13.a=1, 0 rows after ICP
|
||||||
# for t13.a=2, 2 rows after ICP, 1 survives the rowid_filter (t12.c bewteen 400 and 500)
|
# for t13.a=2, 2 rows after ICP, 1 survives the rowid_filter (t12.c between 400 and 500)
|
||||||
# rowid_filter r_lookups=2 (2 / 2 loops)
|
# rowid_filter r_lookups=2 (2 / 2 loops)
|
||||||
# rowid_filter r_selectivity_pct = 50 (1 survived / 2 rows after ICP)
|
# rowid_filter r_selectivity_pct = 50 (1 survived / 2 rows after ICP)
|
||||||
--source include/analyze-format.inc
|
--source include/analyze-format.inc
|
||||||
|
@ -171,7 +171,7 @@ select * from t1 order by b;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test of behavior of ALTER TABLE when coulmn containing NULL or zeroes is
|
# Test of behavior of ALTER TABLE when column containing NULL or zeroes is
|
||||||
# converted to AUTO_INCREMENT column
|
# converted to AUTO_INCREMENT column
|
||||||
#
|
#
|
||||||
create table t1 (a bigint);
|
create table t1 (a bigint);
|
||||||
|
@ -407,7 +407,7 @@ SELECT * FROM t1 WHERE coalesce(a) BETWEEN 0 and 0.9;
|
|||||||
SELECT * FROM t1 WHERE coalesce(a)=0.9;
|
SELECT * FROM t1 WHERE coalesce(a)=0.9;
|
||||||
SELECT * FROM t1 WHERE coalesce(a) in (0.8,0.9);
|
SELECT * FROM t1 WHERE coalesce(a) in (0.8,0.9);
|
||||||
|
|
||||||
# b. These queries mistakenely returned 1 row:
|
# b. These queries mistakenly returned 1 row:
|
||||||
SELECT * FROM t1 WHERE a BETWEEN 0 AND 0.9;
|
SELECT * FROM t1 WHERE a BETWEEN 0 AND 0.9;
|
||||||
SELECT * FROM t1 WHERE a=0.9;
|
SELECT * FROM t1 WHERE a=0.9;
|
||||||
SELECT * FROM t1 WHERE a IN (0.8,0.9);
|
SELECT * FROM t1 WHERE a IN (0.8,0.9);
|
||||||
|
@ -88,7 +88,7 @@ CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_bin THEN '1' ELSE 2 END as
|
|||||||
;
|
;
|
||||||
|
|
||||||
#
|
#
|
||||||
# COALESCE is a CASE abbrevation:
|
# COALESCE is a CASE abbreviation:
|
||||||
#
|
#
|
||||||
# COALESCE(v1,v2) == CASE WHEN v1 IS NOT NULL THEN v1 ELSE v2 END
|
# COALESCE(v1,v2) == CASE WHEN v1 IS NOT NULL THEN v1 ELSE v2 END
|
||||||
#
|
#
|
||||||
|
@ -346,7 +346,7 @@ DELIMITER ;$$
|
|||||||
|
|
||||||
|
|
||||||
# Let's override the default threshold (100) to force
|
# Let's override the default threshold (100) to force
|
||||||
# comression for VARCHAR1+MB, for example, for:
|
# compression for VARCHAR1+MB, for example, for:
|
||||||
# VARCHAR(80) CHARACTER SET utf8mb3
|
# VARCHAR(80) CHARACTER SET utf8mb3
|
||||||
|
|
||||||
SET @@column_compression_threshold=32;
|
SET @@column_compression_threshold=32;
|
||||||
|
@ -71,7 +71,7 @@ SELECT 1 /*!190000 +1*/;
|
|||||||
1
|
1
|
||||||
1
|
1
|
||||||
#
|
#
|
||||||
# Tesing that versions >= 5.7.x and < 10.0.0 are not ignored
|
# Testing that versions >= 5.7.x and < 10.0.0 are not ignored
|
||||||
# when used with the MariaDB executable comment syntax.
|
# when used with the MariaDB executable comment syntax.
|
||||||
#
|
#
|
||||||
SELECT 1 /*M!50699 +1*/;
|
SELECT 1 /*M!50699 +1*/;
|
||||||
|
@ -45,7 +45,7 @@ SELECT 1 /*!210000 +1*/;
|
|||||||
SELECT 1 /*!190000 +1*/;
|
SELECT 1 /*!190000 +1*/;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Tesing that versions >= 5.7.x and < 10.0.0 are not ignored
|
--echo # Testing that versions >= 5.7.x and < 10.0.0 are not ignored
|
||||||
--echo # when used with the MariaDB executable comment syntax.
|
--echo # when used with the MariaDB executable comment syntax.
|
||||||
--echo #
|
--echo #
|
||||||
SELECT 1 /*M!50699 +1*/;
|
SELECT 1 /*M!50699 +1*/;
|
||||||
|
@ -154,7 +154,7 @@ COMMIT;
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Verify isolation level with @completion_type=1.
|
# Verify isolation level with @completion_type=1.
|
||||||
# (A @@completion_type value of 1 is equivalentl to
|
# (A @@completion_type value of 1 is equivalent to
|
||||||
# explicitly adding "AND CHAIN" to COMMIT or ROLLBACK)
|
# explicitly adding "AND CHAIN" to COMMIT or ROLLBACK)
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ COMMIT;
|
|||||||
#
|
#
|
||||||
# Verify that a transaction ended with an
|
# Verify that a transaction ended with an
|
||||||
# implicit commit (i.e a DDL statement), the
|
# implicit commit (i.e a DDL statement), the
|
||||||
# @@completetion_type setting is ignored, and
|
# @@completion_type setting is ignored, and
|
||||||
# the next transaction's isolation level is
|
# the next transaction's isolation level is
|
||||||
# the session level.
|
# the session level.
|
||||||
#
|
#
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Bug when using comparions of strings and integers.
|
# Bug when using comparisons of strings and integers.
|
||||||
#
|
#
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
|
@ -593,7 +593,7 @@ eta tipo c
|
|||||||
70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
|
70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
|
||||||
80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
|
80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
|
||||||
90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
|
90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
|
||||||
** Commit transacton on thread 2.
|
** Commit transaction on thread 2.
|
||||||
commit;
|
commit;
|
||||||
connection thread1;
|
connection thread1;
|
||||||
** Commit transaction on thread 1.
|
** Commit transaction on thread 1.
|
||||||
|
@ -593,7 +593,7 @@ eta tipo c
|
|||||||
70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
|
70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
|
||||||
80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
|
80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
|
||||||
90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
|
90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
|
||||||
** Commit transacton on thread 2.
|
** Commit transaction on thread 2.
|
||||||
commit;
|
commit;
|
||||||
connection thread1;
|
connection thread1;
|
||||||
** Commit transaction on thread 1.
|
** Commit transaction on thread 1.
|
||||||
|
@ -32,7 +32,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 11 Using where; Using index
|
1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 11 Using where; Using index
|
||||||
Last_query_cost 0.002747
|
Last_query_cost 0.002747
|
||||||
#
|
#
|
||||||
# Shorter indexes are prefered over longer indexs
|
# Shorter indexes are preferred over longer indexes
|
||||||
#
|
#
|
||||||
explain select sum(a+b) from t1;
|
explain select sum(a+b) from t1;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
@ -34,7 +34,7 @@ explain select count(*) from t1 where a > 2;
|
|||||||
--source include/last_query_cost.inc
|
--source include/last_query_cost.inc
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Shorter indexes are prefered over longer indexs
|
--echo # Shorter indexes are preferred over longer indexes
|
||||||
--echo #
|
--echo #
|
||||||
explain select sum(a+b) from t1;
|
explain select sum(a+b) from t1;
|
||||||
--source include/last_query_cost.inc
|
--source include/last_query_cost.inc
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
# Save the initial number of concurrent sessions.
|
# Save the initial number of concurrent sessions.
|
||||||
--source include/count_sessions.inc
|
--source include/count_sessions.inc
|
||||||
|
|
||||||
# Create auxilliary connections
|
# Create auxiliary connections
|
||||||
connect (addconroot1, localhost, root,,);
|
connect (addconroot1, localhost, root,,);
|
||||||
connect (addconroot2, localhost, root,,);
|
connect (addconroot2, localhost, root,,);
|
||||||
connect (addconroot3, localhost, root,,);
|
connect (addconroot3, localhost, root,,);
|
||||||
|
@ -741,7 +741,7 @@ drop table t1;
|
|||||||
# Error during open_and_lock_tables() of tables
|
# Error during open_and_lock_tables() of tables
|
||||||
--error ER_NO_SUCH_TABLE
|
--error ER_NO_SUCH_TABLE
|
||||||
create table t1 select * from t2;
|
create table t1 select * from t2;
|
||||||
# A special case which is also caught during open tables pahse
|
# A special case which is also caught during open tables phase
|
||||||
--error ER_NO_SUCH_TABLE
|
--error ER_NO_SUCH_TABLE
|
||||||
create table t1 select * from t1;
|
create table t1 select * from t1;
|
||||||
# Error which happens before select_create::prepare()
|
# Error which happens before select_create::prepare()
|
||||||
@ -771,12 +771,12 @@ drop table t1;
|
|||||||
--error ER_CANT_AGGREGATE_2COLLATIONS
|
--error ER_CANT_AGGREGATE_2COLLATIONS
|
||||||
create table t1 select coalesce('a' collate latin1_swedish_ci,'b' collate latin1_bin);
|
create table t1 select coalesce('a' collate latin1_swedish_ci,'b' collate latin1_bin);
|
||||||
|
|
||||||
# Base vs temporary tables dillema (a.k.a. bug#24508 "Inconsistent
|
# Base vs temporary tables dilemma (a.k.a. bug#24508 "Inconsistent
|
||||||
# results of CREATE TABLE ... SELECT when temporary table exists").
|
# results of CREATE TABLE ... SELECT when temporary table exists").
|
||||||
# In this situation we either have to create non-temporary table and
|
# In this situation we either have to create non-temporary table and
|
||||||
# insert data in it or insert data in temporary table without creation of
|
# insert data in it or insert data in temporary table without creation of
|
||||||
# permanent table. After patch for Bug#47418, we create the base table and
|
# permanent table. After patch for Bug#47418, we create the base table and
|
||||||
# instert data into it, even though a temporary table exists with the same
|
# insert data into it, even though a temporary table exists with the same
|
||||||
# name.
|
# name.
|
||||||
--disable_view_protocol
|
--disable_view_protocol
|
||||||
create temporary table t1 (j int);
|
create temporary table t1 (j int);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Enable diisplaying rows affected
|
# Enable displaying rows affected
|
||||||
--enable_info
|
--enable_info
|
||||||
|
|
||||||
CREATE DATABASE IF NOT EXISTS db1;
|
CREATE DATABASE IF NOT EXISTS db1;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Problem with creating keys with maximum key-parts and maximum name length
|
# Problem with creating keys with maximum key-parts and maximum name length
|
||||||
# This test is made for a mysql server supporting names up to 64 bytes
|
# This test is made for a mysql server supporting names up to 64 bytes
|
||||||
# and a maximum of 16 key segements per Key
|
# and a maximum of 16 key segments per Key
|
||||||
#
|
#
|
||||||
|
|
||||||
create table t1 (
|
create table t1 (
|
||||||
|
@ -393,7 +393,7 @@ EXPLAIN
|
|||||||
#
|
#
|
||||||
# Check multiple equalities
|
# Check multiple equalities
|
||||||
#
|
#
|
||||||
# - ref acccess lookup keys do use equality substitution,
|
# - ref access lookup keys do use equality substitution,
|
||||||
# - concat() arguments don't
|
# - concat() arguments don't
|
||||||
explain format=json
|
explain format=json
|
||||||
select straight_join * from t10,t1 force index(mb3),t2
|
select straight_join * from t10,t1 force index(mb3),t2
|
||||||
|
@ -130,7 +130,7 @@ select * from t10, t2 where t2.mb4>t10.mb4 and t10.pk=3;
|
|||||||
--echo # Check multiple equalities
|
--echo # Check multiple equalities
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
--echo # - ref acccess lookup keys do use equality substitution,
|
--echo # - ref access lookup keys do use equality substitution,
|
||||||
--echo # - concat() arguments don't
|
--echo # - concat() arguments don't
|
||||||
#Enable after fix MDEV-32034
|
#Enable after fix MDEV-32034
|
||||||
--disable_view_protocol
|
--disable_view_protocol
|
||||||
|
@ -56,7 +56,7 @@ where t2.c=t.a;
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 4
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 4
|
||||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using where; Using join buffer (flat, BNL join)
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using where; Using join buffer (flat, BNL join)
|
||||||
# rename fields returned by the specication when defining t
|
# rename fields returned by the specification when defining t
|
||||||
with t(f1,f2) as (select * from t1 where b >= 'c')
|
with t(f1,f2) as (select * from t1 where b >= 'c')
|
||||||
select * from t2,t where t2.c=t.f1;
|
select * from t2,t where t2.c=t.f1;
|
||||||
c f1 f2
|
c f1 f2
|
||||||
@ -94,7 +94,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 4 Using where
|
1 PRIMARY t2 ALL NULL NULL NULL NULL 4 Using where
|
||||||
1 PRIMARY <derived2> ref key0 key0 5 test.t2.c 1
|
1 PRIMARY <derived2> ref key0 key0 5 test.t2.c 1
|
||||||
2 DERIVED t1 ALL NULL NULL NULL NULL 8 Using where; Using temporary; Using filesort
|
2 DERIVED t1 ALL NULL NULL NULL NULL 8 Using where; Using temporary; Using filesort
|
||||||
# specivication of t contains having
|
# specification of t contains having
|
||||||
with t as (select a, count(*) from t1 where b >= 'c'
|
with t as (select a, count(*) from t1 where b >= 'c'
|
||||||
group by a having count(*)=1 )
|
group by a having count(*)=1 )
|
||||||
select * from t2,t where t2.c=t.a;
|
select * from t2,t where t2.c=t.a;
|
||||||
|
@ -33,7 +33,7 @@ explain
|
|||||||
select * from t2, (select * from t1 where b >= 'c') as t
|
select * from t2, (select * from t1 where b >= 'c') as t
|
||||||
where t2.c=t.a;
|
where t2.c=t.a;
|
||||||
|
|
||||||
--echo # rename fields returned by the specication when defining t
|
--echo # rename fields returned by the specification when defining t
|
||||||
with t(f1,f2) as (select * from t1 where b >= 'c')
|
with t(f1,f2) as (select * from t1 where b >= 'c')
|
||||||
select * from t2,t where t2.c=t.f1;
|
select * from t2,t where t2.c=t.f1;
|
||||||
explain
|
explain
|
||||||
@ -52,7 +52,7 @@ explain
|
|||||||
select * from t2, (select a, count(*) from t1 where b >= 'c' group by a) as t
|
select * from t2, (select a, count(*) from t1 where b >= 'c' group by a) as t
|
||||||
where t2.c=t.a;
|
where t2.c=t.a;
|
||||||
|
|
||||||
--echo # specivication of t contains having
|
--echo # specification of t contains having
|
||||||
with t as (select a, count(*) from t1 where b >= 'c'
|
with t as (select a, count(*) from t1 where b >= 'c'
|
||||||
group by a having count(*)=1 )
|
group by a having count(*)=1 )
|
||||||
select * from t2,t where t2.c=t.a;
|
select * from t2,t where t2.c=t.a;
|
||||||
|
@ -3645,7 +3645,7 @@ select * from cte;
|
|||||||
# one non-recursive CTEs with name x uses table t1, the second CTE x is
|
# one non-recursive CTEs with name x uses table t1, the second CTE x is
|
||||||
# recursive and is in the scope of the first one, but does not use it;
|
# recursive and is in the scope of the first one, but does not use it;
|
||||||
# CTE cte uses only the second CTE with name x;
|
# CTE cte uses only the second CTE with name x;
|
||||||
# the query has two refeences to cte_e
|
# the query has two references to cte_e
|
||||||
# before fix of this bug: infinite sequence of recursive calls
|
# before fix of this bug: infinite sequence of recursive calls
|
||||||
|
|
||||||
with
|
with
|
||||||
@ -3678,7 +3678,7 @@ cte_e as
|
|||||||
select s1.*, s2.* from cte_e as s1, cte_e as s2;
|
select s1.*, s2.* from cte_e as s1, cte_e as s2;
|
||||||
|
|
||||||
|
|
||||||
# check : with base table x all queries abobe that returned error
|
# check : with base table x all queries above that returned error
|
||||||
# message ER_NO_SUCH_TABLE now return proper result sets
|
# message ER_NO_SUCH_TABLE now return proper result sets
|
||||||
|
|
||||||
with
|
with
|
||||||
|
@ -97,7 +97,7 @@ SET collation_connection='latin1_bin';
|
|||||||
# Bug#8041
|
# Bug#8041
|
||||||
# An unknown character (e.g. 0x84) should result in ERROR,
|
# An unknown character (e.g. 0x84) should result in ERROR,
|
||||||
# It was treated like a space character earlier.
|
# It was treated like a space character earlier.
|
||||||
# Howerver, it should still work fine as a string part.
|
# However, it should still work fine as a string part.
|
||||||
--error 1064
|
--error 1064
|
||||||
CREATE TABLE <20>a (a int);
|
CREATE TABLE <20>a (a int);
|
||||||
SELECT '<27>a' as str;
|
SELECT '<27>a' as str;
|
||||||
|
@ -117,7 +117,7 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test that we allow only well-formed UTF8 identitiers
|
# Test that we allow only well-formed UTF8 identifiers
|
||||||
#
|
#
|
||||||
SET NAMES binary;
|
SET NAMES binary;
|
||||||
--error 1300
|
--error 1300
|
||||||
@ -128,7 +128,7 @@ CREATE TABLE `good
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test that we produce a warnign when conversion loses data.
|
# Test that we produce a warning when conversion loses data.
|
||||||
#
|
#
|
||||||
set names latin1;
|
set names latin1;
|
||||||
create table t1 (a char(10) character set koi8r, b text character set koi8r);
|
create table t1 (a char(10) character set koi8r, b text character set koi8r);
|
||||||
@ -150,7 +150,7 @@ insert into t1 values (_koi8r'
|
|||||||
select * from t1 where a=_koi8r'<27><><EFBFBD><EFBFBD>';
|
select * from t1 where a=_koi8r'<27><><EFBFBD><EFBFBD>';
|
||||||
# this is possible, because we have a function with constant arguments:
|
# this is possible, because we have a function with constant arguments:
|
||||||
select * from t1 where a=concat(_koi8r'<27><><EFBFBD><EFBFBD>');
|
select * from t1 where a=concat(_koi8r'<27><><EFBFBD><EFBFBD>');
|
||||||
# this is not posible, cannot convert _latin1'<27><><EFBFBD><EFBFBD>' into cp1251:
|
# this is not possible, cannot convert _latin1'<27><><EFBFBD><EFBFBD>' into cp1251:
|
||||||
--error 1267
|
--error 1267
|
||||||
select * from t1 where a=_latin1'<27><><EFBFBD><EFBFBD>';
|
select * from t1 where a=_latin1'<27><><EFBFBD><EFBFBD>';
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -683,7 +683,7 @@ show create table t1;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Testing that maximim possible key length is 1000 bytes
|
# Testing that maximum possible key length is 1000 bytes
|
||||||
#
|
#
|
||||||
create table t1 (a varchar(250) character set utf16 primary key);
|
create table t1 (a varchar(250) character set utf16 primary key);
|
||||||
show create table t1;
|
show create table t1;
|
||||||
|
@ -1559,7 +1559,7 @@ t1 CREATE TABLE `t1` (
|
|||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# Testing that maximim possible key length is 1000 bytes
|
# Testing that maximum possible key length is 1000 bytes
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a VARCHAR(250) CHARACTER SET utf16le PRIMARY KEY);
|
CREATE TABLE t1 (a VARCHAR(250) CHARACTER SET utf16le PRIMARY KEY);
|
||||||
SHOW CREATE TABLE t1;
|
SHOW CREATE TABLE t1;
|
||||||
|
@ -648,7 +648,7 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Testing that maximim possible key length is 1000 bytes
|
--echo # Testing that maximum possible key length is 1000 bytes
|
||||||
--echo #
|
--echo #
|
||||||
CREATE TABLE t1 (a VARCHAR(250) CHARACTER SET utf16le PRIMARY KEY);
|
CREATE TABLE t1 (a VARCHAR(250) CHARACTER SET utf16le PRIMARY KEY);
|
||||||
SHOW CREATE TABLE t1;
|
SHOW CREATE TABLE t1;
|
||||||
|
@ -998,7 +998,7 @@ Wrong character with pad
|
|||||||
insert ignore into t1 values (0x110000);
|
insert ignore into t1 values (0x110000);
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1366 Incorrect string value: '\x11\x00\x00' for column `test`.`t1`.`utf32` at row 1
|
Warning 1366 Incorrect string value: '\x11\x00\x00' for column `test`.`t1`.`utf32` at row 1
|
||||||
Wrong chsaracter without pad
|
Wrong character without pad
|
||||||
insert ignore into t1 values (0x00110000);
|
insert ignore into t1 values (0x00110000);
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1366 Incorrect string value: '\x00\x11\x00\x00' for column `test`.`t1`.`utf32` at row 1
|
Warning 1366 Incorrect string value: '\x00\x11\x00\x00' for column `test`.`t1`.`utf32` at row 1
|
||||||
|
@ -600,7 +600,7 @@ drop table t1;
|
|||||||
create table t1 (utf32 varchar(2) character set utf32);
|
create table t1 (utf32 varchar(2) character set utf32);
|
||||||
--echo Wrong character with pad
|
--echo Wrong character with pad
|
||||||
insert ignore into t1 values (0x110000);
|
insert ignore into t1 values (0x110000);
|
||||||
--echo Wrong chsaracter without pad
|
--echo Wrong character without pad
|
||||||
insert ignore into t1 values (0x00110000);
|
insert ignore into t1 values (0x00110000);
|
||||||
--echo Wrong character with pad followed by another wrong character
|
--echo Wrong character with pad followed by another wrong character
|
||||||
insert ignore into t1 values (0x11000000110000);
|
insert ignore into t1 values (0x11000000110000);
|
||||||
@ -724,7 +724,7 @@ show create table t1;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Testing that maximim possible key length is 1332 bytes
|
# Testing that maximum possible key length is 1332 bytes
|
||||||
#
|
#
|
||||||
create table t1 (a varchar(250) character set utf32 primary key);
|
create table t1 (a varchar(250) character set utf32 primary key);
|
||||||
show create table t1;
|
show create table t1;
|
||||||
|
@ -2003,7 +2003,7 @@ DROP PROCEDURE p1;
|
|||||||
SET @@SQL_MODE=default;
|
SET @@SQL_MODE=default;
|
||||||
|
|
||||||
|
|
||||||
# TODO: Uncomment the below test whe we fix:
|
# TODO: Uncomment the below test when we fix it:
|
||||||
# MDEV-9623INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION does not handle binary literals well
|
# MDEV-9623INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION does not handle binary literals well
|
||||||
#
|
#
|
||||||
#SET NAMES binary;
|
#SET NAMES binary;
|
||||||
|
@ -478,7 +478,7 @@ select val, id, c from (select f1(sal) as c from t2) as t1, t2;
|
|||||||
--sorted_result
|
--sorted_result
|
||||||
select f1(sal),f1(val), f1(id), f1(sal) from t2;
|
select f1(sal),f1(val), f1(id), f1(sal) from t2;
|
||||||
|
|
||||||
#string type, also more than one areguments
|
#string type, also more than one argument
|
||||||
--sorted_result
|
--sorted_result
|
||||||
select f4(sal, val) from t1;
|
select f4(sal, val) from t1;
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
show status like "%custom_aggregate%";
|
show status like "%custom_aggregate%";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Feature_custom_aggregate_functions 5
|
Feature_custom_aggregate_functions 5
|
||||||
custom aggregates inside other customm aggregates
|
custom aggregates inside other custom aggregates
|
||||||
explain
|
explain
|
||||||
select f2(sal) from t1;
|
select f2(sal) from t1;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
@ -61,7 +61,7 @@ explain
|
|||||||
select (select f1(sal) as a from t3 where t3.id= t1.id ) from t1 ;
|
select (select f1(sal) as a from t3 where t3.id= t1.id ) from t1 ;
|
||||||
show status like "%custom_aggregate%";
|
show status like "%custom_aggregate%";
|
||||||
|
|
||||||
--echo custom aggregates inside other customm aggregates
|
--echo custom aggregates inside other custom aggregates
|
||||||
|
|
||||||
explain
|
explain
|
||||||
select f2(sal) from t1;
|
select f2(sal) from t1;
|
||||||
|
@ -437,7 +437,7 @@ ERROR 01000: Expression for field `a` is referring to uninitialized field `b`
|
|||||||
show create table t1;
|
show create table t1;
|
||||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||||
#
|
#
|
||||||
# Refering to other columns
|
# Referring to other columns
|
||||||
#
|
#
|
||||||
create or replace table t1 (a int default 1, b int default a);
|
create or replace table t1 (a int default 1, b int default a);
|
||||||
create or replace table t1 (a int default 1, b int as (a));
|
create or replace table t1 (a int default 1, b int as (a));
|
||||||
@ -3219,7 +3219,7 @@ a b
|
|||||||
6 7
|
6 7
|
||||||
drop table t1;
|
drop table t1;
|
||||||
#
|
#
|
||||||
# DEVAULT & PS adoption
|
# DEFAULT & PS adoption
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a INT DEFAULT 10, b INT DEFAULT NULL);
|
CREATE TABLE t1 (a INT DEFAULT 10, b INT DEFAULT NULL);
|
||||||
EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (?,?)' USING IGNORE, IGNORE;
|
EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (?,?)' USING IGNORE, IGNORE;
|
||||||
|
@ -320,7 +320,7 @@ create or replace table t1 (a int default b, b int default a);
|
|||||||
show create table t1;
|
show create table t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Refering to other columns
|
--echo # Referring to other columns
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
create or replace table t1 (a int default 1, b int default a);
|
create or replace table t1 (a int default 1, b int default a);
|
||||||
@ -1923,7 +1923,7 @@ INSERT INTO t2 VALUES (1),(2),(3),(2);
|
|||||||
INSERT INTO t1 SELECT a FROM t2 ON DUPLICATE KEY UPDATE a=DEFAULT;
|
INSERT INTO t1 SELECT a FROM t2 ON DUPLICATE KEY UPDATE a=DEFAULT;
|
||||||
SELECT * FROM t1 order by a;
|
SELECT * FROM t1 order by a;
|
||||||
truncate table t1;
|
truncate table t1;
|
||||||
# efectively it is DEFALT
|
# effectively it is DEFAULT
|
||||||
INSERT INTO t1 SELECT a FROM t2 ON DUPLICATE KEY UPDATE a=IGNORE;
|
INSERT INTO t1 SELECT a FROM t2 ON DUPLICATE KEY UPDATE a=IGNORE;
|
||||||
SELECT * FROM t1 order by a;
|
SELECT * FROM t1 order by a;
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
@ -1949,7 +1949,7 @@ select * from t1 order by a;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # DEVAULT & PS adoption
|
--echo # DEFAULT & PS adoption
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
|
|
||||||
|
@ -697,7 +697,7 @@ DELETE t2.* FROM t2 use index(xid) ORDER BY (id) DESC LIMIT 3;
|
|||||||
select * from t2;
|
select * from t2;
|
||||||
id
|
id
|
||||||
3
|
3
|
||||||
# Check some useles syntax
|
# Check some useless syntax
|
||||||
DELETE t2.* FROM t2 FORCE INDEX FOR GROUP BY (xid) ORDER BY (id) LIMIT 1;
|
DELETE t2.* FROM t2 FORCE INDEX FOR GROUP BY (xid) ORDER BY (id) LIMIT 1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
# Check that hints work with limit
|
# Check that hints work with limit
|
||||||
@ -770,7 +770,7 @@ explain
|
|||||||
DELETE FROM t2 ignore index(primary) ORDER BY (id) LIMIT 2;
|
DELETE FROM t2 ignore index(primary) ORDER BY (id) LIMIT 2;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t2 index NULL xid 4 NULL 2
|
1 SIMPLE t2 index NULL xid 4 NULL 2
|
||||||
# should issue warnings becaouse we can not switch it internally
|
# should issue warnings because we can not switch it internally
|
||||||
# to multiupdate due to RETURNING
|
# to multiupdate due to RETURNING
|
||||||
DELETE FROM t2 ignore index(primary) ORDER BY (id) LIMIT 2 RETURNING id;
|
DELETE FROM t2 ignore index(primary) ORDER BY (id) LIMIT 2 RETURNING id;
|
||||||
id
|
id
|
||||||
|
@ -758,7 +758,7 @@ DELETE t2.* FROM t2 use index(xid) ORDER BY (id) LIMIT 2;
|
|||||||
select * from t2 ORDER BY (id);
|
select * from t2 ORDER BY (id);
|
||||||
DELETE t2.* FROM t2 use index(xid) ORDER BY (id) DESC LIMIT 3;
|
DELETE t2.* FROM t2 use index(xid) ORDER BY (id) DESC LIMIT 3;
|
||||||
select * from t2;
|
select * from t2;
|
||||||
--echo # Check some useles syntax
|
--echo # Check some useless syntax
|
||||||
DELETE t2.* FROM t2 FORCE INDEX FOR GROUP BY (xid) ORDER BY (id) LIMIT 1;
|
DELETE t2.* FROM t2 FORCE INDEX FOR GROUP BY (xid) ORDER BY (id) LIMIT 1;
|
||||||
|
|
||||||
drop table t2;
|
drop table t2;
|
||||||
@ -819,7 +819,7 @@ DELETE FROM t2 force index(xid) ORDER BY (id) LIMIT 2;
|
|||||||
explain
|
explain
|
||||||
DELETE FROM t2 ignore index(primary) ORDER BY (id) LIMIT 2;
|
DELETE FROM t2 ignore index(primary) ORDER BY (id) LIMIT 2;
|
||||||
|
|
||||||
--echo # should issue warnings becaouse we can not switch it internally
|
--echo # should issue warnings because we can not switch it internally
|
||||||
--echo # to multiupdate due to RETURNING
|
--echo # to multiupdate due to RETURNING
|
||||||
DELETE FROM t2 ignore index(primary) ORDER BY (id) LIMIT 2 RETURNING id;
|
DELETE FROM t2 ignore index(primary) ORDER BY (id) LIMIT 2 RETURNING id;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Table Op Msg_type Msg_text
|
|||||||
test.t1 analyze status Engine-independent statistics collected
|
test.t1 analyze status Engine-independent statistics collected
|
||||||
test.t1 analyze status OK
|
test.t1 analyze status OK
|
||||||
#
|
#
|
||||||
# Delete with limit (quick select - range acces)
|
# Delete with limit (quick select - range access)
|
||||||
#
|
#
|
||||||
start transaction;
|
start transaction;
|
||||||
delete from t1 where (select count(*) from t1 b where b.c1=t1.c1) = 500 limit 1;
|
delete from t1 where (select count(*) from t1 b where b.c1=t1.c1) = 500 limit 1;
|
||||||
|
@ -13,7 +13,7 @@ insert t1 select 3,seq from seq_1_to_20;
|
|||||||
analyze table t1;
|
analyze table t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Delete with limit (quick select - range acces)
|
--echo # Delete with limit (quick select - range access)
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
--disable_view_protocol
|
--disable_view_protocol
|
||||||
|
@ -552,7 +552,7 @@ eval $tvc_conversion_threshold EXPLAIN $query;
|
|||||||
let $no_split_materialized_loosescan=
|
let $no_split_materialized_loosescan=
|
||||||
set statement optimizer_switch='split_materialized=off, loosescan=off' for;
|
set statement optimizer_switch='split_materialized=off, loosescan=off' for;
|
||||||
|
|
||||||
# Correct result with split materializied optimization disabled
|
# Correct result with split materialized optimization disabled
|
||||||
eval $no_split_materialized_loosescan
|
eval $no_split_materialized_loosescan
|
||||||
$tvc_conversion_threshold
|
$tvc_conversion_threshold
|
||||||
$query;
|
$query;
|
||||||
|
@ -587,7 +587,7 @@ DROP TABLE t1;
|
|||||||
SET @old_max_heap_table_size = @@max_heap_table_size;
|
SET @old_max_heap_table_size = @@max_heap_table_size;
|
||||||
SET @@max_heap_table_size = 16384;
|
SET @@max_heap_table_size = 16384;
|
||||||
|
|
||||||
# Set sort_buffer_size to the mininum value so that remove_duplicates() calls
|
# Set sort_buffer_size to the minimum value so that remove_duplicates() calls
|
||||||
# remove_dup_with_compare()
|
# remove_dup_with_compare()
|
||||||
SET @old_sort_buffer_size = @@sort_buffer_size;
|
SET @old_sort_buffer_size = @@sort_buffer_size;
|
||||||
SET @@sort_buffer_size = 32804;
|
SET @@sort_buffer_size = 32804;
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
--source include/have_archive.inc
|
--source include/have_archive.inc
|
||||||
#
|
#
|
||||||
# This test is based on the orginal test from Tencent for DROP TABLE ... FORCE
|
# This test is based on the original test from Tencent for DROP TABLE ... FORCE
|
||||||
# In MariaDB we did reuse the code but MariaDB does not require the FORCE
|
# In MariaDB we did reuse the code but MariaDB does not require the FORCE
|
||||||
# keyword to drop a table even if the .frm file or some engine files are
|
# keyword to drop a table even if the .frm file or some engine files are
|
||||||
# missing.
|
# missing.
|
||||||
# To make it easy to see the differences between the orginal code and
|
# To make it easy to see the differences between the original code and
|
||||||
# the new one, we have left some references to the original test case
|
# the new one, we have left some references to the original test case
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ source include/not_embedded.inc;
|
|||||||
#
|
#
|
||||||
# MDEV-3909 remote user enumeration
|
# MDEV-3909 remote user enumeration
|
||||||
#
|
#
|
||||||
# verify that for some failed login attemps (with wrong user names)
|
# verify that for some failed login attempts (with wrong user names)
|
||||||
# the server requests a plugin
|
# the server requests a plugin
|
||||||
#
|
#
|
||||||
create user foo identified via mysql_old_password;
|
create user foo identified via mysql_old_password;
|
||||||
|
@ -103,7 +103,7 @@ drop table t1, t2, t3;
|
|||||||
#
|
#
|
||||||
# Test of deadlock problem when doing FLUSH TABLE with read lock
|
# Test of deadlock problem when doing FLUSH TABLE with read lock
|
||||||
# (Bug was in NTPL threads in Linux when using different mutex while
|
# (Bug was in NTPL threads in Linux when using different mutex while
|
||||||
# waiting for a condtion variable)
|
# waiting for a condition variable)
|
||||||
|
|
||||||
create table t1 (c1 int);
|
create table t1 (c1 int);
|
||||||
create table t2 (c1 int);
|
create table t2 (c1 int);
|
||||||
|
@ -23,8 +23,8 @@ set local sql_mode="";
|
|||||||
# ALTER TABLE, ANALYZE, OPTIMIZE and some others always
|
# ALTER TABLE, ANALYZE, OPTIMIZE and some others always
|
||||||
# issue an implicit commit, even if its argument is a
|
# issue an implicit commit, even if its argument is a
|
||||||
# temporary table.
|
# temporary table.
|
||||||
# *Howewer* an implicit commit is a no-op if all engines
|
# *However* an implicit commit is a no-op if all engines
|
||||||
# used since the start of transactiona are non-
|
# used since the start of transaction are non-
|
||||||
# transactional. Thus, for non-transactional engines,
|
# transactional. Thus, for non-transactional engines,
|
||||||
# these operations are not blocked by FTWRL.
|
# these operations are not blocked by FTWRL.
|
||||||
# This is class #3 -- compatible because do not take
|
# This is class #3 -- compatible because do not take
|
||||||
@ -1463,7 +1463,7 @@ set debug_sync= "RESET";
|
|||||||
# such changes are considered read only [sic!/QQ] this commit
|
# such changes are considered read only [sic!/QQ] this commit
|
||||||
# is compatible with FTWRL.
|
# is compatible with FTWRL.
|
||||||
#
|
#
|
||||||
# Let us demostrate this fact for some common DML statements.
|
# Let us demonstrate this fact for some common DML statements.
|
||||||
Success: Was able to run 'delete from t3_temp_trans' under FTWRL.
|
Success: Was able to run 'delete from t3_temp_trans' under FTWRL.
|
||||||
Success: Was able to run 'delete from t3_temp_trans' with FTWRL active in another connection.
|
Success: Was able to run 'delete from t3_temp_trans' with FTWRL active in another connection.
|
||||||
Success: Was able to run FTWRL while 'delete from t3_temp_trans' was active in another connection.
|
Success: Was able to run FTWRL while 'delete from t3_temp_trans' was active in another connection.
|
||||||
@ -1654,7 +1654,7 @@ set debug_sync= "RESET";
|
|||||||
delete from t1_base;
|
delete from t1_base;
|
||||||
delete from t2_base;
|
delete from t2_base;
|
||||||
|
|
||||||
# Check that COMMIT thas is issued after
|
# Check that COMMIT that is issued after
|
||||||
# FLUSH TABLES WITH READ LOCK is not blocked by
|
# FLUSH TABLES WITH READ LOCK is not blocked by
|
||||||
# FLUSH TABLES WITH READ LOCK from another connection.
|
# FLUSH TABLES WITH READ LOCK from another connection.
|
||||||
# This scenario is used in innobackup.pl. The COMMIT goes
|
# This scenario is used in innobackup.pl. The COMMIT goes
|
||||||
|
@ -38,8 +38,8 @@ set local sql_mode="";
|
|||||||
--echo # ALTER TABLE, ANALYZE, OPTIMIZE and some others always
|
--echo # ALTER TABLE, ANALYZE, OPTIMIZE and some others always
|
||||||
--echo # issue an implicit commit, even if its argument is a
|
--echo # issue an implicit commit, even if its argument is a
|
||||||
--echo # temporary table.
|
--echo # temporary table.
|
||||||
--echo # *Howewer* an implicit commit is a no-op if all engines
|
--echo # *However* an implicit commit is a no-op if all engines
|
||||||
--echo # used since the start of transactiona are non-
|
--echo # used since the start of transaction are non-
|
||||||
--echo # transactional. Thus, for non-transactional engines,
|
--echo # transactional. Thus, for non-transactional engines,
|
||||||
--echo # these operations are not blocked by FTWRL.
|
--echo # these operations are not blocked by FTWRL.
|
||||||
--echo # This is class #3 -- compatible because do not take
|
--echo # This is class #3 -- compatible because do not take
|
||||||
@ -1802,7 +1802,7 @@ set debug_sync= "RESET";
|
|||||||
--echo # such changes are considered read only [sic!/QQ] this commit
|
--echo # such changes are considered read only [sic!/QQ] this commit
|
||||||
--echo # is compatible with FTWRL.
|
--echo # is compatible with FTWRL.
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Let us demostrate this fact for some common DML statements.
|
--echo # Let us demonstrate this fact for some common DML statements.
|
||||||
let $statement= delete from t3_temp_trans;
|
let $statement= delete from t3_temp_trans;
|
||||||
let $cleanup_stmt= ;
|
let $cleanup_stmt= ;
|
||||||
--source include/check_ftwrl_compatible.inc
|
--source include/check_ftwrl_compatible.inc
|
||||||
@ -2031,7 +2031,7 @@ delete from t1_base;
|
|||||||
delete from t2_base;
|
delete from t2_base;
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
--echo # Check that COMMIT thas is issued after
|
--echo # Check that COMMIT that is issued after
|
||||||
--echo # FLUSH TABLES WITH READ LOCK is not blocked by
|
--echo # FLUSH TABLES WITH READ LOCK is not blocked by
|
||||||
--echo # FLUSH TABLES WITH READ LOCK from another connection.
|
--echo # FLUSH TABLES WITH READ LOCK from another connection.
|
||||||
--echo # This scenario is used in innobackup.pl. The COMMIT goes
|
--echo # This scenario is used in innobackup.pl. The COMMIT goes
|
||||||
|
@ -55,7 +55,7 @@ SELECT VARIABLE_NAME NAME, VARIABLE_VALUE VALUE FROM INFORMATION_SCHEMA.GLOBAL_S
|
|||||||
--echo # Cleanup
|
--echo # Cleanup
|
||||||
remove_file $ssl_cert;
|
remove_file $ssl_cert;
|
||||||
remove_file $ssl_key;
|
remove_file $ssl_key;
|
||||||
# restart with usuall SSL
|
# restart with usual SSL
|
||||||
let $restart_parameters=;
|
let $restart_parameters=;
|
||||||
--source include/kill_mysqld.inc
|
--source include/kill_mysqld.inc
|
||||||
--source include/start_mysqld.inc
|
--source include/start_mysqld.inc
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Test output from des_encrypt and des_decrypt when server is
|
# Test output from des_encrypt and des_decrypt when server is
|
||||||
# compiled without openssl suuport
|
# compiled without openssl support
|
||||||
#
|
#
|
||||||
select des_encrypt("test", 'akeystr');
|
select des_encrypt("test", 'akeystr');
|
||||||
select des_encrypt("test", 1);
|
select des_encrypt("test", 1);
|
||||||
|
@ -1516,7 +1516,7 @@ ORDER BY max;
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
|
||||||
|
|
||||||
# Only 11 is correct for collumn i in this result
|
# Only 11 is correct for column i in this result
|
||||||
SELECT MAX(pk) as max, i
|
SELECT MAX(pk) as max, i
|
||||||
FROM t1
|
FROM t1
|
||||||
WHERE pk<2
|
WHERE pk<2
|
||||||
|
@ -435,7 +435,7 @@ drop table t1;
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# cleunup() of optimized away count(*) and max/min
|
# cleanup() of optimized away count(*) and max/min
|
||||||
#
|
#
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1),(2);
|
insert into t1 values (1),(2);
|
||||||
@ -1055,7 +1055,7 @@ FROM t1
|
|||||||
ORDER BY max;
|
ORDER BY max;
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
--echo # Only 11 is correct for collumn i in this result
|
--echo # Only 11 is correct for column i in this result
|
||||||
SELECT MAX(pk) as max, i
|
SELECT MAX(pk) as max, i
|
||||||
FROM t1
|
FROM t1
|
||||||
WHERE pk<2
|
WHERE pk<2
|
||||||
|
@ -4245,7 +4245,7 @@ ERROR HY000: Illegal parameter data types bigint unsigned and row for operation
|
|||||||
SELECT (b+b)=ROW(1,1) FROM t1;
|
SELECT (b+b)=ROW(1,1) FROM t1;
|
||||||
ERROR HY000: Illegal parameter data types bigint and row for operation '='
|
ERROR HY000: Illegal parameter data types bigint and row for operation '='
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
# Opetator + for different types integer types, with the UNSIGNED flag
|
# Operator + for different types integer types, with the UNSIGNED flag
|
||||||
CREATE TABLE t1 (a1 TINYINT UNSIGNED, a2 SMALLINT UNSIGNED);
|
CREATE TABLE t1 (a1 TINYINT UNSIGNED, a2 SMALLINT UNSIGNED);
|
||||||
SELECT (a1+a2)=ROW(1,1) FROM t1;
|
SELECT (a1+a2)=ROW(1,1) FROM t1;
|
||||||
ERROR HY000: Illegal parameter data types int unsigned and row for operation '='
|
ERROR HY000: Illegal parameter data types int unsigned and row for operation '='
|
||||||
|
@ -1023,7 +1023,7 @@ SELECT (b+b)=ROW(1,1) FROM t1;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
--echo # Opetator + for different types integer types, with the UNSIGNED flag
|
--echo # Operator + for different types integer types, with the UNSIGNED flag
|
||||||
|
|
||||||
CREATE TABLE t1 (a1 TINYINT UNSIGNED, a2 SMALLINT UNSIGNED);
|
CREATE TABLE t1 (a1 TINYINT UNSIGNED, a2 SMALLINT UNSIGNED);
|
||||||
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
|
@ -3987,7 +3987,7 @@ JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":20, "S_":
|
|||||||
SELECT JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":[1,2,3], "S_":[1,2,3], "some_prop1":[1,2,3]}');
|
SELECT JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":[1,2,3], "S_":[1,2,3], "some_prop1":[1,2,3]}');
|
||||||
JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":[1,2,3], "S_":[1,2,3], "some_prop1":[1,2,3]}')
|
JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":[1,2,3], "S_":[1,2,3], "some_prop1":[1,2,3]}')
|
||||||
1
|
1
|
||||||
# Remvoing additionalProperties to check that validation falls back on unevaluatedProperties
|
# Removing additionalProperties to check that validation falls back on unevaluatedProperties
|
||||||
SET @object_schema= '{
|
SET @object_schema= '{
|
||||||
"type":"object",
|
"type":"object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -3053,7 +3053,7 @@ SET @object_schema= '{
|
|||||||
SELECT JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":20, "S_":"abc", "some_prop1":[1,2,3]}');
|
SELECT JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":20, "S_":"abc", "some_prop1":[1,2,3]}');
|
||||||
SELECT JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":[1,2,3], "S_":[1,2,3], "some_prop1":[1,2,3]}');
|
SELECT JSON_SCHEMA_VALID(@object_schema, '{"key1":"val1", "key2": 10, "I_int":[1,2,3], "S_":[1,2,3], "some_prop1":[1,2,3]}');
|
||||||
|
|
||||||
--echo # Remvoing additionalProperties to check that validation falls back on unevaluatedProperties
|
--echo # Removing additionalProperties to check that validation falls back on unevaluatedProperties
|
||||||
|
|
||||||
SET @object_schema= '{
|
SET @object_schema= '{
|
||||||
"type":"object",
|
"type":"object",
|
||||||
|
@ -846,7 +846,7 @@ Warning 1139 Regex error 'UTF-8 error: 1 byte missing at end'
|
|||||||
0xE001 REGEXP CAST(@regCheck AS CHAR)
|
0xE001 REGEXP CAST(@regCheck AS CHAR)
|
||||||
0
|
0
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1139 Regex error 'UTF-8 error: 1 byte missing at end'
|
Warning 1139 Regex error 'UTF-8 error: 1 byte missing at end'
|
||||||
# Since 11.5 (MDEV-25829) user variables have DERIVATION_COERCIBLE
|
# Since 11.5 (MDEV-25829) user variables have DERIVATION_COERCIBLE
|
||||||
# so a user variable and a literal in the pattern gave equal results
|
# so a user variable and a literal in the pattern gave equal results
|
||||||
# But since 11.6 (MDEV-35041) user variables have DERIVATION_USERVAR
|
# But since 11.6 (MDEV-35041) user variables have DERIVATION_USERVAR
|
||||||
@ -870,7 +870,7 @@ SET @regCheck= _binary '\\xE0\\x01';
|
|||||||
1
|
1
|
||||||
# Testing workaround N2: This also makes the pattern to be a binary string, using a different syntax:
|
# Testing workaround N2: This also makes the pattern to be a binary string, using a different syntax:
|
||||||
SET NAMES latin1;
|
SET NAMES latin1;
|
||||||
SET @regCheck= _binary '\\xE0\\x01';
|
SET @regCheck= _binary '\\xE0\\x01';
|
||||||
SELECT 0xE001 REGEXP @regCheck;
|
SELECT 0xE001 REGEXP @regCheck;
|
||||||
0xE001 REGEXP @regCheck
|
0xE001 REGEXP @regCheck
|
||||||
1
|
1
|
||||||
|
@ -196,7 +196,7 @@ SELECT REGEXP_REPLACE('a5b ab a5b','(?<=a)5*(?=b)','x');
|
|||||||
SELECT REGEXP_REPLACE('a5b a5b a5b','(?<=a)5*(?=b)','x');
|
SELECT REGEXP_REPLACE('a5b a5b a5b','(?<=a)5*(?=b)','x');
|
||||||
|
|
||||||
|
|
||||||
# Check that case sensitiviry respects the collation
|
# Check that case sensitivity respects the collation
|
||||||
SELECT REGEXP_REPLACE('A','a','b');
|
SELECT REGEXP_REPLACE('A','a','b');
|
||||||
SELECT REGEXP_REPLACE('a','A','b');
|
SELECT REGEXP_REPLACE('a','A','b');
|
||||||
SELECT REGEXP_REPLACE('A' COLLATE utf8_bin,'a','b');
|
SELECT REGEXP_REPLACE('A' COLLATE utf8_bin,'a','b');
|
||||||
@ -423,7 +423,7 @@ SELECT 0xE001 REGEXP CAST(@regCheck AS CHAR);
|
|||||||
--echo # Since 11.5 (MDEV-25829) user variables have DERIVATION_COERCIBLE
|
--echo # Since 11.5 (MDEV-25829) user variables have DERIVATION_COERCIBLE
|
||||||
--echo # so a user variable and a literal in the pattern gave equal results
|
--echo # so a user variable and a literal in the pattern gave equal results
|
||||||
--echo # But since 11.6 (MDEV-35041) user variables have DERIVATION_USERVAR
|
--echo # But since 11.6 (MDEV-35041) user variables have DERIVATION_USERVAR
|
||||||
--echo # so the query with a literal is performece as binary:
|
--echo # so the query with a literal is performed as binary:
|
||||||
SELECT 0xE001 REGEXP '\\xE0\\x01' AS c1;
|
SELECT 0xE001 REGEXP '\\xE0\\x01' AS c1;
|
||||||
|
|
||||||
--echo # while the query with a user variable is performed as string
|
--echo # while the query with a user variable is performed as string
|
||||||
@ -441,7 +441,7 @@ SET NAMES latin1;
|
|||||||
SET @regCheck= _binary '\\xE0\\x01';
|
SET @regCheck= _binary '\\xE0\\x01';
|
||||||
SELECT 0xE001 REGEXP @regCheck;
|
SELECT 0xE001 REGEXP @regCheck;
|
||||||
|
|
||||||
--echo # Testing workarond N3: This makes derivation of the subject string stronger (IMLICIT instead of COERCIBLE)
|
--echo # Testing workaround N3: This makes derivation of the subject string stronger (IMLICIT instead of COERCIBLE)
|
||||||
SET NAMES latin1;
|
SET NAMES latin1;
|
||||||
SET @regCheck= '\\xE0\\x01';
|
SET @regCheck= '\\xE0\\x01';
|
||||||
SELECT CAST(0xE001 AS BINARY) REGEXP @regCheck;
|
SELECT CAST(0xE001 AS BINARY) REGEXP @regCheck;
|
||||||
|
@ -95,7 +95,7 @@ SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),r
|
|||||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||||
select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
|
select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
|
||||||
--disable_view_protocol
|
--disable_view_protocol
|
||||||
#chaeck after fix MDEV-31540
|
#check after fix MDEV-31540
|
||||||
--disable_cursor_protocol
|
--disable_cursor_protocol
|
||||||
--enable_metadata
|
--enable_metadata
|
||||||
select replace('aaaa','a','bbbb');
|
select replace('aaaa','a','bbbb');
|
||||||
@ -463,7 +463,7 @@ select charset(a), collation(a), coercibility(a) from t1;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
select charset(null), collation(null), coercibility(null);
|
select charset(null), collation(null), coercibility(null);
|
||||||
#
|
#
|
||||||
# Make sure OUTER JOIN is not replaced with a regular joun
|
# Make sure OUTER JOIN is not replaced with a regular join
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a int, b int);
|
CREATE TABLE t1 (a int, b int);
|
||||||
CREATE TABLE t2 (a int, b int);
|
CREATE TABLE t2 (a int, b int);
|
||||||
@ -490,7 +490,7 @@ select SUBSTR('abcdefg',1,-1) FROM DUAL;
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Test that fix_fields doesn't follow to upper level (to comparison)
|
# Test that fix_fields doesn't follow to upper level (to comparison)
|
||||||
# when an error on a lower level (in concat) has accured:
|
# when an error on a lower level (in concat) has occured:
|
||||||
#
|
#
|
||||||
create table t7 (s1 char);
|
create table t7 (s1 char);
|
||||||
--error 1267
|
--error 1267
|
||||||
@ -1627,7 +1627,7 @@ SELECT format(12345678901234567890.123, 3, 'en_US');
|
|||||||
--enable_cursor_protocol
|
--enable_cursor_protocol
|
||||||
SELECT format(12345678901234567890.123, 3, 'it_CH');
|
SELECT format(12345678901234567890.123, 3, 'it_CH');
|
||||||
SELECT format(12345678901234567890.123, 3, 'ru_RU');
|
SELECT format(12345678901234567890.123, 3, 'ru_RU');
|
||||||
#checkafter fix MDEV-31512
|
#check after fix MDEV-31512
|
||||||
--disable_cursor_protocol
|
--disable_cursor_protocol
|
||||||
SELECT format(12345678901234567890.123, 3, 'ta_IN');
|
SELECT format(12345678901234567890.123, 3, 'ta_IN');
|
||||||
--enable_cursor_protocol
|
--enable_cursor_protocol
|
||||||
|
@ -6031,7 +6031,7 @@ SELECT
|
|||||||
ADDTIME(TIME'-838:59:59.9999999', '87649416:59:59') AS c7;
|
ADDTIME(TIME'-838:59:59.9999999', '87649416:59:59') AS c7;
|
||||||
c7 NULL
|
c7 NULL
|
||||||
# HOUR is max_useful_hour() (inside INTERVAL DAY TO SECOND range)
|
# HOUR is max_useful_hour() (inside INTERVAL DAY TO SECOND range)
|
||||||
# Expect max TIME(0) + zero fraction + TIME warnings + no INTEVAL warnings
|
# Expect max TIME(0) + zero fraction + TIME warnings + no INTERVAL warnings
|
||||||
SELECT
|
SELECT
|
||||||
ADDTIME(TIME'00:00:00', 876494155959) AS ci,
|
ADDTIME(TIME'00:00:00', 876494155959) AS ci,
|
||||||
ADDTIME(TIME'00:00:00', 876494155959)+0 AS c0,
|
ADDTIME(TIME'00:00:00', 876494155959)+0 AS c0,
|
||||||
|
@ -301,7 +301,7 @@ select unix_timestamp('2038-01-17 12:00:00');
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Check positive shift. (it happens only on
|
# Check positive shift. (it happens only on
|
||||||
# platfroms with unsigned time_t, such as QNX)
|
# platforms with unsigned time_t, such as QNX)
|
||||||
#
|
#
|
||||||
select unix_timestamp('1970-01-01 03:00:01');
|
select unix_timestamp('1970-01-01 03:00:01');
|
||||||
|
|
||||||
@ -3078,7 +3078,7 @@ SELECT
|
|||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
--echo # HOUR is max_useful_hour() (inside INTERVAL DAY TO SECOND range)
|
--echo # HOUR is max_useful_hour() (inside INTERVAL DAY TO SECOND range)
|
||||||
--echo # Expect max TIME(0) + zero fraction + TIME warnings + no INTEVAL warnings
|
--echo # Expect max TIME(0) + zero fraction + TIME warnings + no INTERVAL warnings
|
||||||
SELECT
|
SELECT
|
||||||
ADDTIME(TIME'00:00:00', 876494155959) AS ci,
|
ADDTIME(TIME'00:00:00', 876494155959) AS ci,
|
||||||
ADDTIME(TIME'00:00:00', 876494155959)+0 AS c0,
|
ADDTIME(TIME'00:00:00', 876494155959)+0 AS c0,
|
||||||
|
@ -777,7 +777,7 @@ SET @a=POLYFROMWKB(@a);
|
|||||||
#
|
#
|
||||||
|
|
||||||
#The SELECT statement cannot contain a subquery in the FROM clause
|
#The SELECT statement cannot contain a subquery in the FROM clause
|
||||||
#fore --view-protocol
|
#for --view-protocol
|
||||||
--disable_view_protocol
|
--disable_view_protocol
|
||||||
create table t1(a geometry NOT NULL)engine=myisam;
|
create table t1(a geometry NOT NULL)engine=myisam;
|
||||||
insert into t1 values (geomfromtext("point(0 1)"));
|
insert into t1 values (geomfromtext("point(0 1)"));
|
||||||
|
@ -87,7 +87,7 @@ flush privileges;
|
|||||||
show grants for mysqltest_1@localhost;
|
show grants for mysqltest_1@localhost;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test what happens when you have same table and colum level grants
|
# Test what happens when you have same table and column level grants
|
||||||
#
|
#
|
||||||
|
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
@ -1531,7 +1531,7 @@ create table t4 (i INT);
|
|||||||
connection default;
|
connection default;
|
||||||
grant select, insert on mysqltest.t2 to mysqltest@localhost;
|
grant select, insert on mysqltest.t2 to mysqltest@localhost;
|
||||||
grant insert on mysqltest.t4 to mysqltest@localhost;
|
grant insert on mysqltest.t4 to mysqltest@localhost;
|
||||||
# to specify ACLs for non-existent objects, must explictly |CREATE
|
# to specify ACLs for non-existent objects, must explicitly |CREATE
|
||||||
grant create, insert on mysqltest.t5 to mysqltest@localhost;
|
grant create, insert on mysqltest.t5 to mysqltest@localhost;
|
||||||
grant create, insert on mysqltest.t6 to mysqltest@localhost;
|
grant create, insert on mysqltest.t6 to mysqltest@localhost;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -8,11 +8,11 @@
|
|||||||
#
|
#
|
||||||
# Step1: GRANT ALL privileges for a new user 'user1' and then REVOKE
|
# Step1: GRANT ALL privileges for a new user 'user1' and then REVOKE
|
||||||
# SLAVE MONITOR privileges.
|
# SLAVE MONITOR privileges.
|
||||||
# Step2: Execute SHOW SLAVE STAUTS/SHOW RELAYLOG EVENTS commands and expect
|
# Step2: Execute SHOW SLAVE STATUS/SHOW RELAYLOG EVENTS commands and expect
|
||||||
# ER_SPECIFIC_ACCESS_DENIED_ERROR. This also verifies that REPLICATION
|
# ER_SPECIFIC_ACCESS_DENIED_ERROR. This also verifies that REPLICATION
|
||||||
# SLAVE ADMIN privilege is not required for these two commands.
|
# SLAVE ADMIN privilege is not required for these two commands.
|
||||||
# Step3: GRANT SLAVE MONITOR privilege and observe that both commands are
|
# Step3: GRANT SLAVE MONITOR privilege and observe that both commands are
|
||||||
# allowd to execute.
|
# allowed to execute.
|
||||||
#
|
#
|
||||||
# ==== References ====
|
# ==== References ====
|
||||||
#
|
#
|
||||||
|
@ -1313,7 +1313,7 @@ COUNT(*)
|
|||||||
# plans without restricting 'optimizer_search_depth'.
|
# plans without restricting 'optimizer_search_depth'.
|
||||||
# Fix problems like those reported as bug#41740 & bug#58225.
|
# Fix problems like those reported as bug#41740 & bug#58225.
|
||||||
#
|
#
|
||||||
# EPLAIN of queries using T1-T62 will timeout/hang wo/ fixes
|
# EXPLAIN of queries using T1-T62 will timeout/hang wo/ fixes
|
||||||
#
|
#
|
||||||
DROP TABLE t10, t10000;
|
DROP TABLE t10, t10000;
|
||||||
CREATE TABLE t1 ( K INT NOT NULL AUTO_INCREMENT,
|
CREATE TABLE t1 ( K INT NOT NULL AUTO_INCREMENT,
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#
|
#
|
||||||
# A simple test of the greedy query optimization algorithm and the switches that
|
# A simple test of the greedy query optimization algorithm and the switches that
|
||||||
# control the optimizationprocess.
|
# controls the optimization process.
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -140,7 +140,7 @@ insert into t7 values (21,2,3,4,5,6);
|
|||||||
# The actual test begins here
|
# The actual test begins here
|
||||||
#
|
#
|
||||||
|
|
||||||
# This value swithes back to the old implementation of 'find_best()'
|
# This value switches back to the old implementation of 'find_best()'
|
||||||
# set optimizer_search_depth=63; - old (independent of the optimizer_prune_level)
|
# set optimizer_search_depth=63; - old (independent of the optimizer_prune_level)
|
||||||
#
|
#
|
||||||
# These are the values for the parameters that control the greedy optimizer
|
# These are the values for the parameters that control the greedy optimizer
|
||||||
@ -729,7 +729,7 @@ WHERE x.k=t10.i
|
|||||||
--echo # plans without restricting 'optimizer_search_depth'.
|
--echo # plans without restricting 'optimizer_search_depth'.
|
||||||
--echo # Fix problems like those reported as bug#41740 & bug#58225.
|
--echo # Fix problems like those reported as bug#41740 & bug#58225.
|
||||||
--echo #
|
--echo #
|
||||||
--echo # EPLAIN of queries using T1-T62 will timeout/hang wo/ fixes
|
--echo # EXPLAIN of queries using T1-T62 will timeout/hang wo/ fixes
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
DROP TABLE t10, t10000;
|
DROP TABLE t10, t10000;
|
||||||
|
@ -2134,7 +2134,7 @@ Warnings:
|
|||||||
Note 1003 select sum(ord(`test`.`t1`.`a1`)) AS `sum(ord(a1))` from `test`.`t1` where `test`.`t1`.`a1` > 'a' group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
|
Note 1003 select sum(ord(`test`.`t1`.`a1`)) AS `sum(ord(a1))` from `test`.`t1` where `test`.`t1`.`a1` > 'a' group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
|
||||||
create table t4 as select distinct a1, a2, b, c from t1;
|
create table t4 as select distinct a1, a2, b, c from t1;
|
||||||
alter table t4 add unique index idxt4 (a1, a2, b, c);
|
alter table t4 add unique index idxt4 (a1, a2, b, c);
|
||||||
# This is "superceded" by MDEV-7118, and Loose Index Scan is again an option:
|
# This is "superseded" by MDEV-7118, and Loose Index Scan is again an option:
|
||||||
explain
|
explain
|
||||||
select a1, a2, b, min(c) from t4 group by a1, a2, b;
|
select a1, a2, b, min(c) from t4 group by a1, a2, b;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
@ -711,7 +711,7 @@ explain extended select sum(ord(a1)) from t1 where (a1 > 'a') group by a1,a2,b;
|
|||||||
create table t4 as select distinct a1, a2, b, c from t1;
|
create table t4 as select distinct a1, a2, b, c from t1;
|
||||||
alter table t4 add unique index idxt4 (a1, a2, b, c);
|
alter table t4 add unique index idxt4 (a1, a2, b, c);
|
||||||
|
|
||||||
--echo # This is "superceded" by MDEV-7118, and Loose Index Scan is again an option:
|
--echo # This is "superseded" by MDEV-7118, and Loose Index Scan is again an option:
|
||||||
explain
|
explain
|
||||||
select a1, a2, b, min(c) from t4 group by a1, a2, b;
|
select a1, a2, b, min(c) from t4 group by a1, a2, b;
|
||||||
select a1, a2, b, min(c) from t4 group by a1, a2, b;
|
select a1, a2, b, min(c) from t4 group by a1, a2, b;
|
||||||
|
@ -2030,7 +2030,7 @@ EXPLAIN
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# conjuctive subformula : pushdown using WHERE multiple equalities
|
# conjunctive subformula : pushdown using WHERE multiple equalities
|
||||||
set statement optimizer_switch='condition_pushdown_from_having=off' for SELECT t1.a,MAX(t1.b),t1.c
|
set statement optimizer_switch='condition_pushdown_from_having=off' for SELECT t1.a,MAX(t1.b),t1.c
|
||||||
FROM t1
|
FROM t1
|
||||||
WHERE (t1.a=t1.c)
|
WHERE (t1.a=t1.c)
|
||||||
|
@ -445,7 +445,7 @@ HAVING ((t1.a=t1.c) AND (t1.a>1)) OR ((t1.a<3) AND (t1.c>3));
|
|||||||
--source include/explain-no-costs.inc
|
--source include/explain-no-costs.inc
|
||||||
eval $no_pushdown explain format=json $query;
|
eval $no_pushdown explain format=json $query;
|
||||||
|
|
||||||
--echo # conjuctive subformula : pushdown using WHERE multiple equalities
|
--echo # conjunctive subformula : pushdown using WHERE multiple equalities
|
||||||
let $query=
|
let $query=
|
||||||
SELECT t1.a,MAX(t1.b),t1.c
|
SELECT t1.a,MAX(t1.b),t1.c
|
||||||
FROM t1
|
FROM t1
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
# * Value Check #
|
# * Value Check #
|
||||||
# * Scope Check #
|
# * Scope Check #
|
||||||
# * Functionality Check #
|
# * Functionality Check #
|
||||||
# * Accessability Check #
|
# * Accessibility Check #
|
||||||
# #
|
# #
|
||||||
# This test does not perform the crash recovery on this variable #
|
# This test does not perform the crash recovery on this variable #
|
||||||
# For crash recovery test on default change please run the ibtest #
|
# For crash recovery test on default change please run the ibtest #
|
||||||
@ -125,7 +125,7 @@ SELECT Host_Cache_Size = @@SESSION.Host_Cache_Size;
|
|||||||
#The below check has been commented out as the IP fetch is different in a P2P connection than BroadBand connection
|
#The below check has been commented out as the IP fetch is different in a P2P connection than BroadBand connection
|
||||||
#--echo '#---------------------WL6372_VAR_6_06----------------------#'
|
#--echo '#---------------------WL6372_VAR_6_06----------------------#'
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Checking the Host cahce functionality #
|
# Checking the Host cache functionality #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
#SET @@GLOBAL.Host_Cache_Size=2;
|
#SET @@GLOBAL.Host_Cache_Size=2;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# information_schema, part2" this test can't be run on Window with our
|
# information_schema, part2" this test can't be run on Window with our
|
||||||
# current test framework. When "chmod -r" is done within cygwin the
|
# current test framework. When "chmod -r" is done within cygwin the
|
||||||
# MySQL Server can still read the directory.
|
# MySQL Server can still read the directory.
|
||||||
# Manual testing shows the functionalty to skip unlistable directories
|
# Manual testing shows the functionality to skip unlistable directories
|
||||||
# works on windows
|
# works on windows
|
||||||
#
|
#
|
||||||
--source include/not_windows.inc
|
--source include/not_windows.inc
|
||||||
|
@ -344,7 +344,7 @@ drop database db;
|
|||||||
set @old_max_password_errors=@@max_password_errors;
|
set @old_max_password_errors=@@max_password_errors;
|
||||||
set global max_password_errors=2;
|
set global max_password_errors=2;
|
||||||
|
|
||||||
# must use replace_regex for case insenstive replacement
|
# must use replace_regex for case insensitive replacement
|
||||||
let $hostname_re= `select concat('/@\'', @@hostname, '\'/@HOSTNAME/i')`;
|
let $hostname_re= `select concat('/@\'', @@hostname, '\'/@HOSTNAME/i')`;
|
||||||
|
|
||||||
# set the password_last_changed value
|
# set the password_last_changed value
|
||||||
|
@ -37,7 +37,7 @@ DROP VIEW v;
|
|||||||
DROP VIEW v2;
|
DROP VIEW v2;
|
||||||
DROP FUNCTION f;
|
DROP FUNCTION f;
|
||||||
# The third test version from the MDEV.
|
# The third test version from the MDEV.
|
||||||
# It failed reliably, and should be deterninistic.
|
# It failed reliably, and should be deterministic.
|
||||||
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
||||||
CREATE VIEW v01 AS SELECT f1();
|
CREATE VIEW v01 AS SELECT f1();
|
||||||
CREATE VIEW v02 AS SELECT f1();
|
CREATE VIEW v02 AS SELECT f1();
|
||||||
|
@ -25,7 +25,7 @@ END LOOP $
|
|||||||
--delimiter ;
|
--delimiter ;
|
||||||
--connection default
|
--connection default
|
||||||
# Avoid "Prepared statement needs to be re-prepared"
|
# Avoid "Prepared statement needs to be re-prepared"
|
||||||
# Note, the code could probably eventually fixed to avoid forcing re-pepare if
|
# Note, the code could probably eventually be fixed to avoid forcing re-prepare if
|
||||||
# the *temporary* instance of Sp_caches (not the permanent one) was invalidated.
|
# the *temporary* instance of Sp_caches (not the permanent one) was invalidated.
|
||||||
--disable_ps_protocol
|
--disable_ps_protocol
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
@ -64,7 +64,7 @@ DROP VIEW v2;
|
|||||||
DROP FUNCTION f;
|
DROP FUNCTION f;
|
||||||
|
|
||||||
--echo # The third test version from the MDEV.
|
--echo # The third test version from the MDEV.
|
||||||
--echo # It failed reliably, and should be deterninistic.
|
--echo # It failed reliably, and should be deterministic.
|
||||||
|
|
||||||
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
||||||
CREATE VIEW v01 AS SELECT f1();
|
CREATE VIEW v01 AS SELECT f1();
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user