Commit b96a17a8 authored by bar@bar.mysql.r18.ru's avatar bar@bar.mysql.r18.ru

this will make me life easier in the future

parent fbad8dc3
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
#include <m_ctype.h> // For test_if_number #include <m_ctype.h> // For test_if_number
#include <assert.h> #include <assert.h>
#define files_charset_info my_charset_latin1
MYSQL_LOG mysql_log,mysql_update_log,mysql_slow_log,mysql_bin_log; MYSQL_LOG mysql_log,mysql_update_log,mysql_slow_log,mysql_bin_log;
extern I_List<i_string> binlog_do_db, binlog_ignore_db; extern I_List<i_string> binlog_do_db, binlog_ignore_db;
...@@ -1483,7 +1485,7 @@ static bool test_if_number(register const char *str, ...@@ -1483,7 +1485,7 @@ static bool test_if_number(register const char *str,
while (*str++ == ' ') ; while (*str++ == ' ') ;
if (*--str == '-' || *str == '+') if (*--str == '-' || *str == '+')
str++; str++;
while (my_isdigit(system_charset_info,*str) || (allow_wildcards && while (my_isdigit(files_charset_info,*str) || (allow_wildcards &&
(*str == wild_many || *str == wild_one))) (*str == wild_many || *str == wild_one)))
{ {
flag=1; flag=1;
...@@ -1492,7 +1494,7 @@ static bool test_if_number(register const char *str, ...@@ -1492,7 +1494,7 @@ static bool test_if_number(register const char *str,
if (*str == '.') if (*str == '.')
{ {
for (str++ ; for (str++ ;
my_isdigit(system_charset_info,*str) || my_isdigit(files_charset_info,*str) ||
(allow_wildcards && (*str == wild_many || *str == wild_one)) ; (allow_wildcards && (*str == wild_many || *str == wild_one)) ;
str++, flag=1) ; str++, flag=1) ;
} }
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
#include <my_dir.h> #include <my_dir.h>
#include <assert.h> #include <assert.h>
#define files_charset_info system_charset_info
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
#include "ha_innodb.h" #include "ha_innodb.h"
#endif #endif
...@@ -1222,7 +1224,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd, ...@@ -1222,7 +1224,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
break; break;
} }
if (lower_case_table_names) if (lower_case_table_names)
my_casedn_str(system_charset_info, db); my_casedn_str(files_charset_info, db);
if (check_access(thd,CREATE_ACL,db,0,1)) if (check_access(thd,CREATE_ACL,db,0,1))
break; break;
mysql_log.write(thd,command,packet); mysql_log.write(thd,command,packet);
...@@ -1240,7 +1242,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd, ...@@ -1240,7 +1242,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
break; break;
} }
if (lower_case_table_names) if (lower_case_table_names)
my_casedn_str(system_charset_info, db); my_casedn_str(files_charset_info, db);
if (thd->locked_tables || thd->active_transaction()) if (thd->locked_tables || thd->active_transaction())
{ {
send_error(thd,ER_LOCK_OR_ACTIVE_TRANSACTION); send_error(thd,ER_LOCK_OR_ACTIVE_TRANSACTION);
...@@ -2488,7 +2490,7 @@ mysql_execute_command(THD *thd) ...@@ -2488,7 +2490,7 @@ mysql_execute_command(THD *thd)
break; break;
} }
if (lower_case_table_names) if (lower_case_table_names)
my_casedn_str(system_charset_info, lex->name); my_casedn_str(files_charset_info, lex->name);
if (check_access(thd,CREATE_ACL,lex->name,0,1)) if (check_access(thd,CREATE_ACL,lex->name,0,1))
break; break;
res=mysql_create_db(thd,lex->name,&lex->create_info,0); res=mysql_create_db(thd,lex->name,&lex->create_info,0);
...@@ -2502,7 +2504,7 @@ mysql_execute_command(THD *thd) ...@@ -2502,7 +2504,7 @@ mysql_execute_command(THD *thd)
break; break;
} }
if (lower_case_table_names) if (lower_case_table_names)
my_casedn_str(system_charset_info, lex->name); my_casedn_str(files_charset_info, lex->name);
if (check_access(thd,DROP_ACL,lex->name,0,1)) if (check_access(thd,DROP_ACL,lex->name,0,1))
break; break;
if (thd->locked_tables || thd->active_transaction()) if (thd->locked_tables || thd->active_transaction())
...@@ -2590,7 +2592,7 @@ mysql_execute_command(THD *thd) ...@@ -2590,7 +2592,7 @@ mysql_execute_command(THD *thd)
if (user->password.str && if (user->password.str &&
(strcmp(thd->user,user->user.str) || (strcmp(thd->user,user->user.str) ||
user->host.str && user->host.str &&
my_strcasecmp(system_charset_info, my_strcasecmp(my_charset_latin1,
user->host.str, thd->host_or_ip))) user->host.str, thd->host_or_ip)))
{ {
if (check_access(thd, UPDATE_ACL, "mysql",0,1)) if (check_access(thd, UPDATE_ACL, "mysql",0,1))
...@@ -3581,8 +3583,8 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd, ...@@ -3581,8 +3583,8 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd,
ptr->alias= alias_str; ptr->alias= alias_str;
if (lower_case_table_names) if (lower_case_table_names)
{ {
my_casedn_str(system_charset_info,ptr->db); my_casedn_str(files_charset_info,ptr->db);
my_casedn_str(system_charset_info,table->table.str); my_casedn_str(files_charset_info,table->table.str);
} }
ptr->real_name=table->table.str; ptr->real_name=table->table.str;
ptr->real_name_length=table->table.length; ptr->real_name_length=table->table.length;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment