Merge from mysql-5.1 to mysql-5.5
This commit is contained in:
parent
b15c464beb
commit
cdf4bd1ae7
@ -3790,7 +3790,6 @@ ha_innobase::open(
|
||||
dict_table_t* ib_table;
|
||||
char norm_name[1000];
|
||||
THD* thd;
|
||||
ulint retries = 0;
|
||||
char* is_part = NULL;
|
||||
ibool par_case_name_set = FALSE;
|
||||
char par_case_name[MAX_FULL_NAME_LEN + 1];
|
||||
@ -3823,22 +3822,18 @@ ha_innobase::open(
|
||||
upd_buf_size = 0;
|
||||
|
||||
/* We look for pattern #P# to see if the table is partitioned
|
||||
MySQL table. The retry logic for partitioned tables is a
|
||||
workaround for http://bugs.mysql.com/bug.php?id=33349. Look
|
||||
at support issue https://support.mysql.com/view.php?id=21080
|
||||
for more details. */
|
||||
MySQL table. */
|
||||
#ifdef __WIN__
|
||||
is_part = strstr(norm_name, "#p#");
|
||||
#else
|
||||
is_part = strstr(norm_name, "#P#");
|
||||
#endif /* __WIN__ */
|
||||
|
||||
retry:
|
||||
/* Get pointer to a table object in InnoDB dictionary cache */
|
||||
ib_table = dict_table_get(norm_name, TRUE);
|
||||
|
||||
if (NULL == ib_table) {
|
||||
if (is_part && retries < 10) {
|
||||
if (is_part) {
|
||||
/* MySQL partition engine hard codes the file name
|
||||
separator as "#P#". The text case is fixed even if
|
||||
lower_case_table_names is set to 1 or 2. This is true
|
||||
@ -3881,11 +3876,7 @@ retry:
|
||||
ib_table = dict_table_get(
|
||||
par_case_name, FALSE);
|
||||
}
|
||||
if (!ib_table) {
|
||||
++retries;
|
||||
os_thread_sleep(100000);
|
||||
goto retry;
|
||||
} else {
|
||||
if (ib_table) {
|
||||
#ifndef __WIN__
|
||||
sql_print_warning("Partition table %s opened "
|
||||
"after converting to lower "
|
||||
@ -3911,9 +3902,8 @@ retry:
|
||||
}
|
||||
|
||||
if (is_part) {
|
||||
sql_print_error("Failed to open table %s after "
|
||||
"%lu attempts.\n", norm_name,
|
||||
retries);
|
||||
sql_print_error("Failed to open table %s.\n",
|
||||
norm_name);
|
||||
}
|
||||
|
||||
sql_print_error("Cannot find or open table %s from\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user