diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-09-07 09:47:42 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-09-07 09:47:42 +0200 |
commit | dbd009d6614992e5a31177aa1c7b59c8faf84a18 (patch) | |
tree | a8eb066be0bd733a1c6c8c71746e09048db5bd0c /include/dict0dict.ic | |
parent | 6bd24f07d4357d32a4bc7208654dc8bd0df30b76 (diff) | |
download | mariadb-git-dbd009d6614992e5a31177aa1c7b59c8faf84a18.tar.gz |
Percona-Server-5.5.33-rel31.1.tar.gz
Diffstat (limited to 'include/dict0dict.ic')
-rw-r--r-- | include/dict0dict.ic | 40 |
1 files changed, 8 insertions, 32 deletions
diff --git a/include/dict0dict.ic b/include/dict0dict.ic index eeb916fe181..1d2eb34042d 100644 --- a/include/dict0dict.ic +++ b/include/dict0dict.ic @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -823,34 +823,6 @@ dict_table_check_if_in_cache_low( } /**********************************************************************//** -load a table into dictionary cache, ignore any error specified during load; -@return table, NULL if not found */ -UNIV_INLINE -dict_table_t* -dict_table_get_low_ignore_err( -/*==========================*/ - const char* table_name, /*!< in: table name */ - dict_err_ignore_t - ignore_err) /*!< in: error to be ignored when - loading a table definition */ -{ - dict_table_t* table; - - ut_ad(table_name); - ut_ad(mutex_own(&(dict_sys->mutex))); - - table = dict_table_check_if_in_cache_low(table_name); - - if (table == NULL) { - table = dict_load_table(table_name, TRUE, ignore_err); - } - - ut_ad(!table || table->cached); - - return(table); -} - -/**********************************************************************//** Gets a table; loads it to the dictionary cache if necessary. A low-level function. @return table, NULL if not found */ @@ -858,7 +830,10 @@ UNIV_INLINE dict_table_t* dict_table_get_low( /*===============*/ - const char* table_name) /*!< in: table name */ + const char* table_name, /*!< in: table name */ + dict_err_ignore_t + ignore_err) /*!< in: error to be ignored when + loading a table definition */ { dict_table_t* table; @@ -867,7 +842,8 @@ dict_table_get_low( table = dict_table_check_if_in_cache_low(table_name); - if (table && table->corrupted) { + if (table && table->corrupted + && !(ignore_err & DICT_ERR_IGNORE_CORRUPT)) { fprintf(stderr, "InnoDB: table"); ut_print_name(stderr, NULL, TRUE, table->name); if (srv_load_corrupted) { @@ -880,7 +856,7 @@ dict_table_get_low( } if (table == NULL) { - table = dict_load_table(table_name, TRUE, DICT_ERR_IGNORE_NONE); + table = dict_load_table(table_name, TRUE, ignore_err); } ut_ad(!table || table->cached); |