2836 Stewart Smith 2008-09-04
ensure NDB is built with NDB_BINLOG on Win32
modified:
CMakeLists.txt
config.cmake
2835 Stewart Smith 2008-09-04
fix un-inited data structure in DbtupMeta.cpp.
Zero on creation.
found by VS runtime on NDB on Win32
modified:
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp
2834 Stewart Smith 2008-09-04
fix un-initialised value in DBDICT causing commands to fail with error instead of succeeding (m_read_locked needs to be inited to zero).
found on Win32 running mysql-test-run and ndb (in rpl tests)
modified:
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
2833 Stewart Smith 2008-09-04
Don't use FILE_FLAG_NO_BUFFERING on Win32 in NDB kernel for IO by default (has alignment and block size requirements).
As a side note, if you do set NO_BUFFERING and get the error back on WriteFile, we don't properly handle it. This, of course,
is not particularly good as just being stuck in start phase 4 really doesn't help the user (or developer :)
modified:
storage/ndb/src/kernel/blocks/ndbfs/Win32AsyncFile.cpp
2832 Vladislav Vaintroub 2008-09-04
fix Win64 build of NDB-win32 tree (related to my_socket)
modified:
include/config-win.h
2831 Stewart Smith 2008-09-04
fix unitialised use of secPtr (warning from VisualStudio runtime)
modified:
storage/ndb/src/kernel/vm/TransporterCallback.cpp
2830 Stewart Smith 2008-09-03
fix ndb_mgmd.exe using 100% cpu bug (regression from previous patchsets)
modified:
storage/ndb/src/common/util/SocketServer.cpp
=== modified file 'CMakeLists.txt'
--- a/CMakeLists.txt 2008-08-20 13:22:29 +0000
+++ b/CMakeLists.txt 2008-09-04 05:47:01 +0000
@@ -90,6 +90,9 @@ IF(WITH_NDBCLUSTER_STORAGE_ENGINE)
ha_ndbcluster.cc ha_ndbcluster_cond.cc
ha_ndbcluster_connection.cc ha_ndbcluster_binlog.cc
)
+ IF(WITH_NDB_BINLOG)
+ ADD_DEFINITIONS(-DWITH_NDB_BINLOG)
+ ENDIF(WITH_NDB_BINLOG)
ELSE(WITH_NDBCLUSTER_STORAGE_ENGINE)
SET (NDB_CLIENT_INCLUDES "")
SET (NDB_HANDLER_SRC "")
=== modified file 'config.cmake'
--- a/config.cmake 2008-08-27 06:49:57 +0000
+++ b/config.cmake 2008-09-04 05:47:01 +0000
@@ -100,6 +100,7 @@ SET(WITH_EMBEDDED_SERVER FALSE CACHE BOO
IF(WITH_NDBCLUSTER_STORAGE_ENGINE)
SET(WITH_PARTITION_STORAGE_ENGINE TRUE)
+ SET(WITH_NDB_BINLOG TRUE)
ENDIF(WITH_NDBCLUSTER_STORAGE_ENGINE)
SET(NDB_SCI_INCLUDES "" CACHE STRING "")
=== modified file 'include/config-win.h'
--- a/include/config-win.h 2008-08-21 06:33:53 +0000
+++ b/include/config-win.h 2008-09-04 04:26:14 +0000
@@ -149,10 +149,11 @@ typedef UINT_PTR rf_SetTimer;
#ifndef HAVE_SIZE_T
typedef unsigned int size_t;
#endif
-#define ssize_t SSIZE_T
typedef uint rf_SetTimer;
#endif
+#define ssize_t SSIZE_T
+
#define Socket_defined
#ifndef __cplusplus
#define bool BOOL
=== modified file 'storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp'
--- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2008-08-21 06:31:42 +0000
+++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2008-09-04 05:42:04 +0000
@@ -2026,6 +2026,7 @@ void Dbdict::initialiseTableRecord(Table
tablePtr.p->indexState = TableRecord::IS_UNDEFINED;
tablePtr.p->triggerId = RNIL;
tablePtr.p->buildTriggerId = RNIL;
+ tablePtr.p->m_read_locked= 0;
}//Dbdict::initialiseTableRecord()
void Dbdict::initTriggerRecords()
=== modified file 'storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp 2008-06-05 20:34:20 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp 2008-09-04 05:43:14 +0000
@@ -508,6 +508,7 @@ void Dbtup::execTUPFRAGREQ(Signal* signa
ndbrequire(regFragPtr.p->free_var_page_array[i].isEmpty());
CreateFilegroupImplReq rep;
+ bzero(&rep,sizeof(rep));
if(regTabPtr.p->m_no_of_disk_attributes)
{
Tablespace_client tsman(0, c_tsman, 0, 0,
=== modified file 'storage/ndb/src/kernel/blocks/ndbfs/Win32AsyncFile.cpp'
--- a/storage/ndb/src/kernel/blocks/ndbfs/Win32AsyncFile.cpp 2008-08-21 06:38:48 +0000
+++ b/storage/ndb/src/kernel/blocks/ndbfs/Win32AsyncFile.cpp 2008-09-04 04:38:17 +0000
@@ -47,7 +47,15 @@ void Win32AsyncFile::openReq(Request* re
DWORD dwCreationDisposition;
DWORD dwDesiredAccess = 0;
DWORD dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE;
- DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS | FILE_FLAG_NO_BUFFERING;
+ /**
+ * FIXME:
+ * Previously we had FILE_FLAG_NO_BUFFERING also set here.
+ * This has similar alignment rules to O_DIRECT on 2.4 kernels.
+ * which means we should obey the directio req as we can't do it
+ * everywhere (this seemingly "worked" in 5.0 though), e.g. by default
+ * LCP isn't aligned IO.
+ */
+ DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS;
Uint32 flags = request->par.open.flags;
// Convert file open flags from Solaris to Windows
=== modified file 'storage/ndb/src/kernel/vm/TransporterCallback.cpp'
--- a/storage/ndb/src/kernel/vm/TransporterCallback.cpp 2008-08-28 12:23:34 +0000
+++ b/storage/ndb/src/kernel/vm/TransporterCallback.cpp 2008-09-04 04:25:23 +0000
@@ -275,6 +275,7 @@ TransporterCallbackKernel::deliver_signa
bool ok = true;
Ptr<SectionSegment> secPtr[3];
+ bzero(secPtr, sizeof(secPtr));
secPtr[0].p = secPtr[1].p = secPtr[2].p = 0;
switch(secCount){
| Thread |
|---|
| • bzr push into mysql-5.1 branch (stewart:2830 to 2836) | Stewart Smith | 4 Sep |