diff options
author | unknown <jonas@perch.ndb.mysql.com> | 2006-01-12 11:31:51 +0100 |
---|---|---|
committer | unknown <jonas@perch.ndb.mysql.com> | 2006-01-12 11:31:51 +0100 |
commit | 45f3e9ec3fcf6faa8a9400cc513e87bda3fa27a6 (patch) | |
tree | f33bbe3f2bd7ff2e8b13a18d29cf5f0610b1c722 /storage | |
parent | 558d08518f6a56590ff7951611192e788d594099 (diff) | |
parent | a5ac8675b5a34834e76e05a7b37e5a707bd58f5e (diff) | |
download | mariadb-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.cpp | 5 | ||||
-rw-r--r-- | storage/ndb/src/kernel/blocks/suma/Suma.cpp | 10 |
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)); |