Loading CMakeLists.txt +8 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,14 @@ IF(WIN32) ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE") ENDIF(WIN32) # This definition is necessary to work around a bug with Intellisense described # here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper # debugger functionality. IF(CMAKE_SIZEOF_VOID_P MATCHES 8) MESSAGE(STATUS "Detected 64-bit platform.") ADD_DEFINITIONS("-D_WIN64") ENDIF(CMAKE_SIZEOF_VOID_P MATCHES 8) IF(EMBED_MANIFESTS) # Search for the tools (mt, makecat, signtool) necessary for embedding # manifests and signing executables with the MySQL AB authenticode cert. Loading client/mysqldump.c +24 −3 Original line number Diff line number Diff line Loading @@ -113,6 +113,8 @@ static char *opt_password=0,*current_user=0, *log_error_file= NULL; static char **defaults_argv= 0; static char compatible_mode_normal_str[255]; /* Server supports character_set_results session variable? */ static my_bool server_supports_switching_charsets= TRUE; static ulong opt_compatible_mode= 0; #define MYSQL_OPT_MASTER_DATA_EFFECTIVE_SQL 1 #define MYSQL_OPT_MASTER_DATA_COMMENTED_SQL 2 Loading Loading @@ -1239,11 +1241,27 @@ static void restore_time_zone(FILE *sql_file, } /** Switch charset for results to some specified charset. If the server does not support character_set_results variable, nothing can be done here. As for whether something should be done here, future new callers of this function should be aware that the server lacking the facility of switching charsets is treated as success. @note If the server lacks support, then nothing is changed and no error condition is returned. @returns whether there was an error or not */ static int switch_character_set_results(MYSQL *mysql, const char *cs_name) { char query_buffer[QUERY_LENGTH]; size_t query_length; /* Server lacks facility. This is not an error, by arbitrary decision . */ if (!server_supports_switching_charsets) return FALSE; query_length= my_snprintf(query_buffer, sizeof (query_buffer), "SET SESSION character_set_results = '%s'", Loading Loading @@ -1457,11 +1475,14 @@ static int connect_to_db(char *host, char *user,char *passwd) DB_error(&mysql_connection, "when trying to connect"); DBUG_RETURN(1); } /* Don't dump SET NAMES with a pre-4.1 server (bug#7997). */ if (mysql_get_server_version(&mysql_connection) < 40100) { /* Don't dump SET NAMES with a pre-4.1 server (bug#7997). */ opt_set_charset= 0; /* Don't switch charsets for 4.1 and earlier. (bug#34192). */ server_supports_switching_charsets= FALSE; } /* As we're going to set SQL_MODE, it would be lost on reconnect, so we cannot reconnect. Loading config/ac-macros/character_sets.m4 +3 −3 Original line number Diff line number Diff line Loading @@ -199,7 +199,7 @@ do ;; *) AC_MSG_ERROR([Charset '$cs' not available. (Available are: $CHARSETS_AVAILABLE). See the Installation chapter in the Reference Manual.]); See the Installation chapter in the Reference Manual.]) esac done Loading Loading @@ -380,7 +380,7 @@ case $default_charset in ;; *) AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE). See the Installation chapter in the Reference Manual.]); See the Installation chapter in the Reference Manual.]) esac if test "$default_collation" = default; then Loading @@ -405,7 +405,7 @@ else Collation $default_collation is not valid for character set $default_charset. Valid collations are: $default_charset_collations. See the Installation chapter in the Reference Manual. ]); ]) fi AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_CHARSET_NAME], ["$default_charset"], Loading config/ac-macros/ha_ndbcluster.m4 +3 −3 Original line number Diff line number Diff line Loading @@ -2,9 +2,9 @@ dnl --------------------------------------------------------------------------- dnl Macro: MYSQL_CHECK_NDBCLUSTER dnl --------------------------------------------------------------------------- NDB_VERSION_MAJOR=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f1` NDB_VERSION_MINOR=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f2` NDB_VERSION_BUILD=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f3` NDB_VERSION_MAJOR=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f1` NDB_VERSION_MINOR=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f2` NDB_VERSION_BUILD=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f3` NDB_VERSION_STATUS=`echo $VERSION | sed 's/^[[-.0-9]]*//'` TEST_NDBCLUSTER="" Loading config/ac-macros/misc.m4 +1 −1 Original line number Diff line number Diff line Loading @@ -631,7 +631,7 @@ case $SYSTEM_TYPE in esac if test "$CXX_VERSION" then AC_MSG_CHECKING("C++ compiler version"); AC_MSG_CHECKING("C++ compiler version") AC_MSG_RESULT("$CXX $CXX_VERSION") fi AC_SUBST(CXX_VERSION) Loading Loading
CMakeLists.txt +8 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,14 @@ IF(WIN32) ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE") ENDIF(WIN32) # This definition is necessary to work around a bug with Intellisense described # here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper # debugger functionality. IF(CMAKE_SIZEOF_VOID_P MATCHES 8) MESSAGE(STATUS "Detected 64-bit platform.") ADD_DEFINITIONS("-D_WIN64") ENDIF(CMAKE_SIZEOF_VOID_P MATCHES 8) IF(EMBED_MANIFESTS) # Search for the tools (mt, makecat, signtool) necessary for embedding # manifests and signing executables with the MySQL AB authenticode cert. Loading
client/mysqldump.c +24 −3 Original line number Diff line number Diff line Loading @@ -113,6 +113,8 @@ static char *opt_password=0,*current_user=0, *log_error_file= NULL; static char **defaults_argv= 0; static char compatible_mode_normal_str[255]; /* Server supports character_set_results session variable? */ static my_bool server_supports_switching_charsets= TRUE; static ulong opt_compatible_mode= 0; #define MYSQL_OPT_MASTER_DATA_EFFECTIVE_SQL 1 #define MYSQL_OPT_MASTER_DATA_COMMENTED_SQL 2 Loading Loading @@ -1239,11 +1241,27 @@ static void restore_time_zone(FILE *sql_file, } /** Switch charset for results to some specified charset. If the server does not support character_set_results variable, nothing can be done here. As for whether something should be done here, future new callers of this function should be aware that the server lacking the facility of switching charsets is treated as success. @note If the server lacks support, then nothing is changed and no error condition is returned. @returns whether there was an error or not */ static int switch_character_set_results(MYSQL *mysql, const char *cs_name) { char query_buffer[QUERY_LENGTH]; size_t query_length; /* Server lacks facility. This is not an error, by arbitrary decision . */ if (!server_supports_switching_charsets) return FALSE; query_length= my_snprintf(query_buffer, sizeof (query_buffer), "SET SESSION character_set_results = '%s'", Loading Loading @@ -1457,11 +1475,14 @@ static int connect_to_db(char *host, char *user,char *passwd) DB_error(&mysql_connection, "when trying to connect"); DBUG_RETURN(1); } /* Don't dump SET NAMES with a pre-4.1 server (bug#7997). */ if (mysql_get_server_version(&mysql_connection) < 40100) { /* Don't dump SET NAMES with a pre-4.1 server (bug#7997). */ opt_set_charset= 0; /* Don't switch charsets for 4.1 and earlier. (bug#34192). */ server_supports_switching_charsets= FALSE; } /* As we're going to set SQL_MODE, it would be lost on reconnect, so we cannot reconnect. Loading
config/ac-macros/character_sets.m4 +3 −3 Original line number Diff line number Diff line Loading @@ -199,7 +199,7 @@ do ;; *) AC_MSG_ERROR([Charset '$cs' not available. (Available are: $CHARSETS_AVAILABLE). See the Installation chapter in the Reference Manual.]); See the Installation chapter in the Reference Manual.]) esac done Loading Loading @@ -380,7 +380,7 @@ case $default_charset in ;; *) AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE). See the Installation chapter in the Reference Manual.]); See the Installation chapter in the Reference Manual.]) esac if test "$default_collation" = default; then Loading @@ -405,7 +405,7 @@ else Collation $default_collation is not valid for character set $default_charset. Valid collations are: $default_charset_collations. See the Installation chapter in the Reference Manual. ]); ]) fi AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_CHARSET_NAME], ["$default_charset"], Loading
config/ac-macros/ha_ndbcluster.m4 +3 −3 Original line number Diff line number Diff line Loading @@ -2,9 +2,9 @@ dnl --------------------------------------------------------------------------- dnl Macro: MYSQL_CHECK_NDBCLUSTER dnl --------------------------------------------------------------------------- NDB_VERSION_MAJOR=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f1` NDB_VERSION_MINOR=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f2` NDB_VERSION_BUILD=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f3` NDB_VERSION_MAJOR=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f1` NDB_VERSION_MINOR=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f2` NDB_VERSION_BUILD=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f3` NDB_VERSION_STATUS=`echo $VERSION | sed 's/^[[-.0-9]]*//'` TEST_NDBCLUSTER="" Loading
config/ac-macros/misc.m4 +1 −1 Original line number Diff line number Diff line Loading @@ -631,7 +631,7 @@ case $SYSTEM_TYPE in esac if test "$CXX_VERSION" then AC_MSG_CHECKING("C++ compiler version"); AC_MSG_CHECKING("C++ compiler version") AC_MSG_RESULT("$CXX $CXX_VERSION") fi AC_SUBST(CXX_VERSION) Loading