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
becf45cd
Commit
becf45cd
authored
Nov 27, 2006
by
monty@nosik.monty.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/my/mysql-5.0
into mysql.com:/home/my/mysql-5.1
parents
fa81a82e
501333f6
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
145 additions
and
49 deletions
+145
-49
include/errmsg.h
include/errmsg.h
+2
-1
libmysql/errmsg.c
libmysql/errmsg.c
+3
-0
mysql-test/mysql-test-run-shell.sh
mysql-test/mysql-test-run-shell.sh
+2
-2
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+67
-39
mysql-test/t/wait_for_socket.sh
mysql-test/t/wait_for_socket.sh
+1
-1
sql-common/client.c
sql-common/client.c
+70
-6
No files found.
include/errmsg.h
View file @
becf45cd
...
@@ -95,6 +95,7 @@ extern const char *client_errors[]; /* Error messages */
...
@@ -95,6 +95,7 @@ extern const char *client_errors[]; /* Error messages */
#define CR_NO_STMT_METADATA 2052
#define CR_NO_STMT_METADATA 2052
#define CR_NO_RESULT_SET 2053
#define CR_NO_RESULT_SET 2053
#define CR_NOT_IMPLEMENTED 2054
#define CR_NOT_IMPLEMENTED 2054
#define CR_ERROR_LAST
/*Copy last error nr:*/
2054
#define CR_SERVER_LOST_EXTENDED 2055
#define CR_ERROR_LAST
/*Copy last error nr:*/
2055
/* Add error numbers before CR_ERROR_LAST and change it accordingly. */
/* Add error numbers before CR_ERROR_LAST and change it accordingly. */
libmysql/errmsg.c
View file @
becf45cd
...
@@ -82,6 +82,7 @@ const char *client_errors[]=
...
@@ -82,6 +82,7 @@ const char *client_errors[]=
"Prepared statement contains no metadata"
,
"Prepared statement contains no metadata"
,
"Attempt to read a row while there is no result set associated with the statement"
,
"Attempt to read a row while there is no result set associated with the statement"
,
"This feature is not implemented yet"
,
"This feature is not implemented yet"
,
"Lost connection to MySQL server at '%s', system error: %d"
,
""
""
};
};
...
@@ -145,6 +146,7 @@ const char *client_errors[]=
...
@@ -145,6 +146,7 @@ const char *client_errors[]=
"Prepared statement contains no metadata"
,
"Prepared statement contains no metadata"
,
"Attempt to read a row while there is no result set associated with the statement"
,
"Attempt to read a row while there is no result set associated with the statement"
,
"This feature is not implemented yet"
,
"This feature is not implemented yet"
,
"Lost connection to MySQL server at '%s', system error: %d"
,
""
""
};
};
...
@@ -206,6 +208,7 @@ const char *client_errors[]=
...
@@ -206,6 +208,7 @@ const char *client_errors[]=
"Prepared statement contains no metadata"
,
"Prepared statement contains no metadata"
,
"Attempt to read a row while there is no result set associated with the statement"
,
"Attempt to read a row while there is no result set associated with the statement"
,
"This feature is not implemented yet"
,
"This feature is not implemented yet"
,
"Lost connection to MySQL server at '%s', system error: %d"
,
""
""
};
};
#endif
#endif
...
...
mysql-test/mysql-test-run-shell.sh
View file @
becf45cd
...
@@ -129,7 +129,7 @@ find_valgrind()
...
@@ -129,7 +129,7 @@ find_valgrind()
fi
fi
# >=2.1.2 requires the --tool option, some versions write to stdout, some to stderr
# >=2.1.2 requires the --tool option, some versions write to stdout, some to stderr
valgrind
--help
2>&1 |
grep
"
\-\-
tool"
>
/dev/null
&&
FIND_VALGRIND
=
"
$FIND_VALGRIND
--tool=memcheck"
valgrind
--help
2>&1 |
grep
"
\-\-
tool"
>
/dev/null
&&
FIND_VALGRIND
=
"
$FIND_VALGRIND
--tool=memcheck"
FIND_VALGRIND
=
"
$FIND_VALGRIND
--alignment=8 --leak-check=yes --num-callers=16 --suppressions=
$
CWD
/valgrind.supp"
FIND_VALGRIND
=
"
$FIND_VALGRIND
--alignment=8 --leak-check=yes --num-callers=16 --suppressions=
$
MYSQL_TEST_DIR
/valgrind.supp"
}
}
# No paths below as we can't be sure where the program is!
# No paths below as we can't be sure where the program is!
...
@@ -2177,7 +2177,7 @@ then
...
@@ -2177,7 +2177,7 @@ then
# Remove files that can cause problems
# Remove files that can cause problems
$RM
-rf
$MYSQL_TEST_DIR
/var/ndbcluster
$RM
-rf
$MYSQL_TEST_DIR
/var/ndbcluster
$RM
-rf
$MYSQL_TEST_DIR
/var/tmp/snapshot
*
$RM
-rf
$MYSQL_TEST_DIR
/var/tmp/snapshot
*
$RM
-f
$MYSQL_TEST_DIR
/var/run/
*
$MYSQL_TEST_DIR
/var/tmp/
*
$RM
-
r
f
$MYSQL_TEST_DIR
/var/run/
*
$MYSQL_TEST_DIR
/var/tmp/
*
# Remove old berkeley db log files that can confuse the server
# Remove old berkeley db log files that can confuse the server
$RM
-f
$MASTER_MYDDIR
/log.
*
$RM
-f
$MASTER_MYDDIR
/log.
*
...
...
mysql-test/mysql-test-run.pl
View file @
becf45cd
...
@@ -199,6 +199,7 @@ our $opt_client_ddd;
...
@@ -199,6 +199,7 @@ our $opt_client_ddd;
our
$opt_manual_gdb
;
our
$opt_manual_gdb
;
our
$opt_manual_ddd
;
our
$opt_manual_ddd
;
our
$opt_manual_debug
;
our
$opt_manual_debug
;
our
$opt_mtr_build_thread
=
0
;
our
$opt_debugger
;
our
$opt_debugger
;
our
$opt_client_debugger
;
our
$opt_client_debugger
;
...
@@ -213,6 +214,11 @@ our $clusters;
...
@@ -213,6 +214,11 @@ our $clusters;
our
$instance_manager
;
our
$instance_manager
;
our
$opt_master_myport
;
our
$opt_slave_myport
;
our
$im_port
;
our
$im_mysqld1_port
;
our
$im_mysqld2_port
;
our
$opt_ndbcluster_port
;
our
$opt_ndbcluster_port
;
our
$opt_ndbconnectstring
;
our
$opt_ndbconnectstring
;
our
$opt_ndbcluster_port_slave
;
our
$opt_ndbcluster_port_slave
;
...
@@ -313,6 +319,7 @@ our %mysqld_variables;
...
@@ -313,6 +319,7 @@ our %mysqld_variables;
sub
main
();
sub
main
();
sub
initial_setup
();
sub
initial_setup
();
sub
command_line_setup
();
sub
command_line_setup
();
sub
set_mtr_build_thread_ports
($);
sub
datadir_setup
();
sub
datadir_setup
();
sub
executable_setup
();
sub
executable_setup
();
sub
environment_setup
();
sub
environment_setup
();
...
@@ -455,45 +462,17 @@ sub command_line_setup () {
...
@@ -455,45 +462,17 @@ sub command_line_setup () {
$opt_suite
=
"
main
";
# Special default suite
$opt_suite
=
"
main
";
# Special default suite
my
$opt_comment
;
my
$opt_comment
;
my
$opt_master_myport
=
9306
;
$opt_master_myport
=
9306
;
my
$opt_slave_myport
=
9308
;
$opt_slave_myport
=
9308
;
$opt_ndbcluster_port
=
9310
;
$opt_ndbcluster_port
=
9310
;
$opt_ndbcluster_port_slave
=
9311
;
$opt_ndbcluster_port_slave
=
9311
;
my
$im_port
=
9312
;
$im_port
=
9312
;
my
$im_mysqld1_port
=
9313
;
$im_mysqld1_port
=
9313
;
my
$im_mysqld2_port
=
9314
;
$im_mysqld2_port
=
9314
;
#
# To make it easier for different devs to work on the same host,
# an environment variable can be used to control all ports. A small
# number is to be used, 0 - 16 or similar.
#
# Note the MASTER_MYPORT has to be set the same in all 4.x and 5.x
# versions of this script, else a 4.0 test run might conflict with a
# 5.1 test run, even if different MTR_BUILD_THREAD is used. This means
# all port numbers might not be used in this version of the script.
#
# Also note the limiteation of ports we are allowed to hand out. This
# differs between operating systems and configuration, see
# http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html
# But a fairly safe range seems to be 5001 - 32767
if
(
$ENV
{'
MTR_BUILD_THREAD
'}
)
if
(
$ENV
{'
MTR_BUILD_THREAD
'}
)
{
{
# Up to two masters, up to three slaves
set_mtr_build_thread_ports
(
$ENV
{'
MTR_BUILD_THREAD
'});
$opt_master_myport
=
$ENV
{'
MTR_BUILD_THREAD
'}
*
10
+
10000
;
# and 1
$opt_slave_myport
=
$opt_master_myport
+
2
;
# and 3 4
$opt_ndbcluster_port
=
$opt_master_myport
+
5
;
$opt_ndbcluster_port_slave
=
$opt_master_myport
+
6
;
$im_port
=
$opt_master_myport
+
7
;
$im_mysqld1_port
=
$opt_master_myport
+
8
;
$im_mysqld2_port
=
$opt_master_myport
+
9
;
}
if
(
$opt_master_myport
<
5001
or
$opt_master_myport
+
10
>=
32767
)
{
mtr_error
("
MTR_BUILD_THREAD number results in a port
",
"
outside 5001 - 32767
",
"
(
$opt_master_myport
-
$opt_master_myport
+ 10)
");
}
}
# This is needed for test log evaluation in "gen-build-status-page"
# This is needed for test log evaluation in "gen-build-status-page"
...
@@ -545,6 +524,7 @@ sub command_line_setup () {
...
@@ -545,6 +524,7 @@ sub command_line_setup () {
'
im-port=i
'
=>
\
$im_port
,
# Instance Manager port.
'
im-port=i
'
=>
\
$im_port
,
# Instance Manager port.
'
im-mysqld1-port=i
'
=>
\
$im_mysqld1_port
,
# Port of mysqld, controlled by IM
'
im-mysqld1-port=i
'
=>
\
$im_mysqld1_port
,
# Port of mysqld, controlled by IM
'
im-mysqld2-port=i
'
=>
\
$im_mysqld2_port
,
# Port of mysqld, controlled by IM
'
im-mysqld2-port=i
'
=>
\
$im_mysqld2_port
,
# Port of mysqld, controlled by IM
'
mtr-build-thread=i
'
=>
\
$opt_mtr_build_thread
,
# Test case authoring
# Test case authoring
'
record
'
=>
\
$opt_record
,
'
record
'
=>
\
$opt_record
,
...
@@ -627,6 +607,15 @@ sub command_line_setup () {
...
@@ -627,6 +607,15 @@ sub command_line_setup () {
$glob_scriptname
=
basename
(
$0
);
$glob_scriptname
=
basename
(
$0
);
if
(
$opt_mtr_build_thread
!=
0
)
{
set_mtr_build_thread_ports
(
$opt_mtr_build_thread
)
}
elsif
(
$ENV
{'
MTR_BUILD_THREAD
'})
{
$opt_mtr_build_thread
=
$ENV
{'
MTR_BUILD_THREAD
'};
}
# We require that we are in the "mysql-test" directory
# We require that we are in the "mysql-test" directory
# to run mysql-test-run
# to run mysql-test-run
if
(
!
-
f
$glob_scriptname
)
if
(
!
-
f
$glob_scriptname
)
...
@@ -775,7 +764,7 @@ sub command_line_setup () {
...
@@ -775,7 +764,7 @@ sub command_line_setup () {
{
{
mtr_report
("
Using tmpfs in
$fs
");
mtr_report
("
Using tmpfs in
$fs
");
$opt_mem
=
"
$fs
/var
";
$opt_mem
=
"
$fs
/var
";
$opt_mem
.=
$
ENV
{'
MTR_BUILD_THREAD
'}
if
$ENV
{'
MTR_BUILD_THREAD
'}
;
$opt_mem
.=
$
opt_mtr_build_thread
if
$opt_mtr_build_thread
;
last
;
last
;
}
}
}
}
...
@@ -1230,6 +1219,43 @@ sub command_line_setup () {
...
@@ -1230,6 +1219,43 @@ sub command_line_setup () {
$path_snapshot
=
"
$opt_tmpdir
/snapshot_
$opt_master_myport
/
";
$path_snapshot
=
"
$opt_tmpdir
/snapshot_
$opt_master_myport
/
";
}
}
#
# To make it easier for different devs to work on the same host,
# an environment variable can be used to control all ports. A small
# number is to be used, 0 - 16 or similar.
#
# Note the MASTER_MYPORT has to be set the same in all 4.x and 5.x
# versions of this script, else a 4.0 test run might conflict with a
# 5.1 test run, even if different MTR_BUILD_THREAD is used. This means
# all port numbers might not be used in this version of the script.
#
# Also note the limitation of ports we are allowed to hand out. This
# differs between operating systems and configuration, see
# http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html
# But a fairly safe range seems to be 5001 - 32767
#
sub
set_mtr_build_thread_ports
()
{
my
$mtr_build_thread
=
shift
;
# Up to two masters, up to three slaves
$opt_master_myport
=
$mtr_build_thread
*
10
+
10000
;
# and 1
$opt_slave_myport
=
$opt_master_myport
+
2
;
# and 3 4
$opt_ndbcluster_port
=
$opt_master_myport
+
5
;
$opt_ndbcluster_port_slave
=
$opt_master_myport
+
6
;
$im_port
=
$opt_master_myport
+
7
;
$im_mysqld1_port
=
$opt_master_myport
+
8
;
$im_mysqld2_port
=
$opt_master_myport
+
9
;
if
(
$opt_master_myport
<
5001
or
$opt_master_myport
+
10
>=
32767
)
{
mtr_error
("
MTR_BUILD_THREAD number results in a port
",
"
outside 5001 - 32767
",
"
(
$opt_master_myport
-
$opt_master_myport
+ 10)
");
}
}
sub
datadir_setup
()
{
sub
datadir_setup
()
{
# Make a list of all data_dirs
# Make a list of all data_dirs
...
@@ -1648,7 +1674,7 @@ sub environment_setup () {
...
@@ -1648,7 +1674,7 @@ sub environment_setup () {
$ENV
{'
IM_PATH_SOCK
'}
=
$instance_manager
->
{
path_sock
};
$ENV
{'
IM_PATH_SOCK
'}
=
$instance_manager
->
{
path_sock
};
$ENV
{'
IM_USERNAME
'}
=
$instance_manager
->
{
admin_login
};
$ENV
{'
IM_USERNAME
'}
=
$instance_manager
->
{
admin_login
};
$ENV
{'
IM_PASSWORD
'}
=
$instance_manager
->
{
admin_password
};
$ENV
{'
IM_PASSWORD
'}
=
$instance_manager
->
{
admin_password
};
$ENV
{
MTR_BUILD_THREAD
}
=
0
unless
$ENV
{
MTR_BUILD_THREAD
};
# Set if not set
$ENV
{
MTR_BUILD_THREAD
}
=
$opt_mtr_build_thread
;
$ENV
{'
EXE_MYSQL
'}
=
$exe_mysql
;
$ENV
{'
EXE_MYSQL
'}
=
$exe_mysql
;
...
@@ -2048,7 +2074,7 @@ sub cleanup_stale_files () {
...
@@ -2048,7 +2074,7 @@ sub cleanup_stale_files () {
}
}
# Remove old log files
# Remove old log files
foreach
my
$name
(
glob
("
r/*.
reject r/*.
progress r/*.log r/*.warnings
"))
foreach
my
$name
(
glob
("
r/*.progress r/*.log r/*.warnings
"))
{
{
unlink
(
$name
);
unlink
(
$name
);
}
}
...
@@ -3000,14 +3026,14 @@ sub find_testcase_skipped_reason($)
...
@@ -3000,14 +3026,14 @@ sub find_testcase_skipped_reason($)
{
{
my
(
$tinfo
)
=
@_
;
my
(
$tinfo
)
=
@_
;
# Open mysqltest
.log
# Open mysqltest
-time
my
$F
=
IO::
File
->
new
(
$path_timefile
)
or
my
$F
=
IO::
File
->
new
(
$path_timefile
)
or
mtr_error
("
can't open file
\"
$path_timefile
\"
: $!
");
mtr_error
("
can't open file
\"
$path_timefile
\"
: $!
");
my
$reason
;
my
$reason
;
while
(
my
$line
=
<
$F
>
)
while
(
my
$line
=
<
$F
>
)
{
{
# Look for "reason: <reason fo
ski
ping test>"
# Look for "reason: <reason fo
r skip
ping test>"
if
(
$line
=~
/reason: (.*)/
)
if
(
$line
=~
/reason: (.*)/
)
{
{
$reason
=
$1
;
$reason
=
$1
;
...
@@ -4762,6 +4788,8 @@ Options that specify ports
...
@@ -4762,6 +4788,8 @@ Options that specify ports
slave_port=PORT Specify the port number used by the first slave
slave_port=PORT Specify the port number used by the first slave
ndbcluster-port=PORT Specify the port number used by cluster
ndbcluster-port=PORT Specify the port number used by cluster
ndbcluster-port-slave=PORT Specify the port number used by slave cluster
ndbcluster-port-slave=PORT Specify the port number used by slave cluster
mtr-build-thread=# Specify unique collection of ports. Can also be set by
setting the environment variable MTR_BUILD_THREAD.
Options for test case authoring
Options for test case authoring
...
...
mysql-test/t/wait_for_socket.sh
View file @
becf45cd
...
@@ -33,7 +33,7 @@ fi
...
@@ -33,7 +33,7 @@ fi
###########################################################################
###########################################################################
client_args
=
"--silent --socket=
$socket_path
"
client_args
=
"--silent --socket=
$socket_path
--connect_timeout=1
"
[
-n
"
$username
"
]
&&
client_args
=
"
$client_args
--user=
$username
"
[
-n
"
$username
"
]
&&
client_args
=
"
$client_args
--user=
$username
"
[
-n
"
$password
"
]
&&
client_args
=
"
$client_args
--password=
$password
"
[
-n
"
$password
"
]
&&
client_args
=
"
$client_args
--password=
$password
"
...
...
sql-common/client.c
View file @
becf45cd
...
@@ -748,6 +748,29 @@ void set_mysql_error(MYSQL *mysql, int errcode, const char *sqlstate)
...
@@ -748,6 +748,29 @@ void set_mysql_error(MYSQL *mysql, int errcode, const char *sqlstate)
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
static
void
set_mysql_extended_error
(
MYSQL
*
mysql
,
int
errcode
,
const
char
*
sqlstate
,
const
char
*
format
,
...)
{
NET
*
net
;
va_list
args
;
DBUG_ENTER
(
"set_mysql_extended_error"
);
DBUG_PRINT
(
"enter"
,
(
"error :%d '%s'"
,
errcode
,
format
));
DBUG_ASSERT
(
mysql
!=
0
);
net
=
&
mysql
->
net
;
net
->
last_errno
=
errcode
;
va_start
(
args
,
format
);
my_vsnprintf
(
net
->
last_error
,
sizeof
(
net
->
last_error
)
-
1
,
format
,
args
);
va_end
(
args
);
strmov
(
net
->
sqlstate
,
sqlstate
);
DBUG_VOID_RETURN
;
}
/*
/*
Flush result set sent from server
Flush result set sent from server
*/
*/
...
@@ -845,6 +868,7 @@ static int check_license(MYSQL *mysql)
...
@@ -845,6 +868,7 @@ static int check_license(MYSQL *mysql)
void
end_server
(
MYSQL
*
mysql
)
void
end_server
(
MYSQL
*
mysql
)
{
{
int
save_errno
=
errno
;
DBUG_ENTER
(
"end_server"
);
DBUG_ENTER
(
"end_server"
);
if
(
mysql
->
net
.
vio
!=
0
)
if
(
mysql
->
net
.
vio
!=
0
)
{
{
...
@@ -857,6 +881,7 @@ void end_server(MYSQL *mysql)
...
@@ -857,6 +881,7 @@ void end_server(MYSQL *mysql)
}
}
net_end
(
&
mysql
->
net
);
net_end
(
&
mysql
->
net
);
free_old_query
(
mysql
);
free_old_query
(
mysql
);
errno
=
save_errno
;
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
...
@@ -2026,7 +2051,10 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
...
@@ -2026,7 +2051,10 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
if
(
mysql
->
options
.
connect_timeout
&&
if
(
mysql
->
options
.
connect_timeout
&&
vio_poll_read
(
net
->
vio
,
mysql
->
options
.
connect_timeout
))
vio_poll_read
(
net
->
vio
,
mysql
->
options
.
connect_timeout
))
{
{
set_mysql_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
);
set_mysql_extended_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
,
ER
(
CR_SERVER_LOST_EXTENDED
),
"waiting for initial communication packet"
,
errno
);
goto
error
;
goto
error
;
}
}
...
@@ -2035,8 +2063,14 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
...
@@ -2035,8 +2063,14 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
*/
*/
if
((
pkt_length
=
cli_safe_read
(
mysql
))
==
packet_error
)
if
((
pkt_length
=
cli_safe_read
(
mysql
))
==
packet_error
)
{
if
(
mysql
->
net
.
last_errno
==
CR_SERVER_LOST
)
set_mysql_extended_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
,
ER
(
CR_SERVER_LOST_EXTENDED
),
"reading initial communication packet"
,
errno
);
goto
error
;
goto
error
;
}
/* Check if version of protocol matches current one */
/* Check if version of protocol matches current one */
mysql
->
protocol_version
=
net
->
read_pos
[
0
];
mysql
->
protocol_version
=
net
->
read_pos
[
0
];
...
@@ -2170,7 +2204,10 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
...
@@ -2170,7 +2204,10 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
*/
*/
if
(
my_net_write
(
net
,
buff
,(
uint
)
(
end
-
buff
))
||
net_flush
(
net
))
if
(
my_net_write
(
net
,
buff
,(
uint
)
(
end
-
buff
))
||
net_flush
(
net
))
{
{
set_mysql_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
);
set_mysql_extended_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
,
ER
(
CR_SERVER_LOST_EXTENDED
),
"sending connection information to server"
,
errno
);
goto
error
;
goto
error
;
}
}
...
@@ -2249,7 +2286,10 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
...
@@ -2249,7 +2286,10 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
/* Write authentication package */
/* Write authentication package */
if
(
my_net_write
(
net
,
buff
,(
ulong
)
(
end
-
buff
))
||
net_flush
(
net
))
if
(
my_net_write
(
net
,
buff
,(
ulong
)
(
end
-
buff
))
||
net_flush
(
net
))
{
{
set_mysql_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
);
set_mysql_extended_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
,
ER
(
CR_SERVER_LOST_EXTENDED
),
"sending authentication information"
,
errno
);
goto
error
;
goto
error
;
}
}
...
@@ -2259,7 +2299,14 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
...
@@ -2259,7 +2299,14 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
*/
*/
if
((
pkt_length
=
cli_safe_read
(
mysql
))
==
packet_error
)
if
((
pkt_length
=
cli_safe_read
(
mysql
))
==
packet_error
)
{
if
(
mysql
->
net
.
last_errno
==
CR_SERVER_LOST
)
set_mysql_extended_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
,
ER
(
CR_SERVER_LOST_EXTENDED
),
"reading authorization packet"
,
errno
);
goto
error
;
goto
error
;
}
if
(
pkt_length
==
1
&&
net
->
read_pos
[
0
]
==
254
&&
if
(
pkt_length
==
1
&&
net
->
read_pos
[
0
]
==
254
&&
mysql
->
server_capabilities
&
CLIENT_SECURE_CONNECTION
)
mysql
->
server_capabilities
&
CLIENT_SECURE_CONNECTION
)
...
@@ -2271,12 +2318,22 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
...
@@ -2271,12 +2318,22 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
scramble_323
(
buff
,
mysql
->
scramble
,
passwd
);
scramble_323
(
buff
,
mysql
->
scramble
,
passwd
);
if
(
my_net_write
(
net
,
buff
,
SCRAMBLE_LENGTH_323
+
1
)
||
net_flush
(
net
))
if
(
my_net_write
(
net
,
buff
,
SCRAMBLE_LENGTH_323
+
1
)
||
net_flush
(
net
))
{
{
set_mysql_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
);
set_mysql_extended_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
,
ER
(
CR_SERVER_LOST_EXTENDED
),
"sending password information"
,
errno
);
goto
error
;
goto
error
;
}
}
/* Read what server thinks about out new auth message report */
/* Read what server thinks about out new auth message report */
if
(
cli_safe_read
(
mysql
)
==
packet_error
)
if
(
cli_safe_read
(
mysql
)
==
packet_error
)
{
if
(
mysql
->
net
.
last_errno
==
CR_SERVER_LOST
)
set_mysql_extended_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
,
ER
(
CR_SERVER_LOST_EXTENDED
),
"reading final connect information"
,
errno
);
goto
error
;
goto
error
;
}
}
}
if
(
client_flag
&
CLIENT_COMPRESS
)
/* We will use compression */
if
(
client_flag
&
CLIENT_COMPRESS
)
/* We will use compression */
...
@@ -2287,8 +2344,15 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
...
@@ -2287,8 +2344,15 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
goto
error
;
goto
error
;
#endif
#endif
if
(
db
&&
mysql_select_db
(
mysql
,
db
))
if
(
db
&&
mysql_select_db
(
mysql
,
db
))
{
if
(
mysql
->
net
.
last_errno
==
CR_SERVER_LOST
)
set_mysql_extended_error
(
mysql
,
CR_SERVER_LOST
,
unknown_sqlstate
,
ER
(
CR_SERVER_LOST_EXTENDED
),
"Setting intital database"
,
errno
);
goto
error
;
goto
error
;
}
if
(
mysql
->
options
.
init_commands
)
if
(
mysql
->
options
.
init_commands
)
{
{
...
...
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