diff options
author | unknown <Sinisa@sinisa.nasamreza.org> | 2003-07-23 17:36:56 +0300 |
---|---|---|
committer | unknown <Sinisa@sinisa.nasamreza.org> | 2003-07-23 17:36:56 +0300 |
commit | d289accb0af491ae0d241fa801c291da07fabd77 (patch) | |
tree | c86141acb72a64939e0945c908f3b8a6b6027840 /sql/sql_class.h | |
parent | b3021da20a193b297b1c592cf05a475ff5e94a32 (diff) | |
download | mariadb-git-d289accb0af491ae0d241fa801c291da07fabd77.tar.gz |
Fuller implementation of lower case table names.
Bug record #828
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r-- | sql/sql_class.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h index dcc839e13b1..5e4e6184328 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -33,7 +33,7 @@ enum enum_duplicates { DUP_ERROR, DUP_REPLACE, DUP_IGNORE }; enum enum_log_type { LOG_CLOSED, LOG_TO_BE_OPENED, LOG_NORMAL, LOG_NEW, LOG_BIN}; enum enum_delay_key_write { DELAY_KEY_WRITE_NONE, DELAY_KEY_WRITE_ON, DELAY_KEY_WRITE_ALL }; - +extern inline void table_case_convert(char * name, uint length); /* log info errors */ #define LOG_INFO_EOF -1 #define LOG_INFO_IO -2 @@ -758,7 +758,6 @@ typedef struct st_sort_buffer { SORT_FIELD *sortorder; } SORT_BUFFER; - /* Structure for db & table in sql_yacc */ class Table_ident :public Sql_alloc { @@ -772,8 +771,15 @@ class Table_ident :public Sql_alloc { db.str=0; else db= db_arg; + if (db.str) + table_case_convert(db.str,db.length); + table_case_convert(table.str,table.length); + } + inline Table_ident(LEX_STRING table_arg) :table(table_arg) + { + db.str=0; + table_case_convert(table.str,table.length); } - inline Table_ident(LEX_STRING table_arg) :table(table_arg) {db.str=0;} inline void change_db(char *db_name) { db.str= db_name; db.length=(uint) strlen(db_name); } }; |