summaryrefslogtreecommitdiff
path: root/ndb/src/ndbapi/NdbOperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ndb/src/ndbapi/NdbOperation.cpp')
-rw-r--r--ndb/src/ndbapi/NdbOperation.cpp400
1 files changed, 0 insertions, 400 deletions
diff --git a/ndb/src/ndbapi/NdbOperation.cpp b/ndb/src/ndbapi/NdbOperation.cpp
deleted file mode 100644
index c9143444908..00000000000
--- a/ndb/src/ndbapi/NdbOperation.cpp
+++ /dev/null
@@ -1,400 +0,0 @@
-/* Copyright (C) 2003 MySQL AB
-
- 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 Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-#include <ndb_global.h>
-#include <NdbTransaction.hpp>
-#include <NdbOperation.hpp>
-#include "NdbApiSignal.hpp"
-#include "NdbRecAttr.hpp"
-#include "NdbUtil.hpp"
-#include "NdbBlob.hpp"
-#include "ndbapi_limits.h"
-#include <signaldata/TcKeyReq.hpp>
-#include "NdbDictionaryImpl.hpp"
-
-#include "API.hpp"
-#include <NdbOut.hpp>
-
-
-/******************************************************************************
- * NdbOperation(Ndb* aNdb, Table* aTable);
- *
- * Return Value: None
- * Parameters: aNdb: Pointers to the Ndb object.
- * aTable: Pointers to the Table object
- * Remark: Creat an object of NdbOperation.
- ****************************************************************************/
-NdbOperation::NdbOperation(Ndb* aNdb) :
- theReceiver(aNdb),
- theErrorLine(0),
- theNdb(aNdb),
- //theTable(aTable),
- theNdbCon(NULL),
- theNext(NULL),
- theTCREQ(NULL),
- theFirstATTRINFO(NULL),
- theCurrentATTRINFO(NULL),
- theTotalCurrAI_Len(0),
- theAI_LenInCurrAI(0),
- theLastKEYINFO(NULL),
-
- theFirstLabel(NULL),
- theLastLabel(NULL),
- theFirstBranch(NULL),
- theLastBranch(NULL),
- theFirstCall(NULL),
- theLastCall(NULL),
- theFirstSubroutine(NULL),
- theLastSubroutine(NULL),
- theNoOfLabels(0),
- theNoOfSubroutines(0),
-
- m_currentTable(NULL), //theTableId(0xFFFF),
- m_accessTable(NULL), //theAccessTableId(0xFFFF),
- //theSchemaVersion(0),
- theTotalNrOfKeyWordInSignal(8),
- theTupKeyLen(0),
- theNoOfTupKeyLeft(0),
- theOperationType(NotDefined),
- theStatus(Init),
- theMagicNumber(0xFE11D0),
- theScanInfo(0),
- m_tcReqGSN(GSN_TCKEYREQ),
- m_keyInfoGSN(GSN_KEYINFO),
- m_attrInfoGSN(GSN_ATTRINFO),
- theBlobList(NULL),
- m_abortOption(-1)
-{
- theReceiver.init(NdbReceiver::NDB_OPERATION, this);
- theError.code = 0;
-}
-/*****************************************************************************
- * ~NdbOperation();
- *
- * Remark: Delete tables for connection pointers (id).
- *****************************************************************************/
-NdbOperation::~NdbOperation( )
-{
-}
-/******************************************************************************
- *void setErrorCode(int anErrorCode);
- *
- * Remark: Set an Error Code on operation and
- * on connection set an error status.
- *****************************************************************************/
-void
-NdbOperation::setErrorCode(int anErrorCode)
-{
- theError.code = anErrorCode;
- theNdbCon->theErrorLine = theErrorLine;
- theNdbCon->theErrorOperation = this;
- theNdbCon->setOperationErrorCode(anErrorCode);
-}
-
-/******************************************************************************
- * void setErrorCodeAbort(int anErrorCode);
- *
- * Remark: Set an Error Code on operation and on connection set
- * an error status.
- *****************************************************************************/
-void
-NdbOperation::setErrorCodeAbort(int anErrorCode)
-{
- theError.code = anErrorCode;
- theNdbCon->theErrorLine = theErrorLine;
- theNdbCon->theErrorOperation = this;
- theNdbCon->setOperationErrorCodeAbort(anErrorCode);
-}
-
-/*****************************************************************************
- * int init();
- *
- * Return Value: Return 0 : init was successful.
- * Return -1: In all other case.
- * Remark: Initiates operation record after allocation.
- *****************************************************************************/
-
-int
-NdbOperation::init(const NdbTableImpl* tab, NdbTransaction* myConnection){
- NdbApiSignal* tSignal;
- theStatus = Init;
- theError.code = 0;
- theErrorLine = 1;
- m_currentTable = m_accessTable = tab;
-
- theNdbCon = myConnection;
- for (Uint32 i=0; i<NDB_MAX_NO_OF_ATTRIBUTES_IN_KEY; i++)
- for (int j=0; j<3; j++)
- theTupleKeyDefined[i][j] = 0;
-
- theFirstATTRINFO = NULL;
- theCurrentATTRINFO = NULL;
- theLastKEYINFO = NULL;
-
-
- theTupKeyLen = 0;
- theNoOfTupKeyLeft = tab->getNoOfPrimaryKeys();
-
- theTotalCurrAI_Len = 0;
- theAI_LenInCurrAI = 0;
- theStartIndicator = 0;
- theCommitIndicator = 0;
- theSimpleIndicator = 0;
- theDirtyIndicator = 0;
- theInterpretIndicator = 0;
- theDistrKeyIndicator_ = 0;
- theScanInfo = 0;
- theTotalNrOfKeyWordInSignal = 8;
- theMagicNumber = 0xABCDEF01;
- theBlobList = NULL;
- m_abortOption = -1;
-
- tSignal = theNdb->getSignal();
- if (tSignal == NULL)
- {
- setErrorCode(4000);
- return -1;
- }
- theTCREQ = tSignal;
- theTCREQ->setSignal(m_tcReqGSN);
-
- theAI_LenInCurrAI = 20;
- TcKeyReq * const tcKeyReq = CAST_PTR(TcKeyReq, theTCREQ->getDataPtrSend());
- tcKeyReq->scanInfo = 0;
- theKEYINFOptr = &tcKeyReq->keyInfo[0];
- theATTRINFOptr = &tcKeyReq->attrInfo[0];
- theReceiver.init(NdbReceiver::NDB_OPERATION, this);
- return 0;
-}
-
-
-/******************************************************************************
- * void release();
- *
- * Remark: Release all objects connected to the operation object.
- *****************************************************************************/
-void
-NdbOperation::release()
-{
- NdbApiSignal* tSignal;
- NdbApiSignal* tSaveSignal;
- NdbBranch* tBranch;
- NdbBranch* tSaveBranch;
- NdbLabel* tLabel;
- NdbLabel* tSaveLabel;
- NdbCall* tCall;
- NdbCall* tSaveCall;
- NdbSubroutine* tSubroutine;
- NdbSubroutine* tSaveSubroutine;
- NdbBlob* tBlob;
- NdbBlob* tSaveBlob;
-
- tSignal = theTCREQ;
- while (tSignal != NULL)
- {
- tSaveSignal = tSignal;
- tSignal = tSignal->next();
- theNdb->releaseSignal(tSaveSignal);
- }
- theTCREQ = NULL;
- theLastKEYINFO = NULL;
-
- tSignal = theFirstATTRINFO;
- while (tSignal != NULL)
- {
- tSaveSignal = tSignal;
- tSignal = tSignal->next();
- theNdb->releaseSignal(tSaveSignal);
- }
- theFirstATTRINFO = NULL;
- theCurrentATTRINFO = NULL;
-
- if (theInterpretIndicator == 1)
- {
- tBranch = theFirstBranch;
- while (tBranch != NULL)
- {
- tSaveBranch = tBranch;
- tBranch = tBranch->theNext;
- theNdb->releaseNdbBranch(tSaveBranch);
- }
- tLabel = theFirstLabel;
- while (tLabel != NULL)
- {
- tSaveLabel = tLabel;
- tLabel = tLabel->theNext;
- theNdb->releaseNdbLabel(tSaveLabel);
- }
- tCall = theFirstCall;
- while (tCall != NULL)
- {
- tSaveCall = tCall;
- tCall = tCall->theNext;
- theNdb->releaseNdbCall(tSaveCall);
- }
- tSubroutine = theFirstSubroutine;
- while (tSubroutine != NULL)
- {
- tSaveSubroutine = tSubroutine;
- tSubroutine = tSubroutine->theNext;
- theNdb->releaseNdbSubroutine(tSaveSubroutine);
- }
- }
- tBlob = theBlobList;
- while (tBlob != NULL)
- {
- tSaveBlob = tBlob;
- tBlob = tBlob->theNext;
- theNdb->releaseNdbBlob(tSaveBlob);
- }
- theBlobList = NULL;
- theReceiver.release();
-}
-
-NdbRecAttr*
-NdbOperation::getValue(const char* anAttrName, char* aValue)
-{
- return getValue_impl(m_currentTable->getColumn(anAttrName), aValue);
-}
-
-NdbRecAttr*
-NdbOperation::getValue(Uint32 anAttrId, char* aValue)
-{
- return getValue_impl(m_currentTable->getColumn(anAttrId), aValue);
-}
-
-NdbRecAttr*
-NdbOperation::getValue(const NdbDictionary::Column* col, char* aValue)
-{
- return getValue_impl(&NdbColumnImpl::getImpl(*col), aValue);
-}
-
-int
-NdbOperation::equal(const char* anAttrName,
- const char* aValuePassed,
- Uint32 aVariableKeyLen)
-{
- return equal_impl(m_accessTable->getColumn(anAttrName), aValuePassed, aVariableKeyLen);
-}
-
-int
-NdbOperation::equal(Uint32 anAttrId,
- const char* aValuePassed,
- Uint32 aVariableKeyLen)
-{
- return equal_impl(m_accessTable->getColumn(anAttrId), aValuePassed, aVariableKeyLen);
-}
-
-int
-NdbOperation::setValue( const char* anAttrName,
- const char* aValuePassed,
- Uint32 len)
-{
- return setValue(m_currentTable->getColumn(anAttrName), aValuePassed, len);
-}
-
-
-int
-NdbOperation::setValue( Uint32 anAttrId,
- const char* aValuePassed,
- Uint32 len)
-{
- return setValue(m_currentTable->getColumn(anAttrId), aValuePassed, len);
-}
-
-NdbBlob*
-NdbOperation::getBlobHandle(const char* anAttrName)
-{
- return getBlobHandle(theNdbCon, m_currentTable->getColumn(anAttrName));
-}
-
-NdbBlob*
-NdbOperation::getBlobHandle(Uint32 anAttrId)
-{
- return getBlobHandle(theNdbCon, m_currentTable->getColumn(anAttrId));
-}
-
-int
-NdbOperation::incValue(const char* anAttrName, Uint32 aValue)
-{
- return incValue(m_currentTable->getColumn(anAttrName), aValue);
-}
-
-int
-NdbOperation::incValue(const char* anAttrName, Uint64 aValue)
-{
- return incValue(m_currentTable->getColumn(anAttrName), aValue);
-}
-
-int
-NdbOperation::incValue(Uint32 anAttrId, Uint32 aValue)
-{
- return incValue(m_currentTable->getColumn(anAttrId), aValue);
-}
-
-int
-NdbOperation::incValue(Uint32 anAttrId, Uint64 aValue)
-{
- return incValue(m_currentTable->getColumn(anAttrId), aValue);
-}
-
-int
-NdbOperation::subValue( const char* anAttrName, Uint32 aValue)
-{
- return subValue(m_currentTable->getColumn(anAttrName), aValue);
-}
-
-int
-NdbOperation::subValue(Uint32 anAttrId, Uint32 aValue)
-{
- return subValue(m_currentTable->getColumn(anAttrId), aValue);
-}
-
-int
-NdbOperation::read_attr(const char* anAttrName, Uint32 RegDest)
-{
- return read_attr(m_currentTable->getColumn(anAttrName), RegDest);
-}
-
-int
-NdbOperation::read_attr(Uint32 anAttrId, Uint32 RegDest)
-{
- return read_attr(m_currentTable->getColumn(anAttrId), RegDest);
-}
-
-int
-NdbOperation::write_attr(const char* anAttrName, Uint32 RegDest)
-{
- return write_attr(m_currentTable->getColumn(anAttrName), RegDest);
-}
-
-int
-NdbOperation::write_attr(Uint32 anAttrId, Uint32 RegDest)
-{
- return write_attr(m_currentTable->getColumn(anAttrId), RegDest);
-}
-
-const char*
-NdbOperation::getTableName() const
-{
- return m_currentTable->m_externalName.c_str();
-}
-
-const NdbDictionary::Table*
-NdbOperation::getTable() const
-{
- return m_currentTable;
-}