From e0a47156ac1a1fe27d64c945042ba36fae488aaa Mon Sep 17 00:00:00 2001 From: "joerg@mysql.com" <> Date: Wed, 9 Nov 2005 18:36:10 +0100 Subject: [PATCH 1/5] Compile fix for NDB 5.1.2 on Solaris, provided by Pekka. --- storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp | 8 +++++--- storage/ndb/src/kernel/blocks/pgman.hpp | 3 +++ storage/ndb/src/kernel/blocks/restore.hpp | 3 +++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp index 8a60c26b4ef..a9fef297bef 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp +++ b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp @@ -250,6 +250,7 @@ class Dbtup: public SimulatedBlock { friend class Suma; public: struct KeyReqStruct; +friend struct KeyReqStruct; // CC typedef bool (Dbtup::* ReadFunction)(Uint32*, KeyReqStruct*, AttributeHeader*, @@ -2345,14 +2346,15 @@ private: //--------------------------------------------------------------- // // Public methods - Uint32* alloc_var_rec(Fragrecord*, Tablerec*, Uint32, Local_key*, Uint32*, - Uint32 base); + Uint32* alloc_var_rec(Fragrecord*const, Tablerec*const, Uint32, Local_key*, + Uint32*, Uint32 base); void free_var_part(Fragrecord*, Tablerec*, Var_part_ref, Uint32 chain); void free_var_part(Fragrecord*, Tablerec*, Local_key*, Var_page*, Uint32 chain); void validate_page(Tablerec*, Var_page* page); - Uint32* alloc_fix_rec(Fragrecord*, Tablerec*, Local_key*, Uint32 *); + Uint32* alloc_fix_rec(Fragrecord*const, Tablerec*const, Local_key*, + Uint32*); void free_fix_rec(Fragrecord*, Tablerec*, Local_key*, Fix_page*); // Private methods diff --git a/storage/ndb/src/kernel/blocks/pgman.hpp b/storage/ndb/src/kernel/blocks/pgman.hpp index 276cc60ee4c..da59afa5794 100644 --- a/storage/ndb/src/kernel/blocks/pgman.hpp +++ b/storage/ndb/src/kernel/blocks/pgman.hpp @@ -243,6 +243,9 @@ public: private: friend class Page_cache_client; + struct Page_entry; // CC + friend struct Page_entry; + struct Page_request { enum Flags { OP_MASK = 0x000F // 4 bits for TUP operation diff --git a/storage/ndb/src/kernel/blocks/restore.hpp b/storage/ndb/src/kernel/blocks/restore.hpp index 5654bcebd0e..12d093b4593 100644 --- a/storage/ndb/src/kernel/blocks/restore.hpp +++ b/storage/ndb/src/kernel/blocks/restore.hpp @@ -72,6 +72,9 @@ public: }; private: + struct File; // CC + friend struct File; + struct File { File() {} From 6961bd0255402f025d5fa7e8a1475b46e4de1b5e Mon Sep 17 00:00:00 2001 From: "joerg@mysql.com" <> Date: Wed, 9 Nov 2005 18:44:28 +0100 Subject: [PATCH 2/5] Hack! Compile fix to provide a "typedef" for "u_int32_t" where it is missing. Should be replaced by a cleaner solution. --- sql/mysqld.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index b039ce9c3d9..5bc13fad39b 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -390,6 +390,9 @@ extern ulong srv_commit_concurrency; } #endif #ifdef WITH_BERKELEY_STORAGE_ENGINE +#ifndef HAVE_U_INT32_T +typedef unsigned int u_int32_t; +#endif extern const u_int32_t bdb_DB_TXN_NOSYNC, bdb_DB_RECOVER, bdb_DB_PRIVATE; extern bool berkeley_shared_data; extern u_int32_t berkeley_init_flags,berkeley_env_flags, berkeley_lock_type, From bffe8fb29d8febf573df70be33927df94918ab5d Mon Sep 17 00:00:00 2001 From: "pekka@mysql.com" <> Date: Fri, 11 Nov 2005 11:36:00 +0100 Subject: [PATCH 3/5] ndb - 5.1.2 build fix: array initializer crashes gcc-2.95.3 --- .../src/kernel/blocks/dbtup/DbtupRoutines.cpp | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp index d44400222fb..230d4f0108a 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp @@ -113,22 +113,25 @@ Dbtup::setUpQueryRoutines(Tablerec* const regTabPtr) } if(AttributeDescriptor::getDiskBased(attrDescr)) { - ReadFunction r[] = { - &Dbtup::readDiskBitsNotNULL, - &Dbtup::readDiskBitsNULLable, - &Dbtup::readDiskFixedSizeNotNULL, - &Dbtup::readDiskFixedSizeNULLable, - &Dbtup::readDiskVarSizeNULLable, - &Dbtup::readDiskVarSizeNotNULL - }; - UpdateFunction u[] = { - &Dbtup::updateDiskBitsNotNULL, - &Dbtup::updateDiskBitsNULLable, - &Dbtup::updateDiskFixedSizeNotNULL, - &Dbtup::updateDiskFixedSizeNULLable, - &Dbtup::updateDiskVarSizeNULLable, - &Dbtup::updateDiskVarSizeNotNULL - }; + // array initializer crashes gcc-2.95.3 + ReadFunction r[6]; + { + r[0] = &Dbtup::readDiskBitsNotNULL; + r[1] = &Dbtup::readDiskBitsNULLable; + r[2] = &Dbtup::readDiskFixedSizeNotNULL; + r[3] = &Dbtup::readDiskFixedSizeNULLable; + r[4] = &Dbtup::readDiskVarSizeNULLable; + r[5] = &Dbtup::readDiskVarSizeNotNULL; + } + UpdateFunction u[6]; + { + u[0] = &Dbtup::updateDiskBitsNotNULL; + u[1] = &Dbtup::updateDiskBitsNULLable; + u[2] = &Dbtup::updateDiskFixedSizeNotNULL; + u[3] = &Dbtup::updateDiskFixedSizeNULLable; + u[4] = &Dbtup::updateDiskVarSizeNULLable; + u[5] = &Dbtup::updateDiskVarSizeNotNULL; + } Uint32 a= AttributeDescriptor::getArrayType(attrDescr) == NDB_ARRAYTYPE_FIXED ? 2 : 4; From e98fad6bcbb4313c1de49fd5616abd21845995e7 Mon Sep 17 00:00:00 2001 From: "pekka@mysql.com" <> Date: Fri, 11 Nov 2005 12:47:10 +0100 Subject: [PATCH 4/5] ndb - 5.1.2 build fix: Signal syms in test pgms on hp3750 --- storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp | 4 ++++ storage/ndb/src/kernel/blocks/print_file.cpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp b/storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp index 6f3586ddfd2..31811ecfafb 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp @@ -123,3 +123,7 @@ main(void) } template class Vector; + +// hp3750 +struct Signal { Signal(); int foo; }; +Signal::Signal(){} diff --git a/storage/ndb/src/kernel/blocks/print_file.cpp b/storage/ndb/src/kernel/blocks/print_file.cpp index 70441553671..14b83cccaee 100644 --- a/storage/ndb/src/kernel/blocks/print_file.cpp +++ b/storage/ndb/src/kernel/blocks/print_file.cpp @@ -368,3 +368,6 @@ print_undo_page(int count, void* ptr, Uint32 sz){ return 0; } + +// hp3750 +Signal::Signal(){} From ebb6552b1c19472532ad50e61a56c36db60a5c97 Mon Sep 17 00:00:00 2001 From: "joerg@mysql.com" <> Date: Fri, 11 Nov 2005 18:48:53 +0100 Subject: [PATCH 5/5] scripts/make_binary_distribution.sh Adapt to the directory hierarchy change in 5.1, "ndb" -> "storage/ndb". --- scripts/make_binary_distribution.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 5767728fe4f..ea78133cc5e 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -308,7 +308,7 @@ fi # NDB Cluster if [ x$NDBCLUSTER = x1 ]; then - ( cd ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) + ( cd storage/ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) ( cd mysql-test/ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) $CP $BASE/ndb-stage@bindir@/* $BASE/bin/. $CP $BASE/ndb-stage@libexecdir@/* $BASE/bin/.