Commit 94d21618 authored by mskold@mysql.com's avatar mskold@mysql.com

Bug #16997 Table rename that changes database does not rename indexes: merge

parent cdccc772
...@@ -1182,6 +1182,15 @@ public: ...@@ -1182,6 +1182,15 @@ public:
const Index * getIndex(const char * indexName, const Index * getIndex(const char * indexName,
const char * tableName) const; const char * tableName) const;
/**
* Get index with given name, NULL if undefined
* @param indexName Name of index to get.
* @param Table instance table that index belongs to.
* @return index if successful, otherwise 0.
*/
const Index * getIndex(const char * indexName,
const Table & table) const;
/** /**
* Fetch list of indexes of given table. * Fetch list of indexes of given table.
* @param list Reference to list where to store the listed indexes * @param list Reference to list where to store the listed indexes
...@@ -1301,23 +1310,15 @@ public: ...@@ -1301,23 +1310,15 @@ public:
*/ */
int dropIndex(const char * indexName, int dropIndex(const char * indexName,
const char * tableName); const char * tableName);
/**
* Get index with given name, NULL if undefined
* @param indexName Name of index to get.
* @param tableName Name of table that index belongs to.
* @return index if successful, otherwise 0.
*/
const Index * getIndex(const char * indexName,
const char * tableName);
/** /**
* Get index with given name, NULL if undefined * Drop index the defined Index instance
* @param indexName Name of index to get. * @param Index to drop
* @param Table instance table that index belongs to. * @return 0 if successful otherwise -1.
* @return index if successful, otherwise 0.
*/ */
const Index * getIndex(const char * indexName, int dropIndex(const Index &);
const Table & table);
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
/** /**
* Invalidate cached index object * Invalidate cached index object
......
...@@ -818,7 +818,7 @@ NdbDictionary::Dictionary::getIndex(const char * indexName, ...@@ -818,7 +818,7 @@ NdbDictionary::Dictionary::getIndex(const char * indexName,
const NdbDictionary::Index * const NdbDictionary::Index *
NdbDictionary::Dictionary::getIndex(const char * indexName, NdbDictionary::Dictionary::getIndex(const char * indexName,
const Table & t) const Table & t) const
{ {
NdbIndexImpl * i = m_impl.getIndex(indexName, & NdbTableImpl::getImpl(t)); NdbIndexImpl * i = m_impl.getIndex(indexName, & NdbTableImpl::getImpl(t));
if(i) if(i)
......
...@@ -702,6 +702,7 @@ inline ...@@ -702,6 +702,7 @@ inline
NdbIndexImpl * NdbIndexImpl *
NdbDictionaryImpl::getIndex(const char * index_name, NdbDictionaryImpl::getIndex(const char * index_name,
const char * table_name) const char * table_name)
{
return getIndex(index_name, (table_name) ? getTable(table_name) : NULL); return getIndex(index_name, (table_name) ? getTable(table_name) : NULL);
} }
...@@ -710,7 +711,7 @@ NdbIndexImpl * ...@@ -710,7 +711,7 @@ NdbIndexImpl *
NdbDictionaryImpl::getIndex(const char * index_name, NdbDictionaryImpl::getIndex(const char * index_name,
NdbTableImpl * table) NdbTableImpl * table)
{ {
if (table || m_ndb.usingFullyQualifiedNames()) { if (table || m_ndb.usingFullyQualifiedNames())
{ {
const BaseString internal_indexname( const BaseString internal_indexname(
(table) (table)
......
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