summaryrefslogtreecommitdiff
path: root/storage/innobase/fil
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2015-01-21 14:33:39 +0100
committerSergei Golubchik <sergii@pisem.net>2015-01-21 14:33:39 +0100
commit476a8660e6472d68ea3faa221733e0f5f7fcdd64 (patch)
tree23a2ac20dfcea78d0b223dbdd10da21a5a439366 /storage/innobase/fil
parentff55d900fbeb1d426e7737caef6748c3f13bf4e6 (diff)
parent06ae6c6dfe6e1e3225815ab0de070db3475eefa1 (diff)
downloadmariadb-git-476a8660e6472d68ea3faa221733e0f5f7fcdd64.tar.gz
InnoDB 5.6.22
Diffstat (limited to 'storage/innobase/fil')
-rw-r--r--storage/innobase/fil/fil0fil.cc26
1 files changed, 20 insertions, 6 deletions
diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc
index ba0476b1772..a77893b7ab7 100644
--- a/storage/innobase/fil/fil0fil.cc
+++ b/storage/innobase/fil/fil0fil.cc
@@ -1941,7 +1941,8 @@ UNIV_INTERN
ibool
fil_inc_pending_ops(
/*================*/
- ulint id) /*!< in: space id */
+ ulint id, /*!< in: space id */
+ ibool print_err) /*!< in: need to print error or not */
{
fil_space_t* space;
@@ -1950,10 +1951,12 @@ fil_inc_pending_ops(
space = fil_space_get_by_id(id);
if (space == NULL) {
- fprintf(stderr,
- "InnoDB: Error: trying to do an operation on a"
- " dropped tablespace %lu\n",
- (ulong) id);
+ if (print_err) {
+ fprintf(stderr,
+ "InnoDB: Error: trying to do an operation on a"
+ " dropped tablespace %lu\n",
+ (ulong) id);
+ }
}
if (space == NULL || space->stop_new_ops) {
@@ -4109,7 +4112,18 @@ fil_load_single_table_tablespace(
/* Build up the tablename in the standard form database/table. */
tablename = static_cast<char*>(
mem_alloc(dbname_len + filename_len + 2));
- sprintf(tablename, "%s/%s", dbname, filename);
+
+ /* When lower_case_table_names = 2 it is possible that the
+ dbname is in upper case ,but while storing it in fil_space_t
+ we must convert it into lower case */
+ sprintf(tablename, "%s" , dbname);
+ tablename[dbname_len] = '\0';
+
+ if (lower_case_file_system) {
+ dict_casedn_str(tablename);
+ }
+
+ sprintf(tablename+dbname_len,"/%s",filename);
tablename_len = strlen(tablename) - strlen(".ibd");
tablename[tablename_len] = '\0';