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
e10a36b6
Commit
e10a36b6
authored
Mar 22, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge neptunus.(none):/home/msvensson/mysql/bug9072
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
parents
57ca6dd8
846e3ed9
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
63 additions
and
32 deletions
+63
-32
include/config-netware.h
include/config-netware.h
+3
-0
innobase/include/trx0trx.h
innobase/include/trx0trx.h
+6
-0
innobase/trx/trx0trx.c
innobase/trx/trx0trx.c
+9
-1
mysql-test/lib/mtr_cases.pl
mysql-test/lib/mtr_cases.pl
+18
-15
mysql-test/lib/mtr_report.pl
mysql-test/lib/mtr_report.pl
+5
-6
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+21
-9
sql/sql_select.cc
sql/sql_select.cc
+1
-1
No files found.
include/config-netware.h
View file @
e10a36b6
...
@@ -79,6 +79,9 @@ extern "C" {
...
@@ -79,6 +79,9 @@ extern "C" {
/* On NetWare, stack grows towards lower address*/
/* On NetWare, stack grows towards lower address*/
#define STACK_DIRECTION -1
#define STACK_DIRECTION -1
/* On NetWare, to fix the problem with the deletion of open files */
#define CANT_DELETE_OPEN_FILES 1
/* default directory information */
/* default directory information */
#define DEFAULT_MYSQL_HOME "sys:/mysql"
#define DEFAULT_MYSQL_HOME "sys:/mysql"
#define PACKAGE "mysql"
#define PACKAGE "mysql"
...
...
innobase/include/trx0trx.h
View file @
e10a36b6
...
@@ -346,6 +346,12 @@ struct trx_struct{
...
@@ -346,6 +346,12 @@ struct trx_struct{
in MySQL's binlog write, we will
in MySQL's binlog write, we will
flush the log to disk later in
flush the log to disk later in
a separate call */
a separate call */
ibool
must_flush_log_later
;
/* this flag is set to TRUE in
trx_commit_off_kernel() if
flush_log_later was TRUE, and there
were modifications by the transaction;
in that case we must flush the log
in trx_commit_complete_for_mysql() */
dulint
commit_lsn
;
/* lsn at the time of the commit */
dulint
commit_lsn
;
/* lsn at the time of the commit */
ibool
dict_operation
;
/* TRUE if the trx is used to create
ibool
dict_operation
;
/* TRUE if the trx is used to create
a table, create an index, or drop a
a table, create an index, or drop a
...
...
innobase/trx/trx0trx.c
View file @
e10a36b6
...
@@ -96,6 +96,7 @@ trx_create(
...
@@ -96,6 +96,7 @@ trx_create(
trx
->
check_unique_secondary
=
TRUE
;
trx
->
check_unique_secondary
=
TRUE
;
trx
->
flush_log_later
=
FALSE
;
trx
->
flush_log_later
=
FALSE
;
trx
->
must_flush_log_later
=
FALSE
;
trx
->
dict_operation
=
FALSE
;
trx
->
dict_operation
=
FALSE
;
...
@@ -654,6 +655,8 @@ trx_commit_off_kernel(
...
@@ -654,6 +655,8 @@ trx_commit_off_kernel(
ut_ad
(
mutex_own
(
&
kernel_mutex
));
ut_ad
(
mutex_own
(
&
kernel_mutex
));
#endif
/* UNIV_SYNC_DEBUG */
#endif
/* UNIV_SYNC_DEBUG */
trx
->
must_flush_log_later
=
FALSE
;
rseg
=
trx
->
rseg
;
rseg
=
trx
->
rseg
;
if
(
trx
->
insert_undo
!=
NULL
||
trx
->
update_undo
!=
NULL
)
{
if
(
trx
->
insert_undo
!=
NULL
||
trx
->
update_undo
!=
NULL
)
{
...
@@ -821,6 +824,7 @@ trx_commit_off_kernel(
...
@@ -821,6 +824,7 @@ trx_commit_off_kernel(
if
(
trx
->
flush_log_later
)
{
if
(
trx
->
flush_log_later
)
{
/* Do nothing yet */
/* Do nothing yet */
trx
->
must_flush_log_later
=
TRUE
;
}
else
if
(
srv_flush_log_at_trx_commit
==
0
)
{
}
else
if
(
srv_flush_log_at_trx_commit
==
0
)
{
/* Do nothing */
/* Do nothing */
}
else
if
(
srv_flush_log_at_trx_commit
==
1
)
{
}
else
if
(
srv_flush_log_at_trx_commit
==
1
)
{
...
@@ -1539,7 +1543,9 @@ trx_commit_complete_for_mysql(
...
@@ -1539,7 +1543,9 @@ trx_commit_complete_for_mysql(
trx
->
op_info
=
"flushing log"
;
trx
->
op_info
=
"flushing log"
;
if
(
srv_flush_log_at_trx_commit
==
0
)
{
if
(
!
trx
->
must_flush_log_later
)
{
/* Do nothing */
}
else
if
(
srv_flush_log_at_trx_commit
==
0
)
{
/* Do nothing */
/* Do nothing */
}
else
if
(
srv_flush_log_at_trx_commit
==
1
)
{
}
else
if
(
srv_flush_log_at_trx_commit
==
1
)
{
if
(
srv_unix_file_flush_method
==
SRV_UNIX_NOSYNC
)
{
if
(
srv_unix_file_flush_method
==
SRV_UNIX_NOSYNC
)
{
...
@@ -1560,6 +1566,8 @@ trx_commit_complete_for_mysql(
...
@@ -1560,6 +1566,8 @@ trx_commit_complete_for_mysql(
}
else
{
}
else
{
ut_error
;
ut_error
;
}
}
trx
->
must_flush_log_later
=
FALSE
;
trx
->
op_info
=
""
;
trx
->
op_info
=
""
;
...
...
mysql-test/lib/mtr_cases.pl
View file @
e10a36b6
...
@@ -63,21 +63,24 @@ sub collect_test_cases ($) {
...
@@ -63,21 +63,24 @@ sub collect_test_cases ($) {
# To speed things up, we sort first in if the test require a restart
# To speed things up, we sort first in if the test require a restart
# or not, second in alphanumeric order.
# or not, second in alphanumeric order.
# @$cases = sort {
if
(
$::opt_reorder
)
# if ( $a->{'master_restart'} and $b->{'master_restart'} or
{
# ! $a->{'master_restart'} and ! $b->{'master_restart'} )
@$cases
=
sort
{
# {
if
(
$a
->
{'
master_restart
'}
and
$b
->
{'
master_restart
'}
or
# return $a->{'name'} cmp $b->{'name'};
!
$a
->
{'
master_restart
'}
and
!
$b
->
{'
master_restart
'}
)
# }
{
# if ( $a->{'master_restart'} )
return
$a
->
{'
name
'}
cmp
$b
->
{'
name
'};
# {
}
# return 1; # Is greater
if
(
$a
->
{'
master_restart
'}
)
# }
{
# else
return
1
;
# Is greater
# {
}
# return -1; # Is less
else
# }
{
# } @$cases;
return
-
1
;
# Is less
}
}
@$cases
;
}
return
$cases
;
return
$cases
;
}
}
...
...
mysql-test/lib/mtr_report.pl
View file @
e10a36b6
...
@@ -89,12 +89,11 @@ sub mtr_report_test_passed ($) {
...
@@ -89,12 +89,11 @@ sub mtr_report_test_passed ($) {
my
$tinfo
=
shift
;
my
$tinfo
=
shift
;
my
$timer
=
"";
my
$timer
=
"";
# FIXME
if
(
$::opt_timer
and
-
f
"
$::glob_mysql_test_dir/var/log/timer
"
)
# if ( $::opt_timer and -f "$::glob_mysql_test_dir/var/log/timer" )
{
# {
$timer
=
mtr_fromfile
("
$::glob_mysql_test_dir/var/log/timer
");
# $timer= `cat var/log/timer`;
$timer
=
sprintf
"
%12s
",
$timer
;
# $timer= sprintf "%13s", $timer;
}
# }
$tinfo
->
{'
result
'}
=
'
MTR_RES_PASSED
';
$tinfo
->
{'
result
'}
=
'
MTR_RES_PASSED
';
print
"
[ pass ]
$timer
\n
";
print
"
[ pass ]
$timer
\n
";
}
}
...
...
mysql-test/mysql-test-run.pl
View file @
e10a36b6
...
@@ -214,6 +214,7 @@ our $opt_embedded_server;
...
@@ -214,6 +214,7 @@ our $opt_embedded_server;
our
$opt_extern
;
our
$opt_extern
;
our
$opt_fast
;
our
$opt_fast
;
our
$opt_force
;
our
$opt_force
;
our
$opt_reorder
;
our
$opt_gcov
;
our
$opt_gcov
;
our
$opt_gcov_err
;
our
$opt_gcov_err
;
...
@@ -525,6 +526,7 @@ sub command_line_setup () {
...
@@ -525,6 +526,7 @@ sub command_line_setup () {
'
local-master
'
=>
\
$opt_local_master
,
'
local-master
'
=>
\
$opt_local_master
,
'
netware
'
=>
\
$opt_netware
,
'
netware
'
=>
\
$opt_netware
,
'
old-master
'
=>
\
$opt_old_master
,
'
old-master
'
=>
\
$opt_old_master
,
'
reorder
'
=>
\
$opt_reorder
,
'
script-debug
'
=>
\
$opt_script_debug
,
'
script-debug
'
=>
\
$opt_script_debug
,
'
sleep=i
'
=>
\
$opt_sleep
,
'
sleep=i
'
=>
\
$opt_sleep
,
'
socket=s
'
=>
\
$opt_socket
,
'
socket=s
'
=>
\
$opt_socket
,
...
@@ -1368,7 +1370,10 @@ sub run_testcase ($) {
...
@@ -1368,7 +1370,10 @@ sub run_testcase ($) {
mtr_report_test_name
(
$tinfo
);
mtr_report_test_name
(
$tinfo
);
mtr_tofile
(
$master
->
[
0
]
->
{'
path_myerr
'},"
CURRENT_TEST:
$tname
\n
");
mtr_tofile
(
$master
->
[
0
]
->
{'
path_myerr
'},"
CURRENT_TEST:
$tname
\n
");
do_before_start_master
(
$tname
,
$tinfo
->
{'
master_sh
'});
# FIXME test cases that depend on each other, prevent this from
# being at this location.
# do_before_start_master($tname,$tinfo->{'master_sh'});
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# If any mysqld servers running died, we have to know
# If any mysqld servers running died, we have to know
...
@@ -1400,6 +1405,8 @@ sub run_testcase ($) {
...
@@ -1400,6 +1405,8 @@ sub run_testcase ($) {
}
}
if
(
!
$master
->
[
0
]
->
{'
pid
'}
)
if
(
!
$master
->
[
0
]
->
{'
pid
'}
)
{
{
# FIXME not correct location for do_before_start_master()
do_before_start_master
(
$tname
,
$tinfo
->
{'
master_sh
'});
$master
->
[
0
]
->
{'
pid
'}
=
$master
->
[
0
]
->
{'
pid
'}
=
mysqld_start
('
master
',
0
,
$tinfo
->
{'
master_opt
'},
[]
);
mysqld_start
('
master
',
0
,
$tinfo
->
{'
master_opt
'},
[]
);
if
(
!
$master
->
[
0
]
->
{'
pid
'}
)
if
(
!
$master
->
[
0
]
->
{'
pid
'}
)
...
@@ -1535,9 +1542,10 @@ sub do_before_start_master ($$) {
...
@@ -1535,9 +1542,10 @@ sub do_before_start_master ($$) {
$tname
ne
"
rpl_crash_binlog_ib_3b
")
$tname
ne
"
rpl_crash_binlog_ib_3b
")
{
{
# FIXME we really want separate dir for binlogs
# FIXME we really want separate dir for binlogs
# FIXME replace 'rm' in backticks with portable Perl function
foreach
my
$bin
(
glob
("
$glob_mysql_test_dir
/var/log/master*-bin.*
")
)
`
rm -f
$glob_mysql_test_dir
/var/log/master-bin*
`;
{
# unlink("$glob_mysql_test_dir/var/log/master-bin*");
unlink
(
$bin
);
}
}
}
# Remove old master.info and relay-log.info files
# Remove old master.info and relay-log.info files
...
@@ -1571,9 +1579,10 @@ sub do_before_start_slave ($$) {
...
@@ -1571,9 +1579,10 @@ sub do_before_start_slave ($$) {
$tname
ne
"
rpl_crash_binlog_ib_3b
"
)
$tname
ne
"
rpl_crash_binlog_ib_3b
"
)
{
{
# FIXME we really want separate dir for binlogs
# FIXME we really want separate dir for binlogs
# FIXME replace 'rm' in backticks with portable Perl function
foreach
my
$bin
(
glob
("
$glob_mysql_test_dir
/var/log/slave*-bin.*
")
)
`
rm -fr
$glob_mysql_test_dir
/var/log/slave*-bin.*
`;
{
# unlink("$glob_mysql_test_dir/var/log/slave*-bin.*"); # FIXME idx???
unlink
(
$bin
);
}
# FIXME really master?!
# FIXME really master?!
unlink
("
$glob_mysql_test_dir
/var/slave-data/master.info
");
unlink
("
$glob_mysql_test_dir
/var/slave-data/master.info
");
unlink
("
$glob_mysql_test_dir
/var/slave-data/relay-log.info
");
unlink
("
$glob_mysql_test_dir
/var/slave-data/relay-log.info
");
...
@@ -1659,13 +1668,15 @@ sub mysqld_arguments ($$$$$) {
...
@@ -1659,13 +1668,15 @@ sub mysqld_arguments ($$$$$) {
mtr_add_arg
(
$args
,
"
%s--datadir=%s
",
$prefix
,
mtr_add_arg
(
$args
,
"
%s--datadir=%s
",
$prefix
,
$slave
->
[
$idx
]
->
{'
path_myddir
'});
$slave
->
[
$idx
]
->
{'
path_myddir
'});
%
FIXME
slave
get
this
option
twice
?
!
mtr_add_arg
(
$args
,
"
%s--exit-info=256
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--exit-info=256
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--init-rpl-role=slave
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--init-rpl-role=slave
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--log-bin=%s/var/log/slave%s-bin
",
$prefix
,
mtr_add_arg
(
$args
,
"
%s--log-bin=%s/var/log/slave%s-bin
",
$prefix
,
$glob_mysql_test_dir
,
$sidx
);
# FIXME use own dir for binlogs
$glob_mysql_test_dir
,
$sidx
);
# FIXME use own dir for binlogs
mtr_add_arg
(
$args
,
"
%s--log-slave-updates
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--log-slave-updates
",
$prefix
);
%
FIXME
option
duplicated
for
slave
mtr_add_arg
(
$args
,
"
%s--log=%s
",
$prefix
,
mtr_add_arg
(
$args
,
"
%s--log=%s
",
$prefix
,
$slave
->
[
$idx
]
->
{'
path_my
err
'});
$slave
->
[
$idx
]
->
{'
path_my
log
'});
mtr_add_arg
(
$args
,
"
%s--master-retry-count=10
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--master-retry-count=10
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--pid-file=%s
",
$prefix
,
mtr_add_arg
(
$args
,
"
%s--pid-file=%s
",
$prefix
,
$slave
->
[
$idx
]
->
{'
path_mypid
'});
$slave
->
[
$idx
]
->
{'
path_mypid
'});
...
@@ -2046,7 +2057,7 @@ sub run_mysqltest ($$) {
...
@@ -2046,7 +2057,7 @@ sub run_mysqltest ($$) {
if
(
$opt_timer
)
if
(
$opt_timer
)
{
{
mtr_add_arg
(
$args
,
"
--timer-file=
var/log/timer
"
);
mtr_add_arg
(
$args
,
"
--timer-file=
%s/var/log/timer
",
$glob_mysql_test_dir
);
}
}
if
(
$opt_big_test
)
if
(
$opt_big_test
)
...
@@ -2175,6 +2186,7 @@ Misc options
...
@@ -2175,6 +2186,7 @@ Misc options
timer Show test case execution time
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
fast Don't try to cleanup from earlier runs
fast Don't try to cleanup from earlier runs
reorder Reorder tests to get less server restarts
help Get this help text
help Get this help text
unified-diff | udiff When presenting differences, use unified diff
unified-diff | udiff When presenting differences, use unified diff
...
...
sql/sql_select.cc
View file @
e10a36b6
...
@@ -9149,7 +9149,7 @@ bool JOIN::rollup_make_fields(List<Item> &fields_arg, List<Item> &sel_fields,
...
@@ -9149,7 +9149,7 @@ bool JOIN::rollup_make_fields(List<Item> &fields_arg, List<Item> &sel_fields,
{
{
/* Check if this is something that is part of this group by */
/* Check if this is something that is part of this group by */
ORDER
*
group_tmp
;
ORDER
*
group_tmp
;
for
(
group_tmp
=
start_group
,
i
--
;
for
(
group_tmp
=
start_group
,
i
=
pos
;
group_tmp
;
group_tmp
=
group_tmp
->
next
,
i
++
)
group_tmp
;
group_tmp
=
group_tmp
->
next
,
i
++
)
{
{
if
(
*
group_tmp
->
item
==
item
)
if
(
*
group_tmp
->
item
==
item
)
...
...
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