You've already forked mariadb-connector-c
mirror of
https://github.com/mariadb-corporation/mariadb-connector-c.git
synced 2025-08-08 14:02:17 +03:00
Changed default character set from utf8 (see fix for CONC-315) to
latin1, which is also default behavior in MariaDB 10.1 To use another default character set, MariaDB Connector/C has to be build with CMake parameter -DDEFAUT_CHARSET=name.
This commit is contained in:
@@ -90,6 +90,7 @@ extern my_bool mysql_ps_subsystem_initialized;
|
||||
extern my_bool mysql_handle_local_infile(MYSQL *mysql, const char *filename);
|
||||
extern const MARIADB_CHARSET_INFO * mysql_find_charset_nr(uint charsetnr);
|
||||
extern const MARIADB_CHARSET_INFO * mysql_find_charset_name(const char * const name);
|
||||
extern my_bool set_default_charset_by_name(const char *cs_name, myf flags __attribute__((unused)));
|
||||
extern int run_plugin_auth(MYSQL *mysql, char *data, uint data_len,
|
||||
const char *data_plugin, const char *db);
|
||||
extern int net_add_multi_command(NET *net, uchar command, const uchar *packet,
|
||||
@@ -994,7 +995,7 @@ mysql_init(MYSQL *mysql)
|
||||
goto error;
|
||||
mysql->options.report_data_truncation= 1;
|
||||
mysql->options.connect_timeout=CONNECT_TIMEOUT;
|
||||
mysql->charset= ma_default_charset_info;
|
||||
mysql->charset= mysql_find_charset_name(MARIADB_DEFAULT_CHARSET);
|
||||
mysql->methods= &MARIADB_DEFAULT_METHODS;
|
||||
strcpy(mysql->net.sqlstate, "00000");
|
||||
mysql->net.last_error[0]= mysql->net.last_errno= 0;
|
||||
@@ -1483,7 +1484,7 @@ MYSQL *mthd_my_real_connect(MYSQL *mysql, const char *host, const char *user,
|
||||
if (mysql->options.charset_name)
|
||||
mysql->charset= mysql_find_charset_name(mysql->options.charset_name);
|
||||
else
|
||||
mysql->charset=ma_default_charset_info;
|
||||
mysql->charset=mysql_find_charset_name(MARIADB_DEFAULT_CHARSET);
|
||||
|
||||
if (!mysql->charset)
|
||||
{
|
||||
@@ -1729,9 +1730,9 @@ my_bool STDCALL mysql_change_user(MYSQL *mysql, const char *user,
|
||||
db="";
|
||||
|
||||
if (mysql->options.charset_name)
|
||||
mysql->charset =mysql_find_charset_name(mysql->options.charset_name);
|
||||
mysql->charset= mysql_find_charset_name(mysql->options.charset_name);
|
||||
else
|
||||
mysql->charset=ma_default_charset_info;
|
||||
mysql->charset=mysql_find_charset_name(MARIADB_DEFAULT_CHARSET);
|
||||
|
||||
mysql->user= strdup(user ? user : "");
|
||||
mysql->passwd= strdup(passwd ? passwd : "");
|
||||
@@ -2909,16 +2910,16 @@ mysql_optionsv(MYSQL *mysql,enum mysql_option option, ...)
|
||||
{
|
||||
uchar *buffer;
|
||||
void *arg2= va_arg(ap, void *);
|
||||
size_t key_len= arg1 ? strlen((char *)arg1) : 0,
|
||||
size_t storage_len, key_len= arg1 ? strlen((char *)arg1) : 0,
|
||||
value_len= arg2 ? strlen((char *)arg2) : 0;
|
||||
if (!key_len || !value_len)
|
||||
{
|
||||
SET_CLIENT_ERROR(mysql, CR_INVALID_PARAMETER_NO, SQLSTATE_UNKNOWN, 0);
|
||||
goto end;
|
||||
}
|
||||
size_t storage_len= key_len + value_len +
|
||||
get_store_length(key_len) +
|
||||
get_store_length(value_len);
|
||||
storage_len= key_len + value_len +
|
||||
get_store_length(key_len) +
|
||||
get_store_length(value_len);
|
||||
|
||||
/* since we store terminating zero character in hash, we need
|
||||
* to increase lengths */
|
||||
@@ -3486,6 +3487,7 @@ static void mysql_once_init()
|
||||
ma_init(); /* Will init threads */
|
||||
init_client_errs();
|
||||
get_default_configuration_dirs();
|
||||
set_default_charset_by_name(MARIADB_DEFAULT_CHARSET, 0);
|
||||
if (mysql_client_plugin_init())
|
||||
{
|
||||
#ifdef _WIN32
|
||||
|
Reference in New Issue
Block a user