Below is the list of changes that have just been committed into a local
5.1 repository of jonas. When jonas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-08-23 19:09:17+02:00, jonas@stripped +5 -0
Merge eel.hemma.oreland.se:/home/jonas/src/telco-6.2
into eel.hemma.oreland.se:/home/jonas/src/62-backup
MERGE: 1.2553.1.1
storage/ndb/include/ndb_version.h.in@stripped, 2007-08-23 19:09:13+02:00, jonas@stripped +2 -2
merge
MERGE: 1.18.1.3
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp@stripped, 2007-08-23 19:08:11+02:00, jonas@stripped +0 -0
Auto merged
MERGE: 1.85.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp@stripped, 2007-08-23 19:08:11+02:00, jonas@stripped +0 -0
Auto merged
MERGE: 1.49.1.2
storage/ndb/src/kernel/blocks/restore.cpp@stripped, 2007-08-23 19:08:11+02:00, jonas@stripped +0 -0
Auto merged
MERGE: 1.19.1.1
storage/ndb/tools/restore/restore_main.cpp@stripped, 2007-08-23 19:08:11+02:00, jonas@stripped +0 -0
Auto merged
MERGE: 1.62.1.1
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jonas
# Host: eel.hemma.oreland.se
# Root: /home/jonas/src/62-backup/RESYNC
--- 1.20/storage/ndb/src/kernel/blocks/restore.cpp 2007-06-26 22:41:16 +02:00
+++ 1.21/storage/ndb/src/kernel/blocks/restore.cpp 2007-08-23 19:08:11 +02:00
@@ -1290,7 +1290,7 @@
{
char buf[255];
char verbuf[255];
- getVersionString(file_version, 0, 0, verbuf, sizeof(verbuf));
+ ndbGetVersionString(file_version, 0, 0, verbuf, sizeof(verbuf));
BaseString::snprintf(buf, sizeof(buf),
"Unsupported version of LCP files found on disk, "
" found: %s", verbuf);
--- 1.19/storage/ndb/include/ndb_version.h.in 2007-06-26 22:40:01 +02:00
+++ 1.20/storage/ndb/include/ndb_version.h.in 2007-08-23 19:09:13 +02:00
@@ -16,8 +16,7 @@
#ifndef NDB_VERSION_H
#define NDB_VERSION_H
-#include <ndb_global.h>
-#include <version.h>
+#include <ndb_types.h>
#define NDB_VERSION_MAJOR @NDB_VERSION_MAJOR@
#define NDB_VERSION_MINOR @NDB_VERSION_MINOR@
@@ -30,21 +29,36 @@
#define NDB_MYSQL_VERSION_MINOR @NDB_MYSQL_VERSION_MINOR@
#define NDB_MYSQL_VERSION_BUILD @NDB_MYSQL_VERSION_BUILD@
-#define MAKE_VERSION(A,B,C) (((A) << 16) | ((B) << 8) | ((C) << 0))
+#define NDB_MAKE_VERSION(A,B,C) (((A) << 16) | ((B) << 8) | ((C) << 0))
-#define NDB_MYSQL_VERSION_D MAKE_VERSION(NDB_MYSQL_VERSION_MAJOR, NDB_MYSQL_VERSION_MINOR, NDB_MYSQL_VERSION_BUILD)
-#define NDB_VERSION_D MAKE_VERSION(NDB_VERSION_MAJOR, NDB_VERSION_MINOR, NDB_VERSION_BUILD)
+#define NDB_MYSQL_VERSION_D NDB_MAKE_VERSION(NDB_MYSQL_VERSION_MAJOR, NDB_MYSQL_VERSION_MINOR, NDB_MYSQL_VERSION_BUILD)
+#define NDB_VERSION_D NDB_MAKE_VERSION(NDB_VERSION_MAJOR, NDB_VERSION_MINOR, NDB_VERSION_BUILD)
#define NDB_VERSION_STRING_BUF_SZ 100
#ifdef __cplusplus
-extern "C"
-#else
-extern
+extern "C" {
#endif
-char ndb_version_string_buf[NDB_VERSION_STRING_BUF_SZ];
-#define NDB_VERSION_STRING (getVersionString(NDB_VERSION, NDB_MYSQL_VERSION_D,\
- NDB_VERSION_STATUS, \
- ndb_version_string_buf, \
- sizeof(ndb_version_string_buf)))
+
+void ndbPrintVersion();
+
+Uint32 ndbMakeVersion(Uint32 major, Uint32 minor, Uint32 build);
+
+Uint32 ndbGetMajor(Uint32 version);
+
+Uint32 ndbGetMinor(Uint32 version);
+
+Uint32 ndbGetBuild(Uint32 version);
+
+const char* ndbGetVersionString(Uint32 version, Uint32 mysql_version, const char * status,
+ char *buf, unsigned sz);
+const char* ndbGetOwnVersionString();
+
+Uint32 ndbGetOwnVersion();
+
+#ifdef __cplusplus
+}
+#endif
+
+#define NDB_VERSION_STRING ndbGetOwnVersionString()
#define NDB_VERSION ndbGetOwnVersion()
@@ -59,20 +73,20 @@
/**
* From which version do we support rowid
*/
-#define NDBD_ROWID_VERSION (MAKE_VERSION(5,1,6))
-#define NDBD_INCL_NODECONF_VERSION_4 MAKE_VERSION(4,1,17)
-#define NDBD_INCL_NODECONF_VERSION_5 MAKE_VERSION(5,0,18)
-#define NDBD_FRAGID_VERSION (MAKE_VERSION(5,1,6))
-#define NDBD_DICT_LOCK_VERSION_5 MAKE_VERSION(5,0,23)
-#define NDBD_DICT_LOCK_VERSION_5_1 MAKE_VERSION(5,1,12)
+#define NDBD_ROWID_VERSION (NDB_MAKE_VERSION(5,1,6))
+#define NDBD_INCL_NODECONF_VERSION_4 NDB_MAKE_VERSION(4,1,17)
+#define NDBD_INCL_NODECONF_VERSION_5 NDB_MAKE_VERSION(5,0,18)
+#define NDBD_FRAGID_VERSION (NDB_MAKE_VERSION(5,1,6))
+#define NDBD_DICT_LOCK_VERSION_5 NDB_MAKE_VERSION(5,0,23)
+#define NDBD_DICT_LOCK_VERSION_5_1 NDB_MAKE_VERSION(5,1,12)
-#define NDBD_UPDATE_FRAG_DIST_KEY_50 MAKE_VERSION(5,0,26)
-#define NDBD_UPDATE_FRAG_DIST_KEY_51 MAKE_VERSION(5,1,12)
+#define NDBD_UPDATE_FRAG_DIST_KEY_50 NDB_MAKE_VERSION(5,0,26)
+#define NDBD_UPDATE_FRAG_DIST_KEY_51 NDB_MAKE_VERSION(5,1,12)
-#define NDBD_QMGR_SINGLEUSER_VERSION_5 MAKE_VERSION(5,0,25)
+#define NDBD_QMGR_SINGLEUSER_VERSION_5 NDB_MAKE_VERSION(5,0,25)
-#define NDBD_SPLIT_VERSION MAKE_VERSION(6,1,0)
-#define NDBD_NODE_VERSION_REP MAKE_VERSION(6,1,1)
+#define NDBD_SPLIT_VERSION NDB_MAKE_VERSION(6,1,0)
+#define NDBD_NODE_VERSION_REP NDB_MAKE_VERSION(6,1,1)
#define NDBD_255_NODES_VERSION MAKE_VERSION(5,1,4)
#define NDBD_PREPARE_COPY_FRAG_VERSION MAKE_VERSION(6,2,1)
--- 1.63/storage/ndb/tools/restore/restore_main.cpp 2007-06-26 22:41:16 +02:00
+++ 1.64/storage/ndb/tools/restore/restore_main.cpp 2007-08-23 19:08:11 +02:00
@@ -725,7 +725,7 @@
char buf[NDB_VERSION_STRING_BUF_SZ];
info.setLevel(254);
info << "Ndb version in backup files: "
- << getVersionString(version, 0, 0, buf, sizeof(buf)) << endl;
+ << ndbGetVersionString(version, 0, 0, buf, sizeof(buf)) << endl;
/**
* check wheater we can restore the backup (right version).
@@ -735,9 +735,9 @@
if (version >= MAKE_VERSION(5,1,3) && version <= MAKE_VERSION(5,1,9))
{
err << "Restore program incompatible with backup versions between "
- << getVersionString(MAKE_VERSION(5,1,3), 0, 0, buf, sizeof(buf))
+ << ndbGetVersionString(MAKE_VERSION(5,1,3), 0, 0, buf, sizeof(buf))
<< " and "
- << getVersionString(MAKE_VERSION(5,1,9), 0, 0, buf, sizeof(buf))
+ << ndbGetVersionString(MAKE_VERSION(5,1,9), 0, 0, buf, sizeof(buf))
<< endl;
exitHandler(NDBT_FAILED);
}
--- 1.86/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp 2007-06-26 22:41:16 +02:00
+++ 1.87/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp 2007-08-23 19:08:11 +02:00
@@ -433,6 +433,8 @@
struct AlterTabOperation {
Uint32 nextAlterTabOp;
Uint32 newNoOfAttrs;
+ Uint32 newNoOfCharsets;
+ Uint32 newNoOfKeyAttrs;
Uint32 noOfDynNullBits;
Uint32 noOfDynVar;
Uint32 noOfDynFix;
--- 1.50/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp 2007-06-26 22:40:01 +02:00
+++ 1.51/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp 2007-08-23 19:08:11 +02:00
@@ -677,7 +677,8 @@
/* Can only add attributes if varpart already present. */
if((regTabPtr->m_attributes[MM].m_no_of_varsize +
- regTabPtr->m_attributes[MM].m_no_of_dynamic) == 0)
+ regTabPtr->m_attributes[MM].m_no_of_dynamic +
+ (regTabPtr->m_bits & Tablerec::TR_ForceVarPart)) == 0)
{
sendAlterTabRef(signal, req, ZINVALID_ALTER_TAB);
return;
@@ -687,6 +688,8 @@
seizeAlterTabOperation(regAlterTabOpPtr);
regAlterTabOpPtr.p->newNoOfAttrs= newNoOfAttr;
+ regAlterTabOpPtr.p->newNoOfCharsets= newNoOfCharsets;
+ regAlterTabOpPtr.p->newNoOfKeyAttrs= newNoOfKeyAttrs;
/* Allocate a new (possibly larger) table descriptor buffer. */
Uint32 allocSize= getTabDescrOffsets(newNoOfAttr, newNoOfCharsets,
@@ -728,6 +731,12 @@
*/
Uint32 charsetIndex= regTabPtr->noOfCharsets;
Uint32 dyn_nullbits= regTabPtr->m_dyn_null_bits;
+ if (dyn_nullbits == 0)
+ {
+ jam();
+ dyn_nullbits = DYN_BM_LEN_BITS;
+ }
+
Uint32 noDynFix= regTabPtr->m_attributes[MM].m_no_of_dyn_fix;
Uint32 noDynVar= regTabPtr->m_attributes[MM].m_no_of_dyn_var;
Uint32 noDynamic= regTabPtr->m_attributes[MM].m_no_of_dynamic;
@@ -867,6 +876,8 @@
/* Set new attribute counts. */
regTabPtr->m_no_of_attributes= regAlterTabOpPtr.p->newNoOfAttrs;
+ regTabPtr->noOfCharsets= regAlterTabOpPtr.p->newNoOfCharsets;
+ regTabPtr->noOfKeyAttr= regAlterTabOpPtr.p->newNoOfKeyAttrs;
regTabPtr->m_attributes[MM].m_no_of_dyn_fix= regAlterTabOpPtr.p->noOfDynFix;
regTabPtr->m_attributes[MM].m_no_of_dyn_var= regAlterTabOpPtr.p->noOfDynVar;
regTabPtr->m_attributes[MM].m_no_of_dynamic= regAlterTabOpPtr.p->noOfDynamic;
| Thread |
|---|
| • bk commit into 5.1 tree (jonas:1.2613) | jonas | 23 Aug |