Commit 1a7a0189 authored by Eugene Kosov's avatar Eugene Kosov

MDEV-16557 Remove INNOBASE_SHARE::idx_trans_tbl

INNOBASE_SHARE: remove

check_index_consistency(): iterates through keys and looks for InnoDB and .frm
mismatches.

ha_innobase::innobase_get_index(): now uses dict_table_get_index_on_name()

dict_table_get_index_on_name(): uses strcmp() instead of innobase_casestrcmp()
as we just need to know whether strings are equal or not
parent ef3070e9
......@@ -6311,7 +6311,7 @@ dict_table_get_index_on_name(
while (index != NULL) {
if (index->is_committed() == committed
&& innobase_strcasecmp(index->name, name) == 0) {
&& strcmp(index->name, name) == 0) {
return(index);
}
......
This diff is collapsed.
......@@ -23,35 +23,6 @@ this program; if not, write to the Free Software Foundation, Inc.,
system clustered index when there is no primary key. */
extern const char innobase_index_reserve_name[];
/* Structure defines translation table between mysql index and InnoDB
index structures */
struct innodb_idx_translate_t {
ulint index_count; /*!< number of valid index entries
in the index_mapping array */
ulint array_size; /*!< array size of index_mapping */
dict_index_t** index_mapping; /*!< index pointer array directly
maps to index in InnoDB from MySQL
array index */
};
/** InnoDB table share */
typedef struct st_innobase_share {
THR_LOCK lock;
const char* table_name; /*!< InnoDB table name */
uint use_count; /*!< reference count,
incremented in get_share()
and decremented in
free_share() */
void* table_name_hash;
/*!< hash table chain node */
innodb_idx_translate_t
idx_trans_tbl; /*!< index translation table between
MySQL and InnoDB */
} INNOBASE_SHARE;
/** Prebuilt structures in an InnoDB table handle used within MySQL */
struct row_prebuilt_t;
......@@ -492,9 +463,6 @@ class ha_innobase: public handler
THR_LOCK_DATA lock;
/** information for MySQL table locking */
INNOBASE_SHARE* m_share;
/** buffer used in updates */
uchar* m_upd_buf;
......@@ -631,17 +599,6 @@ trx_t*
innobase_trx_allocate(
MYSQL_THD thd); /*!< in: user thread handle */
/** Match index columns between MySQL and InnoDB.
This function checks whether the index column information
is consistent between KEY info from mysql and that from innodb index.
@param[in] key_info Index info from mysql
@param[in] index_info Index info from InnoDB
@return true if all column types match. */
bool
innobase_match_index_columns(
const KEY* key_info,
const dict_index_t* index_info);
/*********************************************************************//**
This function checks each index name for a table against reserved
system default primary index name 'GEN_CLUST_INDEX'. If a name
......
......@@ -8883,12 +8883,6 @@ ha_innobase::commit_inplace_alter_table(
log_append_on_checkpoint(NULL);
/* Invalidate the index translation table. In partitioned
tables, there is no share. */
if (m_share) {
m_share->idx_trans_tbl.index_count = 0;
}
/* Tell the InnoDB server that there might be work for
utility threads: */
......
......@@ -3791,17 +3791,6 @@ row_merge_drop_indexes(
ut_ad(prev);
ut_a(table->fts);
fts_drop_index(table, index, trx);
/* Since
INNOBASE_SHARE::idx_trans_tbl
is shared between all open
ha_innobase handles to this
table, no thread should be
accessing this dict_index_t
object. Also, we should be
holding LOCK=SHARED MDL on the
table even after the MDL
upgrade timeout. */
/* We can remove a DICT_FTS
index from the cache, because
we do not allow ADD FULLTEXT INDEX
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment