summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-01-29 18:56:34 +0200
committerunknown <monty@mashka.mysql.fi>2003-01-29 18:56:34 +0200
commitbdfa549779d1871ee6b0934d67e782c2f8cf86d7 (patch)
treebbd18ba6ff992b36ac18095590748248e3a4b10b /sql/table.cc
parent72455300841e1b00c312c3a03ace3bcbd57a4d2f (diff)
downloadmariadb-git-bdfa549779d1871ee6b0934d67e782c2f8cf86d7.tar.gz
Fixed handling of lower_case_table_names in SHOW TABLE STATUS, mysql_list_fields() and mysql_table_dump().
This fixes some Errcode 13 errors on Windows when deleting tables. sql/mysql_priv.h: Moved lower case conversion of database names to check_db_name() sql/mysqld.cc: Fix to be able to use 4.0 error message files sql/sql_db.cc: Moved lower case conversion of database names to check_db_name() sql/sql_parse.cc: Moved lower case conversion of database names to check_db_name() Added checking of lower_case_table_names for mysql_table_dump() and mysql_list_fields() sql/sql_show.cc: Moved lower case conversion of database names to check_db_name() sql/table.cc: Convert database names to lower case in check_db-name() if --lower-case-table-names is used.
Diffstat (limited to 'sql/table.cc')
-rw-r--r--sql/table.cc24
1 files changed, 22 insertions, 2 deletions
diff --git a/sql/table.cc b/sql/table.cc
index e0f5edbf262..3afadec3801 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1045,9 +1045,29 @@ char *get_field(MEM_ROOT *mem, TABLE *table, uint fieldnr)
return to;
}
-bool check_db_name(const char *name)
+
+/*
+ Check if database name is valid
+
+ SYNPOSIS
+ check_db_name()
+ name Name of database
+
+ NOTES
+ If lower_case_table_names is set then database is converted to lower case
+
+ RETURN
+ 0 ok
+ 1 error
+*/
+
+bool check_db_name(char *name)
{
- const char *start=name;
+ char *start=name;
+
+ if (lower_case_table_names)
+ casedn_str(name);
+
while (*name)
{
#if defined(USE_MB) && defined(USE_MB_IDENT)