summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorunknown <Sinisa@sinisa.nasamreza.org>2003-07-23 17:36:56 +0300
committerunknown <Sinisa@sinisa.nasamreza.org>2003-07-23 17:36:56 +0300
commitd289accb0af491ae0d241fa801c291da07fabd77 (patch)
treec86141acb72a64939e0945c908f3b8a6b6027840 /sql/sql_class.h
parentb3021da20a193b297b1c592cf05a475ff5e94a32 (diff)
downloadmariadb-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.h12
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); }
};