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
Aug 17, 2005
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
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
...
...
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
...
...
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
);
...
...
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
($);
...
...
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
...
...
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
...
...
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
);
...
...
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. */
...
...
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