diff options
Diffstat (limited to 'ndb/src/ndbapi/NdbSchemaOp.cpp')
-rw-r--r-- | ndb/src/ndbapi/NdbSchemaOp.cpp | 205 |
1 files changed, 0 insertions, 205 deletions
diff --git a/ndb/src/ndbapi/NdbSchemaOp.cpp b/ndb/src/ndbapi/NdbSchemaOp.cpp deleted file mode 100644 index 9e495229661..00000000000 --- a/ndb/src/ndbapi/NdbSchemaOp.cpp +++ /dev/null @@ -1,205 +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 */ - - -/***************************************************************************** -Name: NdbSchemaOp.C -Include: -Link: -Author: UABMNST Mona Natterkvist UAB/B/SD - EMIKRON Mikael Ronstrom -Date: 020826 -Version: 2.0 -Description: Interface between application and NDB -Documentation: Handles createTable and createAttribute calls - -Adjust: 980125 UABMNST First version. - 020826 EMIKRON New version for new DICT -*****************************************************************************/ -#include <assert.h> -#include "NdbSchemaOp.hpp" -#include "NdbSchemaCon.hpp" -#include "API.hpp" - -/***************************************************************************** -NdbSchemaOp(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 NdbSchemaOp. -*****************************************************************************/ -NdbSchemaOp::NdbSchemaOp(Ndb* aNdb) : - theNdb(aNdb), - theSchemaCon(NULL), - m_currentTable(NULL) -{ -}//NdbSchemaOp::NdbSchemaOp() - -/***************************************************************************** -~NdbSchemaOp(); - -Remark: Delete tables for connection pointers (id). -*****************************************************************************/ -NdbSchemaOp::~NdbSchemaOp( ) -{ -}//~NdbSchemaOp::NdbSchemaOp() - -/***************************************************************************** -int createTable( const char* tableName ) -*****************************************************************************/ -int -NdbSchemaOp::createTable(const char* aTableName, - Uint32 aTableSize, - KeyType aTupleKey, - int aNrOfPages, - FragmentType aFragmentType, - int aKValue, - int aMinLoadFactor, - int aMaxLoadFactor, - int aMemoryType, - bool aStoredTable) -{ - if(m_currentTable != 0){ - return -1; - } - - m_currentTable = new NdbDictionary::Table(aTableName); - m_currentTable->setKValue(aKValue); - m_currentTable->setMinLoadFactor(aMinLoadFactor); - m_currentTable->setMaxLoadFactor(aMaxLoadFactor); - m_currentTable->setLogging(aStoredTable); - m_currentTable->setFragmentType(NdbDictionary::Object::FragAllMedium); - return 0; -}//NdbSchemaOp::createTable() - -/****************************************************************************** -int createAttribute( const char* anAttrName, - KeyType aTupleyKey, - int anAttrSize, - int anArraySize, - AttrType anAttrType, - SafeType aSafeType, - StorageMode aStorageMode, - int aNullAttr, - int aStorageAttr ); - -******************************************************************************/ -int -NdbSchemaOp::createAttribute( const char* anAttrName, - KeyType aTupleKey, - int anAttrSize, - int anArraySize, - AttrType anAttrType, - StorageMode aStorageMode, - bool nullable, - StorageAttributeType aStorageAttr, - int aDistributionKeyFlag, - int aDistributionGroupFlag, - int aDistributionGroupNoOfBits, - bool aAutoIncrement, - const char* aDefaultValue) -{ - if (m_currentTable == 0){ - return -1; - }//if - - NdbDictionary::Column col(anAttrName); - switch(anAttrType){ - case Signed: - if(anAttrSize == 64) - col.setType(NdbDictionary::Column::Bigint); - else - col.setType(NdbDictionary::Column::Int); - break; - case UnSigned: - if(anAttrSize == 64) - col.setType(NdbDictionary::Column::Bigunsigned); - else - col.setType(NdbDictionary::Column::Unsigned); - break; - case Float: - if(anAttrSize == 64) - col.setType(NdbDictionary::Column::Double); - else - col.setType(NdbDictionary::Column::Float); - break; - case String: - col.setType(NdbDictionary::Column::Char); - break; - case NoAttrTypeDef: - abort(); - } - col.setLength(anArraySize); - col.setNullable(nullable); - if(aTupleKey != NoKey) - col.setPrimaryKey(true); - else - col.setPrimaryKey(false); - - col.setDistributionKey(aDistributionKeyFlag); - col.setDistributionGroup(aDistributionGroupFlag,aDistributionGroupNoOfBits); - col.setAutoIncrement(aAutoIncrement); - col.setDefaultValue(aDefaultValue != 0 ? aDefaultValue : ""); - - m_currentTable->addColumn(col); - return 0; -} - -/****************************************************************************** -void release(); - -Remark: Release all objects connected to the schemaop object. -******************************************************************************/ -void -NdbSchemaOp::release(){ -}//NdbSchemaOp::release() - -/****************************************************************************** -int sendRec() - -Return Value: Return 0 : send was succesful. - Return -1: In all other case. -Parameters: -Remark: Send and receive signals for schema transaction based on state -******************************************************************************/ -int -NdbSchemaOp::sendRec(){ - int retVal = 0; - if(m_currentTable == 0){ - retVal = -1; - } else { - retVal = theNdb->getDictionary()->createTable(* m_currentTable); - delete m_currentTable; - theSchemaCon->theError.code = theNdb->getDictionary()->getNdbError().code; - } - - return retVal; -}//NdbSchemaOp::sendRec() - -/****************************************************************************** -int init(); - -Return Value: Return 0 : init was successful. - Return -1: In all other case. -Remark: Initiates SchemaOp record after allocation. -******************************************************************************/ -int -NdbSchemaOp::init(NdbSchemaCon* aSchemaCon) -{ - theSchemaCon = aSchemaCon; - return 0; -}//NdbSchemaOp::init() |