summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorian@zim.(none) <>2006-03-27 17:45:06 -0800
committerian@zim.(none) <>2006-03-27 17:45:06 -0800
commita66aace3e9c3cd6d5ff733ba0982637d62401577 (patch)
tree5b3e7270fa0279b2e7c2b7695fc1729a0be341a5 /client
parent25adcb6500e4d0a23a1c7c1cf2cb022b17411343 (diff)
downloadmariadb-git-a66aace3e9c3cd6d5ff733ba0982637d62401577.tar.gz
Fix for bug #16855
Diffstat (limited to 'client')
-rw-r--r--client/mysql.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/client/mysql.cc b/client/mysql.cc
index eb6970691bb..2001056dea1 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -653,7 +653,7 @@ static struct my_option my_long_options[] =
"Base name of shared memory.", (gptr*) &shared_memory_base_name, (gptr*) &shared_memory_base_name,
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#endif
- {"socket", 'S', "Socket file to use for connection.",
+ {"socket", 'S', "Socket file to use for connection. (This will override --port unless --protocol=TCP is specified.)",
(gptr*) &opt_mysql_unix_port, (gptr*) &opt_mysql_unix_port, 0, GET_STR_ALLOC,
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#include "sslopt-longopts.h"
@@ -939,7 +939,14 @@ static int get_options(int argc, char **argv)
opt_reconnect= 0;
connect_flag= 0; /* Not in interactive mode */
}
-
+
+ if (opt_mysql_port && (!opt_protocol) && (!opt_mysql_unix_port))
+ {
+ /* Not checking return type since we are using a constant value */
+ /* straight from the initialization of sql_protocol_typelib. */
+ opt_protocol= find_type("TCP", &sql_protocol_typelib, 0);
+ }
+
if (strcmp(default_charset, charset_info->csname) &&
!(charset_info= get_charset_by_csname(default_charset,
MY_CS_PRIMARY, MYF(MY_WME))))