summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2006-02-08 15:03:09 +0300
committerunknown <konstantin@mysql.com>2006-02-08 15:03:09 +0300
commitc02246c461007ae32297a43c2dca90c0ad909dab (patch)
tree7528c2faf9d9bea5bb2eb350e595ccb220e5c809
parentfa86430f2870c7609bb659598ce269aeefa288fa (diff)
downloadmariadb-git-c02246c461007ae32297a43c2dca90c0ad909dab.tar.gz
Post merge-fixes.
Apply a patch by Jonas for NDB diskdata. mysql-test/r/sp-code.result: Fix a test result after merge: 94 and 95 are SQLCOM codes of SQLCOM_CALL. New commands were added in 5.1 so SQLCOM_CALL got renumbered. storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp: Apply second patch by Jonas to make NDB diskdata work on systems without O_DIRECT support.
-rw-r--r--mysql-test/r/sp-code.result4
-rw-r--r--storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp3
2 files changed, 4 insertions, 3 deletions
diff --git a/mysql-test/r/sp-code.result b/mysql-test/r/sp-code.result
index c9fe170dda6..bb0adae6bab 100644
--- a/mysql-test/r/sp-code.result
+++ b/mysql-test/r/sp-code.result
@@ -155,11 +155,11 @@ Pos Instruction
0 stmt 9 "drop temporary table if exists sudoku..."
1 stmt 1 "create temporary table sudoku_work ( ..."
2 stmt 1 "create temporary table sudoku_schedul..."
-3 stmt 95 "call sudoku_init("
+3 stmt 94 "call sudoku_init("
4 jump_if_not 7(8) p_naive@0
5 stmt 4 "update sudoku_work set cnt = 0 where ..."
6 jump 8
-7 stmt 95 "call sudoku_count("
+7 stmt 94 "call sudoku_count("
8 stmt 6 "insert into sudoku_schedule (row,col)..."
9 set v_scounter@2 0
10 set v_i@3 1
diff --git a/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp b/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp
index 41a705fea2d..e0324c2c8ea 100644
--- a/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp
+++ b/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp
@@ -431,6 +431,7 @@ void AsyncFile::openReq(Request* request)
m_fs.EXECUTE_DIRECT(block, GSN_FSWRITEREQ, signal,
FsReadWriteReq::FixedLength + 1);
+ retry:
Uint32 size = request->par.open.page_size;
char* buf = (char*)m_page_ptr.p;
while(size > 0){
@@ -457,7 +458,7 @@ void AsyncFile::openReq(Request* request)
close(theFd);
theFd = ::open(theFileName.c_str(), new_flags, mode);
if (theFd != -1)
- continue;
+ goto retry;
}
#endif
close(theFd);