summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2006-02-07 10:26:32 +0100
committerunknown <tomas@poseidon.ndb.mysql.com>2006-02-07 10:26:32 +0100
commit3449ca1aa8f64894bc1e07ffcafcf8636483ceda (patch)
tree241afd517acd8b1ff45c3959b47bd60a3ea6d462
parentad97790a5ca6b392a389d2dcd884cd34ea1155bb (diff)
downloadmariadb-git-3449ca1aa8f64894bc1e07ffcafcf8636483ceda.tar.gz
MySQL Bugs: #16925: ndb, added additional getters on NdbDictionary::Event
-rw-r--r--storage/ndb/src/ndbapi/NdbDictionary.cpp19
-rw-r--r--storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp23
-rw-r--r--storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp1
3 files changed, 25 insertions, 18 deletions
diff --git a/storage/ndb/src/ndbapi/NdbDictionary.cpp b/storage/ndb/src/ndbapi/NdbDictionary.cpp
index 7e7be9c44e0..72b9ed27fec 100644
--- a/storage/ndb/src/ndbapi/NdbDictionary.cpp
+++ b/storage/ndb/src/ndbapi/NdbDictionary.cpp
@@ -922,24 +922,7 @@ int NdbDictionary::Event::getNoOfEventColumns() const
const NdbDictionary::Column *
NdbDictionary::Event::getEventColumn(unsigned no) const
{
- if (m_impl.m_columns.size())
- {
- if (no < m_impl.m_columns.size())
- {
- return m_impl.m_columns[no];
- }
- }
- else if (m_impl.m_attrIds.size())
- {
- if (no < m_impl.m_attrIds.size())
- {
- NdbTableImpl* tab= m_impl.m_tableImpl;
- if (tab == 0)
- return 0;
- return tab->getColumn(m_impl.m_attrIds[no]);
- }
- }
- return 0;
+ return m_impl.getEventColumn(no);
}
void NdbDictionary::Event::mergeEvents(bool flag)
diff --git a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
index 05306baa614..17a637c9567 100644
--- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
+++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
@@ -1178,6 +1178,29 @@ int NdbEventImpl::getNoOfEventColumns() const
return m_attrIds.size() + m_columns.size();
}
+const NdbDictionary::Column *
+NdbEventImpl::getEventColumn(unsigned no) const
+{
+ if (m_columns.size())
+ {
+ if (no < m_columns.size())
+ {
+ return m_columns[no];
+ }
+ }
+ else if (m_attrIds.size())
+ {
+ if (no < m_attrIds.size())
+ {
+ NdbTableImpl* tab= m_tableImpl;
+ if (tab == 0)
+ return 0;
+ return tab->getColumn(m_attrIds[no]);
+ }
+ }
+ return 0;
+}
+
/**
* NdbDictionaryImpl
*/
diff --git a/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp b/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp
index 656d0b5c79c..4ada24b257c 100644
--- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp
+++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp
@@ -287,6 +287,7 @@ public:
void setReport(NdbDictionary::Event::EventReport r);
NdbDictionary::Event::EventReport getReport() const;
int getNoOfEventColumns() const;
+ const NdbDictionary::Column * getEventColumn(unsigned no) const;
void print() {
ndbout_c("NdbEventImpl: id=%d, key=%d",