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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
064b8b8f
Commit
064b8b8f
authored
Jul 09, 2004
by
monty@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge with 4.0 to get bug fixes
parents
949de544
801a2495
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
307 additions
and
220 deletions
+307
-220
Build-tools/Bootstrap
Build-tools/Bootstrap
+5
-4
Build-tools/Do-compile
Build-tools/Do-compile
+18
-1
Build-tools/logger.pm
Build-tools/logger.pm
+11
-4
Build-tools/my_md5sum
Build-tools/my_md5sum
+18
-1
client/mysqltest.c
client/mysqltest.c
+11
-7
include/my_getopt.h
include/my_getopt.h
+12
-5
mysql-test/r/system_mysql_db_refs.result
mysql-test/r/system_mysql_db_refs.result
+28
-28
mysql-test/t/system_mysql_db.test
mysql-test/t/system_mysql_db.test
+8
-8
mysql-test/t/system_mysql_db_fix.test
mysql-test/t/system_mysql_db_fix.test
+70
-71
mysql-test/t/system_mysql_db_refs.test
mysql-test/t/system_mysql_db_refs.test
+86
-87
mysys/my_lib.c
mysys/my_lib.c
+11
-0
sql/log_event.cc
sql/log_event.cc
+29
-4
No files found.
Build-tools/Bootstrap
View file @
064b8b8f
...
@@ -46,6 +46,7 @@ $opt_test= undef;
...
@@ -46,6 +46,7 @@ $opt_test= undef;
$opt_skip_check
=
undef
;
$opt_skip_check
=
undef
;
$opt_skip_manual
=
undef
;
$opt_skip_manual
=
undef
;
$opt_win_dist
=
undef
;
$opt_win_dist
=
undef
;
$opt_quiet
=
undef
;
$version
=
"
unknown
";
$version
=
"
unknown
";
$major
=
$minor
=
$release
=
0
;
$major
=
$minor
=
$release
=
0
;
...
@@ -67,7 +68,8 @@ GetOptions(
...
@@ -67,7 +68,8 @@ GetOptions(
"
suffix=s
",
"
suffix=s
",
"
test|t
",
"
test|t
",
"
verbose|v
",
"
verbose|v
",
"
win-dist|w
"
"
win-dist|w
",
"
quiet|q
",
)
||
print_help
("");
)
||
print_help
("");
#
#
...
@@ -99,8 +101,6 @@ if (defined $opt_build_command)
...
@@ -99,8 +101,6 @@ if (defined $opt_build_command)
print_help
("")
if
(
$opt_help
);
print_help
("")
if
(
$opt_help
);
defined
(
$REPO
=
$ARGV
[
0
])
||
print_help
("
Please enter the BK repository to be used!
");
defined
(
$REPO
=
$ARGV
[
0
])
||
print_help
("
Please enter the BK repository to be used!
");
$subject
=
"
Bootstrap of
$REPO
failed
"
if
$opt_mail
;
&
logger
("
Starting build
");
&
logger
("
Starting build
");
&
abort
("
The directory
\"
$REPO
\"
could not be found!
")
if
(
!-
d
$REPO
);
&
abort
("
The directory
\"
$REPO
\"
could not be found!
")
if
(
!-
d
$REPO
);
&
logger
("
Using
$REPO
as the BK parent repository
");
&
logger
("
Using
$REPO
as the BK parent repository
");
...
@@ -306,7 +306,7 @@ if (!$opt_dry_run)
...
@@ -306,7 +306,7 @@ if (!$opt_dry_run)
#
#
# Now build the source distribution
# Now build the source distribution
#
#
&
logger
("
Compiling
");
&
logger
("
Compiling
...
");
$command
=
$build_command
;
$command
=
$build_command
;
&
run_command
(
$command
,
"
Compilation failed!
");
&
run_command
(
$command
,
"
Compilation failed!
");
...
@@ -403,6 +403,7 @@ Options:
...
@@ -403,6 +403,7 @@ Options:
include a log file snippet, if logging is enabled)
include a log file snippet, if logging is enabled)
Note that the \@-Sign needs to be quoted!
Note that the \@-Sign needs to be quoted!
Example: --mail=user\\\@domain.com
Example: --mail=user\\\@domain.com
-q, --quiet Be quiet
-p, --pull Update the source BK trees before building
-p, --pull Update the source BK trees before building
-r, --revision=<rev> Export the tree as of revision <rev>
-r, --revision=<rev> Export the tree as of revision <rev>
(default is up to the latest revision)
(default is up to the latest revision)
...
...
Build-tools/Do-compile
View file @
064b8b8f
...
@@ -204,6 +204,17 @@ if ($opt_stage == 0)
...
@@ -204,6 +204,17 @@ if ($opt_stage == 0)
safe_cd
(
$host
);
safe_cd
(
$host
);
if
(
$opt_stage
==
0
&&
!
$opt_use_old_distribution
)
if
(
$opt_stage
==
0
&&
!
$opt_use_old_distribution
)
{
{
$md5_result
=
safe_system
("
./my_md5sum -c
${opt_distribution}
.md5
");
if
(
$md5_result
!=
0
)
{
abort
("
MD5 failed for
$opt_distribution
!
");
}
else
{
info
("
SUCCESS: MD5 checks for
$opt_distribution
");
}
safe_system
("
gunzip <
$opt_distribution
|
$tar
xf -
");
safe_system
("
gunzip <
$opt_distribution
|
$tar
xf -
");
# Fix file times; This is needed because the time for files may be
# Fix file times; This is needed because the time for files may be
...
@@ -331,6 +342,9 @@ if ($opt_stage <= 3)
...
@@ -331,6 +342,9 @@ if ($opt_stage <= 3)
$tar_file
=<
$pwd
/$host/m
ysql
*.
t
*
gz
>
;
$tar_file
=<
$pwd
/$host/m
ysql
*.
t
*
gz
>
;
abort
("
Could not find tarball!
")
unless
(
$tar_file
);
abort
("
Could not find tarball!
")
unless
(
$tar_file
);
# Generate the MD5 for the binary distribution
safe_system
("
./my_md5sum
$tar_file
>
${tar_file}
.md5}
");
#
#
# Unpack the binary distribution
# Unpack the binary distribution
#
#
...
@@ -660,7 +674,10 @@ sub safe_system
...
@@ -660,7 +674,10 @@ sub safe_system
my
(
$com
,
$res
)
=
@_
;
my
(
$com
,
$res
)
=
@_
;
print
LOG
"
$com
\n
";
print
LOG
"
$com
\n
";
print
"
$host
:
$com
\n
"
if
(
$opt_debug
);
print
"
$host
:
$com
\n
"
if
(
$opt_debug
);
system
("
$com
>>
$log
2>&1
")
&&
abort
("
error: Couldn't execute command, error:
"
.
(
$?
/
256
));
my
$result
=
system
("
$com
>>
$log
2>&1
");
abort
("
error: Couldn't execute command, error:
"
.
(
$?
/
256
))
unless
$result
==
0
;
return
$result
;
}
}
sub
check_system
sub
check_system
...
...
Build-tools/logger.pm
View file @
064b8b8f
...
@@ -5,7 +5,10 @@
...
@@ -5,7 +5,10 @@
#
#
sub
logger
sub
logger
{
{
my
$message
=
$_
[
0
];
my
$message
=
$_
[
0
];
my
$cmnd
=
$_
[
1
];
print
$message
.
"
\n
"
if
!
$opt_quiet
&&
!
$opt_verbose
&&
!
$cmnd
;
print
timestamp
()
.
"
"
.
$message
.
"
\n
"
if
$opt_verbose
;
print
timestamp
()
.
"
"
.
$message
.
"
\n
"
if
$opt_verbose
;
if
(
defined
$opt_log
&&
!
$opt_dry_run
)
if
(
defined
$opt_log
&&
!
$opt_dry_run
)
{
{
...
@@ -30,9 +33,12 @@ sub run_command
...
@@ -30,9 +33,12 @@ sub run_command
}
}
else
else
{
{
&
logger
(
$command
);
&
logger
(
$command
,
1
);
$command
.=
"
>>
$LOGFILE
2>&1
"
if
defined
$opt_log
;
$command
.=
"
> /dev/null
"
if
(
!
$opt_verbose
&&
!
$opt_log
);
$command
.=
'
;
'
unless
(
$command
=~
m/^.*;$/
);
$command
=~
s/;/ >> $LOGFILE 2>&1;/g
if
defined
$opt_log
;
$command
=~
s/;/ > \/dev\/null;/g
if
(
!
$opt_verbose
&&
!
$opt_log
);
system
(
$command
)
==
0
or
&
abort
("
$errormsg
\n
");
system
(
$command
)
==
0
or
&
abort
("
$errormsg
\n
");
}
}
}
}
...
@@ -47,6 +53,7 @@ sub abort
...
@@ -47,6 +53,7 @@ sub abort
{
{
my
$message
=
$_
[
0
];
my
$message
=
$_
[
0
];
my
$messagefile
;
my
$messagefile
;
my
$subject
=
"
Bootstrap of
$REPO
failed
"
if
$opt_mail
;
$message
=
"
ERROR:
"
.
$message
;
$message
=
"
ERROR:
"
.
$message
;
&
logger
(
$message
);
&
logger
(
$message
);
...
...
Build-tools/my_md5sum
View file @
064b8b8f
...
@@ -10,10 +10,22 @@
...
@@ -10,10 +10,22 @@
# Written by Matt Wagner <matt@mysql.com>
# Written by Matt Wagner <matt@mysql.com>
#
#
use
strict
;
use
strict
;
#
# Use local perl libraries first. 'unshift' adds to the front of @INC
# The local perl library dir hidden is $HOME/.perllibs on each build host
#
BEGIN
{
my
$homedir
=
$ENV
{
HOME
};
unshift
(
@INC
,
"
$homedir
/.perllibs
");
}
use
Digest::
MD5
;
use
Digest::
MD5
;
use
Getopt::
Long
;
use
Getopt::
Long
;
my
$VER
=
"
1.1
";
my
$VER
=
"
1.3
";
my
$EXIT
=
0
;
#
#
# Strip the leading path info off the program name ($0). We want 'my_md5sum'
# Strip the leading path info off the program name ($0). We want 'my_md5sum'
...
@@ -67,6 +79,9 @@ if ($opt_check)
...
@@ -67,6 +79,9 @@ if ($opt_check)
# Print an error message if they don't match, else print OK
# Print an error message if they don't match, else print OK
print
"
$checkfile
: FAILED
\n
"
if
$digest
ne
$checksum
;
print
"
$checkfile
: FAILED
\n
"
if
$digest
ne
$checksum
;
print
"
$checkfile
: OK
\n
"
if
$digest
eq
$checksum
;
print
"
$checkfile
: OK
\n
"
if
$digest
eq
$checksum
;
# Set the exit() status to non-zero if FAILED
$EXIT
=
1
if
$digest
ne
$checksum
;
}
}
}
}
# Else generate the MD5 digest to STDOUT
# Else generate the MD5 digest to STDOUT
...
@@ -80,6 +95,8 @@ else
...
@@ -80,6 +95,8 @@ else
}
}
}
}
exit
(
$EXIT
);
#
#
# This routine generates the MD5 digest of a file
# This routine generates the MD5 digest of a file
...
...
client/mysqltest.c
View file @
064b8b8f
...
@@ -1851,12 +1851,6 @@ int read_query(struct st_query** q_ptr)
...
@@ -1851,12 +1851,6 @@ int read_query(struct st_query** q_ptr)
q
->
record_file
[
0
]
=
0
;
q
->
record_file
[
0
]
=
0
;
q
->
require_file
=
0
;
q
->
require_file
=
0
;
q
->
first_word_len
=
0
;
q
->
first_word_len
=
0
;
memcpy
((
gptr
)
q
->
expected_errno
,
(
gptr
)
global_expected_errno
,
sizeof
(
global_expected_errno
));
q
->
expected_errors
=
global_expected_errors
;
q
->
abort_on_error
=
global_expected_errors
==
0
;
bzero
((
gptr
)
global_expected_errno
,
sizeof
(
global_expected_errno
));
global_expected_errors
=
0
;
q
->
type
=
Q_UNKNOWN
;
q
->
type
=
Q_UNKNOWN
;
q
->
query_buf
=
q
->
query
=
0
;
q
->
query_buf
=
q
->
query
=
0
;
...
@@ -1869,8 +1863,16 @@ int read_query(struct st_query** q_ptr)
...
@@ -1869,8 +1863,16 @@ int read_query(struct st_query** q_ptr)
if
(
*
p
==
'#'
)
if
(
*
p
==
'#'
)
{
{
q
->
type
=
Q_COMMENT
;
q
->
type
=
Q_COMMENT
;
/* This goto is to avoid losing the "expected error" info. */
goto
end
;
}
}
else
if
(
p
[
0
]
==
'-'
&&
p
[
1
]
==
'-'
)
memcpy
((
gptr
)
q
->
expected_errno
,
(
gptr
)
global_expected_errno
,
sizeof
(
global_expected_errno
));
q
->
expected_errors
=
global_expected_errors
;
q
->
abort_on_error
=
global_expected_errors
==
0
;
bzero
((
gptr
)
global_expected_errno
,
sizeof
(
global_expected_errno
));
global_expected_errors
=
0
;
if
(
p
[
0
]
==
'-'
&&
p
[
1
]
==
'-'
)
{
{
q
->
type
=
Q_COMMENT_WITH_COMMAND
;
q
->
type
=
Q_COMMENT_WITH_COMMAND
;
p
+=
2
;
/* To calculate first word */
p
+=
2
;
/* To calculate first word */
...
@@ -1905,6 +1907,8 @@ int read_query(struct st_query** q_ptr)
...
@@ -1905,6 +1907,8 @@ int read_query(struct st_query** q_ptr)
*
p1
=
0
;
*
p1
=
0
;
}
}
}
}
end:
while
(
*
p
&&
my_isspace
(
charset_info
,
*
p
))
while
(
*
p
&&
my_isspace
(
charset_info
,
*
p
))
p
++
;
p
++
;
if
(
!
(
q
->
query_buf
=
q
->
query
=
my_strdup
(
p
,
MYF
(
MY_WME
))))
if
(
!
(
q
->
query_buf
=
q
->
query
=
my_strdup
(
p
,
MYF
(
MY_WME
))))
...
...
include/my_getopt.h
View file @
064b8b8f
...
@@ -16,10 +16,17 @@
...
@@ -16,10 +16,17 @@
C_MODE_START
C_MODE_START
enum
get_opt_var_type
{
GET_NO_ARG
,
GET_BOOL
,
GET_INT
,
GET_UINT
,
GET_LONG
,
#define GET_NO_ARG 1
GET_ULONG
,
GET_LL
,
GET_ULL
,
GET_STR
,
GET_STR_ALLOC
,
#define GET_BOOL 2
GET_DISABLED
#define GET_INT 3
};
#define GET_UINT 4
#define GET_LONG 5
#define GET_ULONG 6
#define GET_LL 7
#define GET_ULL 8
#define GET_STR 9
#define GET_STR_ALLOC 10
#define GET_DISABLED 11
#define GET_ASK_ADDR 128
#define GET_ASK_ADDR 128
#define GET_TYPE_MASK 127
#define GET_TYPE_MASK 127
...
@@ -34,7 +41,7 @@ struct my_option
...
@@ -34,7 +41,7 @@ struct my_option
gptr
*
value
;
/* The variable value */
gptr
*
value
;
/* The variable value */
gptr
*
u_max_value
;
/* The user def. max variable value */
gptr
*
u_max_value
;
/* The user def. max variable value */
const
char
**
str_values
;
/* Pointer to possible values */
const
char
**
str_values
;
/* Pointer to possible values */
enum
get_opt_var_type
var_type
;
ulong
var_type
;
enum
get_opt_arg_type
arg_type
;
enum
get_opt_arg_type
arg_type
;
longlong
def_value
;
/* Default value */
longlong
def_value
;
/* Default value */
longlong
min_value
;
/* Min allowed value */
longlong
min_value
;
/* Min allowed value */
...
...
mysql-test/r/system_mysql_db_refs.result
View file @
064b8b8f
mysql-test/t/system_mysql_db.test
View file @
064b8b8f
mysql-test/t/system_mysql_db_fix.test
View file @
064b8b8f
...
@@ -80,4 +80,3 @@ DROP TABLE help_relation;
...
@@ -80,4 +80,3 @@ DROP TABLE help_relation;
DROP
TABLE
help_topic
;
DROP
TABLE
help_topic
;
--
enable_query_log
--
enable_query_log
mysql-test/t/system_mysql_db_refs.test
View file @
064b8b8f
...
@@ -99,4 +99,3 @@ drop table test_func;
...
@@ -99,4 +99,3 @@ drop table test_func;
drop
table
test_host
;
drop
table
test_host
;
drop
table
test_user
;
drop
table
test_user
;
drop
table
test_db
;
drop
table
test_db
;
mysys/my_lib.c
View file @
064b8b8f
...
@@ -461,6 +461,17 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
...
@@ -461,6 +461,17 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
else
else
finfo
.
mystat
=
NULL
;
finfo
.
mystat
=
NULL
;
/*
If the directory is the root directory of the drive, Windows sometimes
creates hidden or system files there (like RECYCLER); do not show
them. We would need to see how this can be achieved with a Borland
compiler.
*/
#ifndef __BORLANDC__
if
(
attrib
&
(
_A_HIDDEN
|
_A_SYSTEM
))
continue
;
#endif
if
(
push_dynamic
(
dir_entries_storage
,
(
gptr
)
&
finfo
))
if
(
push_dynamic
(
dir_entries_storage
,
(
gptr
)
&
finfo
))
goto
error
;
goto
error
;
...
...
sql/log_event.cc
View file @
064b8b8f
...
@@ -1696,9 +1696,9 @@ void Load_log_event::set_fields(List<Item> &field_list)
...
@@ -1696,9 +1696,9 @@ void Load_log_event::set_fields(List<Item> &field_list)
int
Load_log_event
::
exec_event
(
NET
*
net
,
struct
st_relay_log_info
*
rli
,
int
Load_log_event
::
exec_event
(
NET
*
net
,
struct
st_relay_log_info
*
rli
,
bool
use_rli_only_for_errors
)
bool
use_rli_only_for_errors
)
{
{
char
*
load_data_query
=
0
;
thd
->
db
=
(
char
*
)
rewrite_db
(
db
);
thd
->
db
=
(
char
*
)
rewrite_db
(
db
);
DBUG_ASSERT
(
thd
->
query
==
0
);
DBUG_ASSERT
(
thd
->
query
==
0
);
thd
->
query
=
0
;
// Should not be needed
thd
->
query_length
=
0
;
// Should not be needed
thd
->
query_length
=
0
;
// Should not be needed
thd
->
query_error
=
0
;
thd
->
query_error
=
0
;
clear_all_errors
(
thd
,
rli
);
clear_all_errors
(
thd
,
rli
);
...
@@ -1749,6 +1749,19 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli,
...
@@ -1749,6 +1749,19 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli,
{
{
char
llbuff
[
22
];
char
llbuff
[
22
];
enum
enum_duplicates
handle_dup
;
enum
enum_duplicates
handle_dup
;
/*
Make a simplified LOAD DATA INFILE query, for the information of the
user in SHOW PROCESSLIST. Note that db is known in the 'db' column.
*/
if
((
load_data_query
=
(
char
*
)
my_alloca
(
18
+
strlen
(
fname
)
+
14
+
strlen
(
tables
.
real_name
)
+
8
)))
{
thd
->
query_length
=
(
uint
)(
strxmov
(
load_data_query
,
"LOAD DATA INFILE '"
,
fname
,
"' INTO TABLE `"
,
tables
.
real_name
,
"` <...>"
,
NullS
)
-
load_data_query
);
thd
->
query
=
load_data_query
;
}
if
(
sql_ex
.
opt_flags
&
REPLACE_FLAG
)
if
(
sql_ex
.
opt_flags
&
REPLACE_FLAG
)
handle_dup
=
DUP_REPLACE
;
handle_dup
=
DUP_REPLACE
;
else
if
(
sql_ex
.
opt_flags
&
IGNORE_FLAG
)
else
if
(
sql_ex
.
opt_flags
&
IGNORE_FLAG
)
...
@@ -1830,8 +1843,14 @@ Slave: load data infile on table '%s' at log position %s in log \
...
@@ -1830,8 +1843,14 @@ Slave: load data infile on table '%s' at log position %s in log \
}
}
thd
->
net
.
vio
=
0
;
thd
->
net
.
vio
=
0
;
thd
->
db
=
0
;
// prevent db from being freed
VOID
(
pthread_mutex_lock
(
&
LOCK_thread_count
));
thd
->
db
=
0
;
thd
->
query
=
0
;
thd
->
query_length
=
0
;
VOID
(
pthread_mutex_unlock
(
&
LOCK_thread_count
));
close_thread_tables
(
thd
);
close_thread_tables
(
thd
);
if
(
load_data_query
)
my_afree
(
load_data_query
);
if
(
thd
->
query_error
)
if
(
thd
->
query_error
)
{
{
/* this err/sql_errno code is copy-paste from send_error() */
/* this err/sql_errno code is copy-paste from send_error() */
...
@@ -2846,7 +2865,7 @@ void Create_file_log_event::pack_info(Protocol *protocol)
...
@@ -2846,7 +2865,7 @@ void Create_file_log_event::pack_info(Protocol *protocol)
#if defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT)
#if defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT)
int
Create_file_log_event
::
exec_event
(
struct
st_relay_log_info
*
rli
)
int
Create_file_log_event
::
exec_event
(
struct
st_relay_log_info
*
rli
)
{
{
char
fname_buf
[
FN_REFLEN
+
10
]
;
char
proc_info
[
17
+
FN_REFLEN
+
10
],
*
fname_buf
=
proc_info
+
17
;
char
*
p
;
char
*
p
;
int
fd
=
-
1
;
int
fd
=
-
1
;
IO_CACHE
file
;
IO_CACHE
file
;
...
@@ -2855,6 +2874,8 @@ int Create_file_log_event::exec_event(struct st_relay_log_info* rli)
...
@@ -2855,6 +2874,8 @@ int Create_file_log_event::exec_event(struct st_relay_log_info* rli)
bzero
((
char
*
)
&
file
,
sizeof
(
file
));
bzero
((
char
*
)
&
file
,
sizeof
(
file
));
p
=
slave_load_file_stem
(
fname_buf
,
file_id
,
server_id
);
p
=
slave_load_file_stem
(
fname_buf
,
file_id
,
server_id
);
strmov
(
p
,
".info"
);
// strmov takes less code than memcpy
strmov
(
p
,
".info"
);
// strmov takes less code than memcpy
strnmov
(
proc_info
,
"Making temp file "
,
17
);
// no end 0
thd
->
proc_info
=
proc_info
;
if
((
fd
=
my_open
(
fname_buf
,
O_WRONLY
|
O_CREAT
|
O_BINARY
|
O_TRUNC
,
if
((
fd
=
my_open
(
fname_buf
,
O_WRONLY
|
O_CREAT
|
O_BINARY
|
O_TRUNC
,
MYF
(
MY_WME
)))
<
0
||
MYF
(
MY_WME
)))
<
0
||
init_io_cache
(
&
file
,
fd
,
IO_SIZE
,
WRITE_CACHE
,
(
my_off_t
)
0
,
0
,
init_io_cache
(
&
file
,
fd
,
IO_SIZE
,
WRITE_CACHE
,
(
my_off_t
)
0
,
0
,
...
@@ -2898,6 +2919,7 @@ err:
...
@@ -2898,6 +2919,7 @@ err:
end_io_cache
(
&
file
);
end_io_cache
(
&
file
);
if
(
fd
>=
0
)
if
(
fd
>=
0
)
my_close
(
fd
,
MYF
(
0
));
my_close
(
fd
,
MYF
(
0
));
thd
->
proc_info
=
0
;
return
error
?
1
:
Log_event
::
exec_event
(
rli
);
return
error
?
1
:
Log_event
::
exec_event
(
rli
);
}
}
#endif
/* defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT) */
#endif
/* defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT) */
...
@@ -2995,13 +3017,15 @@ void Append_block_log_event::pack_info(Protocol *protocol)
...
@@ -2995,13 +3017,15 @@ void Append_block_log_event::pack_info(Protocol *protocol)
#if defined( HAVE_REPLICATION) && !defined(MYSQL_CLIENT)
#if defined( HAVE_REPLICATION) && !defined(MYSQL_CLIENT)
int
Append_block_log_event
::
exec_event
(
struct
st_relay_log_info
*
rli
)
int
Append_block_log_event
::
exec_event
(
struct
st_relay_log_info
*
rli
)
{
{
char
fname
[
FN_REFLEN
+
10
]
;
char
proc_info
[
17
+
FN_REFLEN
+
10
],
*
fname
=
proc_info
+
17
;
char
*
p
=
slave_load_file_stem
(
fname
,
file_id
,
server_id
);
char
*
p
=
slave_load_file_stem
(
fname
,
file_id
,
server_id
);
int
fd
;
int
fd
;
int
error
=
1
;
int
error
=
1
;
DBUG_ENTER
(
"Append_block_log_event::exec_event"
);
DBUG_ENTER
(
"Append_block_log_event::exec_event"
);
memcpy
(
p
,
".data"
,
6
);
memcpy
(
p
,
".data"
,
6
);
strnmov
(
proc_info
,
"Making temp file "
,
17
);
// no end 0
thd
->
proc_info
=
proc_info
;
if
((
fd
=
my_open
(
fname
,
O_WRONLY
|
O_APPEND
|
O_BINARY
,
MYF
(
MY_WME
)))
<
0
)
if
((
fd
=
my_open
(
fname
,
O_WRONLY
|
O_APPEND
|
O_BINARY
,
MYF
(
MY_WME
)))
<
0
)
{
{
slave_print_error
(
rli
,
my_errno
,
"Error in Append_block event: could not open file '%s'"
,
fname
);
slave_print_error
(
rli
,
my_errno
,
"Error in Append_block event: could not open file '%s'"
,
fname
);
...
@@ -3017,6 +3041,7 @@ int Append_block_log_event::exec_event(struct st_relay_log_info* rli)
...
@@ -3017,6 +3041,7 @@ int Append_block_log_event::exec_event(struct st_relay_log_info* rli)
err:
err:
if
(
fd
>=
0
)
if
(
fd
>=
0
)
my_close
(
fd
,
MYF
(
0
));
my_close
(
fd
,
MYF
(
0
));
thd
->
proc_info
=
0
;
DBUG_RETURN
(
error
?
error
:
Log_event
::
exec_event
(
rli
));
DBUG_RETURN
(
error
?
error
:
Log_event
::
exec_event
(
rli
));
}
}
#endif
#endif
...
...
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