diff options
author | unknown <jonas@eel.(none)> | 2005-08-18 14:02:25 +0200 |
---|---|---|
committer | unknown <jonas@eel.(none)> | 2005-08-18 14:02:25 +0200 |
commit | 337fa5e194b7be6b2a95fa228efef157f0d897e0 (patch) | |
tree | 6f3c0b63f33e6dea6c70660522793c74ff935e53 /ndb/src/mgmsrv | |
parent | a08c0aa6fa5dfb7a67ff6e5c8cbf7fb4f3a2d519 (diff) | |
download | mariadb-git-337fa5e194b7be6b2a95fa228efef157f0d897e0.tar.gz |
bug#12118 - ndb alter table data loss
Split table version into 2 (major, minor)
Impl. signaling to API when table has been altered
Allow running transactions to use any minor number for transactions
mysql-test/r/ndb_alter_table.result:
Allow running transactions to use old table definition when possible.
mysql-test/t/ndb_alter_table.test:
Allow running transactions to use old table definition when possible.
ndb/include/kernel/BlockNumbers.h:
remove GREP
ndb/include/kernel/GlobalSignalNumbers.h:
Add ALTER_TABL_REP and API_BROADCAST_REP
ndb/include/kernel/kernel_types.h:
table_version_major
ndb/include/kernel/signaldata/AlterTable.hpp:
New error code for alter table during rolling upgrade
ndb/include/ndbapi/NdbDictionary.hpp:
Add state on table object to represent an altered but still valid table object
ndb/src/common/debugger/BlockNames.cpp:
remove GREP
ndb/src/common/util/version.c:
Fix upgrades
ndb/src/kernel/SimBlockList.cpp:
remove GREP
ndb/src/kernel/blocks/Makefile.am:
remove GREP
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
remove GREP
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Split tableSchemaVersion into 2 part
24 bit real version
8 bit for online alter table where old table definition is still usable
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Check for same ndb versions
ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
Update schema printer
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
remove grep
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
1) Use table_ version_major when checking table version
2) Dummy fix for BUG that tableSchemaVersion is only 16 bit in LQHKEYREQ
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
1) Use table_ version_major when checking table version
2) Dummy fix for BUG that tableSchemaVersion is only 16 bit in LQHKEYREQ
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
1) Use table_ version_major when checking table version
2) Dummy fix for BUG that tableSchemaVersion is only 16 bit in LQHKEYREQ
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
remove GREP
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Add support for sending REP to ALL api nodes
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
Add support for sending REP to ALL api nodes
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Add support for sending REP to ALL api nodes
ndb/src/kernel/blocks/suma/Suma.cpp:
remove GREP
ndb/src/mgmsrv/MgmtSrvr.cpp:
remove GREP
ndb/src/ndbapi/DictCache.cpp:
Add support for alter_table_rep
by setting status to Altered
NOTE special handling of tables in state RETREIVING
ndb/src/ndbapi/DictCache.hpp:
Add support for alter_table_rep
by setting status to Altered
NOTE special handling of tables in state RETREIVING
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Change alter table so that remove from global cache is used wo/ retreiving it from there first
as ALTER_TABLE_REP might already have changed the table object...
ndb/src/ndbapi/TransporterFacade.cpp:
Add support for ALTER_TABLE_REP
sql/ha_ndbcluster.cc:
Allow running transactions to use tables in state ALTERED...but new transactions may not...
ndb/include/kernel/signaldata/ApiBroadcast.hpp:
New BitKeeper file ``ndb/include/kernel/signaldata/ApiBroadcast.hpp''
Diffstat (limited to 'ndb/src/mgmsrv')
-rw-r--r-- | ndb/src/mgmsrv/MgmtSrvr.cpp | 39 |
1 files changed, 1 insertions, 38 deletions
diff --git a/ndb/src/mgmsrv/MgmtSrvr.cpp b/ndb/src/mgmsrv/MgmtSrvr.cpp index ceaedc9955b..292e13a234b 100644 --- a/ndb/src/mgmsrv/MgmtSrvr.cpp +++ b/ndb/src/mgmsrv/MgmtSrvr.cpp @@ -2541,44 +2541,7 @@ MgmtSrvr::backupCallback(BackupEvent & event) int MgmtSrvr::repCommand(Uint32* repReqId, Uint32 request, bool waitCompleted) { - bool next; - NodeId nodeId = 0; - - while((next = getNextNodeId(&nodeId, NDB_MGM_NODE_TYPE_NDB)) == true && - theFacade->get_node_alive(nodeId) == false); - - if(!next){ - return NO_CONTACT_WITH_DB_NODES; - } - - NdbApiSignal* signal = getSignal(); - if (signal == NULL) { - return COULD_NOT_ALLOCATE_MEMORY; - } - - GrepReq* req = CAST_PTR(GrepReq, signal->getDataPtrSend()); - signal->set(TestOrd::TraceAPI, GREP, GSN_GREP_REQ, GrepReq::SignalLength); - req->senderRef = _ownReference; - req->request = request; - - int result; - if (waitCompleted) - result = sendRecSignal(nodeId, NO_WAIT, signal, true); - else - result = sendRecSignal(nodeId, NO_WAIT, signal, true); - if (result == -1) { - return SEND_OR_RECEIVE_FAILED; - } - - /** - * @todo - * Maybe add that we should receive a confirmation that the - * request was received ok. - * Then we should give the user the correct repReqId. - */ - - *repReqId = 4711; - + abort(); return 0; } |