summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorunknown <jonas@perch.ndb.mysql.com>2006-01-12 11:31:51 +0100
committerunknown <jonas@perch.ndb.mysql.com>2006-01-12 11:31:51 +0100
commit45f3e9ec3fcf6faa8a9400cc513e87bda3fa27a6 (patch)
treef33bbe3f2bd7ff2e8b13a18d29cf5f0610b1c722 /storage
parent558d08518f6a56590ff7951611192e788d594099 (diff)
parenta5ac8675b5a34834e76e05a7b37e5a707bd58f5e (diff)
downloadmariadb-git-45f3e9ec3fcf6faa8a9400cc513e87bda3fa27a6.tar.gz
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into perch.ndb.mysql.com:/home/jonas/src/51-new
Diffstat (limited to 'storage')
-rw-r--r--storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp5
-rw-r--r--storage/ndb/src/kernel/blocks/suma/Suma.cpp10
2 files changed, 11 insertions, 4 deletions
diff --git a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
index 9a842995625..791a4ed439d 100644
--- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
+++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
@@ -15107,7 +15107,7 @@ Dbdict::create_file_abort_complete(Signal* signal, SchemaOp* op)
}
release_object(f_ptr.p->m_obj_ptr_i);
- c_file_pool.release(f_ptr);
+ c_file_hash.release(f_ptr);
}
execute(signal, op->m_callback, 0);
@@ -15145,7 +15145,7 @@ Dbdict::drop_file_commit_complete(Signal* signal, SchemaOp* op)
decrease_ref_count(fg_ptr.p->m_obj_ptr_i);
release_object(f_ptr.p->m_obj_ptr_i);
- c_file_pool.release(f_ptr);
+ c_file_hash.release(f_ptr);
execute(signal, op->m_callback, 0);
}
@@ -15310,6 +15310,7 @@ Dbdict::drop_fg_commit_start(Signal* signal, SchemaOp* op)
tableEntry->m_tableState = SchemaFile::DROP_TABLE_COMMITTED;
computeChecksum(xsf, objId / NDB_SF_PAGE_ENTRIES);
release_object(filePtr.p->m_obj_ptr_i);
+ c_file_hash.remove(filePtr);
}
list.release();
}
diff --git a/storage/ndb/src/kernel/blocks/suma/Suma.cpp b/storage/ndb/src/kernel/blocks/suma/Suma.cpp
index 7cc712162e3..43eb3a965b3 100644
--- a/storage/ndb/src/kernel/blocks/suma/Suma.cpp
+++ b/storage/ndb/src/kernel/blocks/suma/Suma.cpp
@@ -4093,8 +4093,14 @@ Suma::get_buffer_ptr(Signal* signal, Uint32 buck, Uint32 gci, Uint32 sz)
Bucket* bucket= c_buckets+buck;
Page_pos pos= bucket->m_buffer_head;
- Buffer_page* page= (Buffer_page*)m_tup->c_page_pool.getPtr(pos.m_page_id);
- Uint32* ptr= page->m_data + pos.m_page_pos;
+ Buffer_page* page = 0;
+ Uint32 *ptr = 0;
+
+ if (likely(pos.m_page_id != RNIL))
+ {
+ page= (Buffer_page*)m_tup->c_page_pool.getPtr(pos.m_page_id);
+ ptr= page->m_data + pos.m_page_pos;
+ }
const bool same_gci = (gci == pos.m_last_gci) && (!ERROR_INSERTED(13022));