• unknown's avatar
    bug#12118 - ndb alter table data loss · c7744c6d
    unknown authored
      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''
    c7744c6d
ha_ndbcluster.cc 134 KB