Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
c3de1aa8
Commit
c3de1aa8
authored
19 years ago
by
aivanov@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/alexi/mysql-5.0
into mysql.com:/home/alexi/dev/mysql-5.0-1
parents
df00bbc8
8a80193e
Branches unavailable
Tags unavailable
No related merge requests found
Changes
9
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
257 additions
and
181 deletions
+257
-181
BUILD/check-cpu
BUILD/check-cpu
+6
-0
mysql-test/lib/mtr_cases.pl
mysql-test/lib/mtr_cases.pl
+13
-14
mysql-test/lib/mtr_process.pl
mysql-test/lib/mtr_process.pl
+26
-11
mysql-test/lib/mtr_report.pl
mysql-test/lib/mtr_report.pl
+0
-1
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+18
-11
mysql-test/r/select.result
mysql-test/r/select.result
+17
-0
mysql-test/t/select.test
mysql-test/t/select.test
+2
-4
sql/sql_base.cc
sql/sql_base.cc
+174
-139
sql/table.h
sql/table.h
+1
-1
No files found.
BUILD/check-cpu
View file @
c3de1aa8
...
...
@@ -90,6 +90,9 @@ case "$cpu_family--$model_name" in
*
Athlon
*
)
cpu_arg
=
"athlon"
;
;;
*
Opteron
*
)
cpu_arg
=
"opteron"
;
;;
# Intel ia64
*
Itanium
*
)
...
...
@@ -147,6 +150,9 @@ case "$cc_ver--$cc_verno" in
ppc-
*
)
check_cpu_args
=
'-mcpu=$cpu_arg -mtune=$cpu_arg'
;;
x86_64-
*
)
check_cpu_args
=
'-mtune=$cpu_arg'
;;
*
)
check_cpu_cflags
=
""
return
...
...
This diff is collapsed.
Click to expand it.
mysql-test/lib/mtr_cases.pl
View file @
c3de1aa8
...
...
@@ -53,21 +53,20 @@ sub collect_test_cases ($) {
else
{
# ----------------------------------------------------------------------
#
Skip
some tests listed in disabled.def
#
Disable
some tests listed in disabled.def
# ----------------------------------------------------------------------
my
%
skiplist
;
my
$skipfile
=
"
$testdir
/disabled.def
";
if
(
open
(
SKIPFILE
,
$skipfile
)
)
my
%
disabled
;
if
(
open
(
DISABLED
,
"
$testdir
/disabled.def
"
)
)
{
while
(
<
SKIPFILE
>
)
while
(
<
DISABLED
>
)
{
chomp
;
if
(
/^\s*(\S+)\s*:\s*(.*?)\s*$/
)
{
$
skiplist
{
$1
}
=
$2
;
$
disabled
{
$1
}
=
$2
;
}
}
close
SKIPFILE
;
close
DISABLED
;
}
foreach
my
$elem
(
sort
readdir
(
TESTDIR
)
)
{
...
...
@@ -75,7 +74,7 @@ sub collect_test_cases ($) {
next
if
!
defined
$tname
;
next
if
$::opt_do_test
and
!
defined
mtr_match_prefix
(
$elem
,
$::opt_do_test
);
collect_one_test_case
(
$testdir
,
$resdir
,
$tname
,
$elem
,
$cases
,
\%
skiplist
);
collect_one_test_case
(
$testdir
,
$resdir
,
$tname
,
$elem
,
$cases
,
\%
disabled
);
}
closedir
TESTDIR
;
}
...
...
@@ -119,7 +118,7 @@ sub collect_one_test_case($$$$$$) {
my
$tname
=
shift
;
my
$elem
=
shift
;
my
$cases
=
shift
;
my
$
skiplist
=
shift
;
my
$
disabled
=
shift
;
my
$path
=
"
$testdir
/
$elem
";
...
...
@@ -188,7 +187,7 @@ sub collect_one_test_case($$$$$$) {
my
$slave_mi_file
=
"
$testdir
/
$tname
.slave-mi
";
my
$master_sh
=
"
$testdir
/
$tname
-master.sh
";
my
$slave_sh
=
"
$testdir
/
$tname
-slave.sh
";
my
$disabled
=
"
$testdir
/
$tname
.disabled
";
my
$disabled
_file
=
"
$testdir
/
$tname
.disabled
";
$tinfo
->
{'
master_opt
'}
=
$::glob_win32
?
["
--default-time-zone=+3:00
"]
:
[]
;
$tinfo
->
{'
slave_opt
'}
=
$::glob_win32
?
["
--default-time-zone=+3:00
"]
:
[]
;
...
...
@@ -292,18 +291,18 @@ sub collect_one_test_case($$$$$$) {
}
# FIXME why this late?
if
(
$
skiplist
->
{
$tname
}
)
if
(
$
disabled
->
{
$tname
}
)
{
$tinfo
->
{'
skip
'}
=
1
;
$tinfo
->
{'
disable
'}
=
1
;
# Sub type of 'skip'
$tinfo
->
{'
comment
'}
=
$
skiplist
->
{
$tname
}
if
$skiplist
->
{
$tname
};
$tinfo
->
{'
comment
'}
=
$
disabled
->
{
$tname
}
if
$disabled
->
{
$tname
};
}
if
(
-
f
$disabled
)
if
(
-
f
$disabled
_file
)
{
$tinfo
->
{'
skip
'}
=
1
;
$tinfo
->
{'
disable
'}
=
1
;
# Sub type of 'skip'
$tinfo
->
{'
comment
'}
=
mtr_fromfile
(
$disabled
);
$tinfo
->
{'
comment
'}
=
mtr_fromfile
(
$disabled
_file
);
}
# We can't restart a running server that may be in use
...
...
This diff is collapsed.
Click to expand it.
mysql-test/lib/mtr_process.pl
View file @
c3de1aa8
...
...
@@ -186,8 +186,8 @@ sub spawn_parent_impl {
if
(
$mode
eq
'
run
'
or
$mode
eq
'
test
'
)
{
my
$exit_value
=
-
1
;
my
$signal_num
=
0
;
my
$dumped_core
=
0
;
#
my $signal_num= 0;
#
my $dumped_core= 0;
if
(
$mode
eq
'
run
'
)
{
...
...
@@ -199,9 +199,10 @@ sub spawn_parent_impl {
mtr_error
("
$path
(
$pid
) got lost somehow
");
}
$exit_value
=
$?
>>
8
;
$signal_num
=
$?
&
127
;
$dumped_core
=
$?
&
128
;
$exit_value
=
$?
;
# $exit_value= $? >> 8;
# $signal_num= $? & 127;
# $dumped_core= $? & 128;
return
$exit_value
;
}
...
...
@@ -229,9 +230,10 @@ sub spawn_parent_impl {
if
(
$ret_pid
==
$pid
)
{
# We got termination of mysqltest, we are done
$exit_value
=
$?
>>
8
;
$signal_num
=
$?
&
127
;
$dumped_core
=
$?
&
128
;
$exit_value
=
$?
;
# $exit_value= $? >> 8;
# $signal_num= $? & 127;
# $dumped_core= $? & 128;
last
;
}
...
...
@@ -473,6 +475,7 @@ sub mtr_stop_mysqld_servers ($) {
}
else
{
# Server is dead, we remove the pidfile if any
# Race, could have been removed between I tested with -f
# and the unlink() below, so I better check again with -f
...
...
@@ -502,10 +505,12 @@ sub mtr_stop_mysqld_servers ($) {
# that for true Win32 processes, kill(0,$pid) will not return 1.
# ----------------------------------------------------------------------
start_reap_all
();
# Avoid zombies
SIGNAL:
foreach
my
$sig
(
15
,
9
)
{
my
$retries
=
10
;
# 10 seconds
my
$retries
=
20
;
# FIXME 20 seconds, this is silly!
kill
(
$sig
,
keys
%
mysqld_pids
);
while
(
$retries
--
and
kill
(
0
,
keys
%
mysqld_pids
)
)
{
...
...
@@ -514,6 +519,8 @@ sub mtr_stop_mysqld_servers ($) {
}
}
stop_reap_all
();
# Get into control again
# ----------------------------------------------------------------------
# Now, we check if all we can find using kill(0,$pid) are dead,
# and just assume the rest are. We cleanup socket and PID files.
...
...
@@ -632,7 +639,8 @@ sub mtr_mysqladmin_shutdown () {
$mysql_admin_pids
{
$pid
}
=
1
;
}
# We wait blocking, we wait for the last one anyway
# As mysqladmin is such a simple program, we trust it to terminate.
# I.e. we wait blocking, and wait wait for them all before we go on.
while
(
keys
%
mysql_admin_pids
)
{
foreach
my
$pid
(
keys
%
mysql_admin_pids
)
...
...
@@ -651,7 +659,8 @@ sub mtr_mysqladmin_shutdown () {
my
$timeout
=
20
;
# 20 seconds max
my
$res
=
1
;
# If we just fall through, we are done
# in the sense that the servers don't
# listen to their ports any longer
TIME:
while
(
$timeout
--
)
{
...
...
@@ -669,6 +678,8 @@ sub mtr_mysqladmin_shutdown () {
last
;
# If we got here, we are done
}
$timeout
or
mtr_debug
("
At least one server is still listening to its port
");
sleep
(
5
)
if
$::glob_win32
;
# FIXME next startup fails if no sleep
return
$res
;
...
...
@@ -794,8 +805,12 @@ sub sleep_until_file_created ($$$) {
#
##############################################################################
# FIXME something is wrong, we sometimes terminate with "Hangup" written
# to tty, and no STDERR output telling us why.
sub
mtr_exit
($)
{
my
$code
=
shift
;
# cluck("Called mtr_exit()");
local
$SIG
{
HUP
}
=
'
IGNORE
';
kill
('
HUP
',
-
$$
);
exit
(
$code
);
...
...
This diff is collapsed.
Click to expand it.
mysql-test/lib/mtr_report.pl
View file @
c3de1aa8
...
...
@@ -10,7 +10,6 @@ sub mtr_report_test_name($);
sub
mtr_report_test_passed
($);
sub
mtr_report_test_failed
($);
sub
mtr_report_test_skipped
($);
sub
mtr_report_test_disabled
($);
sub
mtr_show_failed_diff
($);
sub
mtr_report_stats
($);
...
...
This diff is collapsed.
Click to expand it.
mysql-test/mysql-test-run.pl
View file @
c3de1aa8
...
...
@@ -341,7 +341,6 @@ sub main () {
if
(
!
$glob_use_running_server
)
{
if
(
$opt_start_dirty
)
{
kill_running_server
();
...
...
@@ -356,7 +355,7 @@ sub main () {
}
}
if
(
$opt_start_
and_exit
or
$opt_start_
dirty
)
if
(
$opt_start_dirty
)
{
if
(
ndbcluster_start
()
)
{
...
...
@@ -371,9 +370,7 @@ sub main () {
mtr_error
("
Can't start the mysqld server
");
}
}
else
{
if
(
$opt_bench
)
elsif
(
$opt_bench
)
{
run_benchmarks
(
shift
);
# Shift what? Extra arguments?!
}
...
...
@@ -381,7 +378,6 @@ sub main () {
{
run_tests
();
}
}
mtr_exit
(
0
);
}
...
...
@@ -1487,6 +1483,16 @@ sub run_testcase ($) {
}
}
# ----------------------------------------------------------------------
# If --start-and-exit given, stop here to let user manually run tests
# ----------------------------------------------------------------------
if
(
$opt_start_and_exit
)
{
mtr_report
("
\n
Servers started, exiting
");
exit
(
0
);
}
# ----------------------------------------------------------------------
# Run the test case
# ----------------------------------------------------------------------
...
...
@@ -2248,7 +2254,8 @@ Misc options
script-debug Debug this script itself
compress Use the compressed protocol between client and server
timer Show test case execution time
start-and-exit Only initiate and start the "mysqld" servers
start-and-exit Only initiate and start the "mysqld" servers, use the startup
settings for the specified test case if any
start-dirty Only start the "mysqld" servers without initiation
fast Don't try to cleanup from earlier runs
reorder Reorder tests to get less server restarts
...
...
This diff is collapsed.
Click to expand it.
mysql-test/r/select.result
View file @
c3de1aa8
...
...
@@ -2218,6 +2218,23 @@ a
1
2
3
select * from (t1 as t2 left join t1 as t3 using (a)) right join t1 on t1.a>1;
a a
NULL 1
1 2
2 2
3 2
1 3
2 3
3 3
select * from t1 right join (t1 as t2 left join t1 as t3 using (a)) on t1.a>1;
a a
2 1
3 1
2 2
3 2
2 3
3 3
select * from (t1 as t2 left join t1 as t3 using (a)) right outer join t1 using ( a );
a
1
...
...
This diff is collapsed.
Click to expand it.
mysql-test/t/select.test
View file @
c3de1aa8
...
...
@@ -1850,10 +1850,8 @@ select * from t1 left join (t1 as t2 left join t1 as t3 using (a)) using ( a );
select
*
from
(
t1
as
t2
left
join
t1
as
t3
using
(
a
))
natural
left
join
t1
;
select
*
from
t1
natural
left
join
(
t1
as
t2
left
join
t1
as
t3
using
(
a
));
# right join on
# TODO: WL#2486 - there is a problem in the order of tables in RIGHT JOIN
# check how we set next_name_resolution_table
# select * from (t1 as t2 left join t1 as t3 using (a)) right join t1 on t1.a>1;
# select * from t1 right join (t1 as t2 left join t1 as t3 using (a)) on t1.a>1;
select
*
from
(
t1
as
t2
left
join
t1
as
t3
using
(
a
))
right
join
t1
on
t1
.
a
>
1
;
select
*
from
t1
right
join
(
t1
as
t2
left
join
t1
as
t3
using
(
a
))
on
t1
.
a
>
1
;
# right [outer] joing using
select
*
from
(
t1
as
t2
left
join
t1
as
t3
using
(
a
))
right
outer
join
t1
using
(
a
);
select
*
from
t1
right
outer
join
(
t1
as
t2
left
join
t1
as
t3
using
(
a
))
using
(
a
);
...
...
This diff is collapsed.
Click to expand it.
sql/sql_base.cc
View file @
c3de1aa8
This diff is collapsed.
Click to expand it.
sql/table.h
View file @
c3de1aa8
...
...
@@ -374,7 +374,7 @@ struct Field_translator
Field (for tables), or a Field_translator (for views).
*/
class
Natural_join_column
class
Natural_join_column
:
public
Sql_alloc
{
public:
Field_translator
*
view_field
;
/* Column reference of merge view. */
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment