2747 Jonas Oreland 2008-11-14 [merge]
merge 62 to 63
modified:
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
2746 Jonas Oreland 2008-11-14 [merge]
merge 62 to 63
modified:
storage/ndb/include/ndb_version.h.in
=== modified file 'storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp'
--- a/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp 2008-05-30 06:35:19 +0000
+++ b/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp 2008-11-14 11:19:35 +0000
@@ -2264,7 +2264,8 @@ private:
void writeFileHeaderOpen(Signal* signal, Uint32 type);
void writeInitMbyte(Signal* signal);
void writeSinglePage(Signal* signal, Uint32 pageNo,
- Uint32 wordWritten, Uint32 place);
+ Uint32 wordWritten, Uint32 place,
+ bool sync = true);
void buildLinkedLogPageList(Signal* signal);
void changeMbyte(Signal* signal);
Uint32 checkIfExecLog(Signal* signal);
=== modified file 'storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp 2008-11-08 21:22:57 +0000
+++ b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp 2008-11-14 11:19:35 +0000
@@ -13418,7 +13418,7 @@ void Dblqh::openFileInitLab(Signal* sign
logFilePtr.p->logFileStatus = LogFileRecord::OPEN_INIT;
seizeLogpage(signal);
writeSinglePage(signal, (clogFileSize * ZPAGES_IN_MBYTE) - 1,
- ZPAGE_SIZE - 1, __LINE__);
+ ZPAGE_SIZE - 1, __LINE__, false);
lfoPtr.p->lfoState = LogFileOperationRecord::INIT_WRITE_AT_END;
return;
}//Dblqh::openFileInitLab()
@@ -13459,7 +13459,7 @@ void Dblqh::initFirstPageLab(Signal* sig
logPagePtr.p->logPageWord[ZPOS_LOG_LAP] = 1;
logPagePtr.p->logPageWord[ZPAGE_HEADER_SIZE] = ZCOMPLETED_GCI_TYPE;
logPagePtr.p->logPageWord[ZPAGE_HEADER_SIZE + 1] = 1;
- writeSinglePage(signal, 1, ZPAGE_SIZE - 1, __LINE__);
+ writeSinglePage(signal, 1, ZPAGE_SIZE - 1, __LINE__, false);
lfoPtr.p->lfoState = LogFileOperationRecord::WRITE_GCI_ZERO;
return;
}//if
@@ -13930,12 +13930,13 @@ void Dblqh::writeFileHeaderOpen(Signal*
/* LOG FILE. THIS HAS SPECIAL SIGNIFANCE TO FIND */
/* THE END OF THE LOG AT SYSTEM RESTART. */
/* ------------------------------------------------------- */
- writeSinglePage(signal, 0, ZPAGE_SIZE - 1, __LINE__);
if (wmoType == ZINIT) {
jam();
+ writeSinglePage(signal, 0, ZPAGE_SIZE - 1, __LINE__, false);
lfoPtr.p->lfoState = LogFileOperationRecord::INIT_FIRST_PAGE;
} else {
jam();
+ writeSinglePage(signal, 0, ZPAGE_SIZE - 1, __LINE__, true);
lfoPtr.p->lfoState = LogFileOperationRecord::FIRST_PAGE_WRITE_IN_LOGFILE;
}//if
logFilePtr.p->filePosition = 1;
@@ -13965,7 +13966,7 @@ void Dblqh::writeInitMbyte(Signal* signa
{
initLogpage(signal);
writeSinglePage(signal, logFilePtr.p->currentMbyte * ZPAGES_IN_MBYTE,
- ZPAGE_SIZE - 1, __LINE__);
+ ZPAGE_SIZE - 1, __LINE__, false);
lfoPtr.p->lfoState = LogFileOperationRecord::WRITE_INIT_MBYTE;
}//Dblqh::writeInitMbyte()
@@ -13976,7 +13977,8 @@ void Dblqh::writeInitMbyte(Signal* signa
/* SUBROUTINE SHORT NAME: WSP */
/* ------------------------------------------------------------------------- */
void Dblqh::writeSinglePage(Signal* signal, Uint32 pageNo,
- Uint32 wordWritten, Uint32 place)
+ Uint32 wordWritten, Uint32 place,
+ bool sync)
{
seizeLfo(signal);
initLfo(signal);
@@ -13998,7 +14000,7 @@ void Dblqh::writeSinglePage(Signal* sign
signal->theData[0] = logFilePtr.p->fileRef;
signal->theData[1] = cownref;
signal->theData[2] = lfoPtr.i;
- signal->theData[3] = ZLIST_OF_PAIRS_SYNCH;
+ signal->theData[3] = sync ? ZLIST_OF_PAIRS_SYNCH : ZLIST_OF_PAIRS;
signal->theData[4] = ZVAR_NO_LOG_PAGE_WORD;
signal->theData[5] = 1; /* ONE PAGE WRITTEN */
signal->theData[6] = logPagePtr.i;
| Thread |
|---|
| • bzr push into mysql-5.1 branch (jonas:2746 to 2747) | Jonas Oreland | 14 Nov |