mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
c7744c6df5
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''
80 lines
2.5 KiB
C
80 lines
2.5 KiB
C
/* 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 */
|
|
|
|
#ifndef BLOCK_NUMBERS_H
|
|
#define BLOCK_NUMBERS_H
|
|
|
|
#include <kernel_types.h>
|
|
#include <RefConvert.hpp>
|
|
|
|
/* 240 */
|
|
#define MIN_API_BLOCK_NO 0x8000
|
|
|
|
/* 2047 */
|
|
#define API_PACKED 0x07ff
|
|
|
|
/* 4002 */
|
|
#define API_CLUSTERMGR 0x0FA2
|
|
|
|
#define BACKUP 0xF4
|
|
#define DBTC 0xF5
|
|
#define DBDIH 0xF6
|
|
#define DBLQH 0xF7
|
|
#define DBACC 0xF8
|
|
#define DBTUP 0xF9
|
|
#define DBDICT 0xFA
|
|
#define NDBCNTR 0xFB
|
|
#define CNTR 0xFB
|
|
#define QMGR 0xFC
|
|
#define NDBFS 0xFD
|
|
#define CMVMI 0xFE
|
|
#define TRIX 0xFF
|
|
#define DBUTIL 0x100
|
|
#define SUMA 0x101
|
|
#define DBTUX 0x102
|
|
|
|
const BlockReference BACKUP_REF = numberToRef(BACKUP, 0);
|
|
const BlockReference DBTC_REF = numberToRef(DBTC, 0);
|
|
const BlockReference DBDIH_REF = numberToRef(DBDIH, 0);
|
|
const BlockReference DBLQH_REF = numberToRef(DBLQH, 0);
|
|
const BlockReference DBACC_REF = numberToRef(DBACC, 0);
|
|
const BlockReference DBTUP_REF = numberToRef(DBTUP, 0);
|
|
const BlockReference DBDICT_REF = numberToRef(DBDICT, 0);
|
|
const BlockReference NDBCNTR_REF = numberToRef(NDBCNTR, 0);
|
|
const BlockReference QMGR_REF = numberToRef(QMGR, 0);
|
|
const BlockReference NDBFS_REF = numberToRef(NDBFS, 0);
|
|
const BlockReference CMVMI_REF = numberToRef(CMVMI, 0);
|
|
const BlockReference TRIX_REF = numberToRef(TRIX, 0);
|
|
const BlockReference DBUTIL_REF = numberToRef(DBUTIL, 0);
|
|
const BlockReference SUMA_REF = numberToRef(SUMA, 0);
|
|
const BlockReference DBTUX_REF = numberToRef(DBTUX, 0);
|
|
|
|
const BlockNumber MIN_BLOCK_NO = BACKUP;
|
|
const BlockNumber MAX_BLOCK_NO = DBTUX;
|
|
const BlockNumber NO_OF_BLOCKS = (MAX_BLOCK_NO - MIN_BLOCK_NO + 1);
|
|
|
|
/**
|
|
* Used for printing and stuff
|
|
*/
|
|
struct BlockName {
|
|
const char* name;
|
|
BlockNumber number;
|
|
};
|
|
|
|
extern const BlockName BlockNames[];
|
|
extern const BlockNumber NO_OF_BLOCK_NAMES;
|
|
|
|
#endif
|