1
/* Copyright (C) 2003 MySQL AB
3
This program is free software; you can redistribute it and/or modify
4
it under the terms of the GNU General Public License as published by
5
the Free Software Foundation; version 2 of the License.
7
This program is distributed in the hope that it will be useful,
8
but WITHOUT ANY WARRANTY; without even the implied warranty of
9
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
GNU General Public License for more details.
12
You should have received a copy of the GNU General Public License
13
along with this program; if not, write to the Free Software
14
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
18
#include <NdbError.hpp>
19
#include <portlib/NdbMem.h>
20
#include "NdbEventOperationImpl.hpp"
21
#include "NdbDictionaryImpl.hpp"
23
NdbEventOperation::NdbEventOperation(Ndb *theNdb,const char* eventName)
24
: m_impl(* new NdbEventOperationImpl(*this,theNdb,eventName))
28
NdbEventOperation::~NdbEventOperation()
30
NdbEventOperationImpl * tmp = &m_impl;
35
NdbEventOperation::State NdbEventOperation::getState()
37
return m_impl.getState();
40
void NdbEventOperation::mergeEvents(bool flag)
42
m_impl.m_mergeEvents = flag;
46
NdbEventOperation::getValue(const char *colName, char *aValue)
48
return m_impl.getValue(colName, aValue, 0);
52
NdbEventOperation::getPreValue(const char *colName, char *aValue)
54
return m_impl.getValue(colName, aValue, 1);
58
NdbEventOperation::getBlobHandle(const char *colName)
60
return m_impl.getBlobHandle(colName, 0);
64
NdbEventOperation::getPreBlobHandle(const char *colName)
66
return m_impl.getBlobHandle(colName, 1);
70
NdbEventOperation::execute()
72
return m_impl.execute();
76
NdbEventOperation::isOverrun() const
82
NdbEventOperation::isConsistent() const
88
NdbEventOperation::clearError()
90
m_impl.m_has_error= 0;
94
NdbEventOperation::hasError() const
96
return m_impl.m_has_error;
99
bool NdbEventOperation::tableNameChanged() const
101
return m_impl.tableNameChanged();
104
bool NdbEventOperation::tableFrmChanged() const
106
return m_impl.tableFrmChanged();
109
bool NdbEventOperation::tableFragmentationChanged() const
111
return m_impl.tableFragmentationChanged();
114
bool NdbEventOperation::tableRangeListChanged() const
116
return m_impl.tableRangeListChanged();
120
NdbEventOperation::getGCI() const
122
return m_impl.getGCI();
126
NdbEventOperation::getAnyValue() const
128
return m_impl.getAnyValue();
132
NdbEventOperation::getLatestGCI() const
134
return m_impl.getLatestGCI();
137
NdbDictionary::Event::TableEvent
138
NdbEventOperation::getEventType() const
140
return m_impl.getEventType();
144
NdbEventOperation::print()
150
* Internal for the mysql server
152
const NdbDictionary::Table *NdbEventOperation::getTable() const
154
return m_impl.m_eventImpl->m_tableImpl->m_facade;
156
const NdbDictionary::Event *NdbEventOperation::getEvent() const
158
return m_impl.m_eventImpl->m_facade;
160
const NdbRecAttr* NdbEventOperation::getFirstPkAttr() const
162
return m_impl.theFirstPkAttrs[0];
164
const NdbRecAttr* NdbEventOperation::getFirstPkPreAttr() const
166
return m_impl.theFirstPkAttrs[1];
168
const NdbRecAttr* NdbEventOperation::getFirstDataAttr() const
170
return m_impl.theFirstDataAttrs[0];
172
const NdbRecAttr* NdbEventOperation::getFirstDataPreAttr() const
174
return m_impl.theFirstDataAttrs[1];
177
bool NdbEventOperation::validateTable(NdbDictionary::Table &table) const
179
DBUG_ENTER("NdbEventOperation::validateTable");
181
if (table.getObjectVersion() != m_impl.m_eventImpl->m_tableVersion)
183
DBUG_PRINT("info",("invalid version"));
189
void NdbEventOperation::setCustomData(void * data)
191
m_impl.m_custom_data= data;
193
void * NdbEventOperation::getCustomData() const
195
return m_impl.m_custom_data;
198
int NdbEventOperation::getReqNodeId() const
200
return SubTableData::getReqNodeId(m_impl.m_data_item->sdata->requestInfo);
203
int NdbEventOperation::getNdbdNodeId() const
205
return SubTableData::getNdbdNodeId(m_impl.m_data_item->sdata->requestInfo);
212
NdbEventOperation::NdbEventOperation(NdbEventOperationImpl& impl)
215
const struct NdbError &
216
NdbEventOperation::getNdbError() const {
217
return m_impl.getNdbError();