Commit db261667 authored by unknown's avatar unknown
Browse files

ndb - wl-2451 update schemafile format change to 5.0.6


ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  version update
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  version update
ndb/src/kernel/blocks/dbdict/SchemaFile.hpp:
  version update
ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
  version update
parent 194745cd
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -1013,7 +1013,7 @@ void Dbdict::readSchemaConf(Signal* signal,
    ndbrequire(rr.firstPage == 0);
    SchemaFile * sf = &xsf->schemaPage[0];
    Uint32 noOfPages;
    if (sf->NdbVersion < NDB_SF_VERSION_5_0_5) {
    if (sf->NdbVersion < NDB_SF_VERSION_5_0_6) {
      jam();
      const Uint32 pageSize_old = 32 * 1024;
      noOfPages = pageSize_old / NDB_SF_PAGE_SIZE - 1;
@@ -1032,8 +1032,8 @@ void Dbdict::readSchemaConf(Signal* signal,
  SchemaFile * sf0 = &xsf->schemaPage[0];
  xsf->noOfPages = sf0->FileSize / NDB_SF_PAGE_SIZE;

  if (sf0->NdbVersion < NDB_SF_VERSION_5_0_5 &&
      ! convertSchemaFileTo_5_0_5(xsf)) {
  if (sf0->NdbVersion < NDB_SF_VERSION_5_0_6 &&
      ! convertSchemaFileTo_5_0_6(xsf)) {
    jam();
    ndbrequire(! crashInd);
    ndbrequire(fsPtr.p->fsState == FsConnectRecord::READ_SCHEMA1);
@@ -1113,7 +1113,7 @@ void Dbdict::closeReadSchemaConf(Signal* signal,
}//Dbdict::closeReadSchemaConf()

bool
Dbdict::convertSchemaFileTo_5_0_5(XSchemaFile * xsf)
Dbdict::convertSchemaFileTo_5_0_6(XSchemaFile * xsf)
{
  const Uint32 pageSize_old = 32 * 1024;
  Uint32 page_old[pageSize_old >> 2];
@@ -2175,8 +2175,8 @@ void Dbdict::execSCHEMA_INFO(Signal* signal)
  releaseSections(signal);
  
  SchemaFile * sf0 = &xsf->schemaPage[0];
  if (sf0->NdbVersion < NDB_SF_VERSION_5_0_5) {
    bool ok = convertSchemaFileTo_5_0_5(xsf);
  if (sf0->NdbVersion < NDB_SF_VERSION_5_0_6) {
    bool ok = convertSchemaFileTo_5_0_6(xsf);
    ndbrequire(ok);
  }
    
@@ -11922,8 +11922,8 @@ Dbdict::initSchemaFile(XSchemaFile * xsf, Uint32 firstPage, Uint32 lastPage,
      memset(sf, 0, NDB_SF_PAGE_SIZE);

    Uint32 ndb_version = NDB_VERSION;
    if (ndb_version < NDB_SF_VERSION_5_0_5)
      ndb_version = NDB_SF_VERSION_5_0_5;
    if (ndb_version < NDB_SF_VERSION_5_0_6)
      ndb_version = NDB_SF_VERSION_5_0_6;

    memcpy(sf->Magic, NDB_SF_MAGIC, sizeof(sf->Magic));
    sf->ByteOrder = 0x12345678;
+1 −1
Original line number Diff line number Diff line
@@ -1703,7 +1703,7 @@ private:
  void readSchemaRef(Signal* signal, FsConnectRecordPtr fsPtr);
  void closeReadSchemaConf(Signal* signal,
                           FsConnectRecordPtr fsPtr);
  bool convertSchemaFileTo_5_0_5(XSchemaFile*);
  bool convertSchemaFileTo_5_0_6(XSchemaFile*);

  /* ------------------------------------------------------------ */
  // Get table definitions
+2 −2
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@
#define NDB_SF_MAX_PAGES                160

// versions where format changed
#define NDB_SF_VERSION_5_0_5            MAKE_VERSION(5, 0, 5)
#define NDB_SF_VERSION_5_0_6            MAKE_VERSION(5, 0, 6)

// One page in schema file.
struct SchemaFile {
@@ -71,7 +71,7 @@ struct SchemaFile {
    }
  };

  // pre-5.0.5
  // pre-5.0.6
  struct TableEntry_old {
    Uint32 m_tableState;
    Uint32 m_tableVersion;
+1 −1
Original line number Diff line number Diff line
@@ -195,7 +195,7 @@ NDB_COMMAND(printSchemafile,
    }

    SchemaFile* sf = (SchemaFile *)&buf[0];
    if (sf->NdbVersion < NDB_SF_VERSION_5_0_5)
    if (sf->NdbVersion < NDB_SF_VERSION_5_0_6)
      print_old(filename, sf);
    else
      print(filename, sf, sz);