Below is the list of changes that have just been committed into a local
5.1 repository of jonas. When jonas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.1977 05/12/23 10:50:22 jonas@eel.(none) +4 -0
ndb - opt nr
fix ordered indexes
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp
1.16 05/12/23 10:50:13 jonas@eel.(none) +2 -3
remove unused arg to removeTuxEntries
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp
1.35 05/12/23 10:50:13 jonas@eel.(none) +45 -0
New method for deleting row during NR
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp
1.11 05/12/23 10:50:13 jonas@eel.(none) +0 -4
remove unused code
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
1.33 05/12/23 10:50:13 jonas@eel.(none) +1 -1
New method for deleting row during NR
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jonas
# Host: eel.(none)
# Root: /home/jonas/src/51-ndb
--- 1.32/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp 2005-12-21 16:52:29 +01:00
+++ 1.33/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp 2005-12-23 10:50:13 +01:00
@@ -1389,6 +1389,7 @@
int nr_read_pk(Uint32 fragPtr, const Local_key*, Uint32* dataOut, bool©);
int nr_update_gci(Uint32 fragPtr, const Local_key*, Uint32 gci);
+ int nr_delete(Signal*, Uint32 fragPtr, const Local_key*);
private:
BLOCK_DEFINES(Dbtup);
@@ -2113,7 +2114,6 @@
Tablerec* regTabPtr);
void removeTuxEntries(Signal* signal,
- Operationrec* regOperPtr,
Tablerec* regTabPtr);
// *****************************************************************
--- 1.10/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp 2005-12-21 16:41:52 +01:00
+++ 1.11/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp 2005-12-23 10:50:13 +01:00
@@ -51,10 +51,6 @@
PagePtr pagePtr;
Tuple_header* ptr= (Tuple_header*)get_ptr(&pagePtr, &tmp, regTabPtr.p);
-
- Uint32 *disk_ref_ptr = ptr->get_disk_ref_ptr(regTabPtr.p);
- signal->theData[0] = disk_ref_ptr[0];
- signal->theData[1] = disk_ref_ptr[1];
if (regTabPtr.p->m_attributes[MM].m_no_of_varsize)
{
--- 1.34/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp 2005-12-23 08:34:19 +01:00
+++ 1.35/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp 2005-12-23 10:50:13 +01:00
@@ -3036,3 +3036,48 @@
}
return ret;
}
+
+#include <signaldata/TuxMaint.hpp>
+
+int
+Dbtup::nr_delete(Signal* signal, Uint32 fragPtrI, const Local_key* key)
+{
+ FragrecordPtr fragPtr;
+ fragPtr.i= fragPtrI;
+ ptrCheckGuard(fragPtr, cnoOfFragrec, fragrecord);
+ TablerecPtr tablePtr;
+ tablePtr.i= fragPtr.p->fragTableId;
+ ptrCheckGuard(tablePtr, cnoOfTablerec, tablerec);
+
+ Local_key tmp = * key;
+ tmp.m_page_no= getRealpid(fragPtr.p, tmp.m_page_no);
+
+ PagePtr pagePtr;
+ Tuple_header* ptr= (Tuple_header*)get_ptr(&pagePtr, &tmp, tablePtr.p);
+
+ if (!tablePtr.p->tuxCustomTriggers.isEmpty())
+ {
+ jam();
+ TuxMaintReq* req = (TuxMaintReq*)signal->getDataPtrSend();
+ req->tableId = fragPtr.p->fragTableId;
+ req->fragId = fragPtr.p->fragmentId;
+ req->pageId = tmp.m_page_no;
+ req->pageIndex = tmp.m_page_idx;
+ req->tupVersion = ptr->get_tuple_version();
+ req->opInfo = TuxMaintReq::OpRemove;
+ removeTuxEntries(signal, tablePtr.p);
+ }
+
+ Uint32 *disk_ref_ptr = ptr->get_disk_ref_ptr(tablePtr.p);
+ signal->theData[0] = disk_ref_ptr[0];
+ signal->theData[1] = disk_ref_ptr[1];
+
+ if (tablePtr.p->m_attributes[MM].m_no_of_varsize)
+ {
+ jam();
+ free_var_rec(fragPtr.p, tablePtr.p, &tmp, pagePtr);
+ } else {
+ jam();
+ free_fix_rec(fragPtr.p, tablePtr.p, &tmp, (Fix_page*)pagePtr.p);
+ }
+}
--- 1.15/storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp 2005-11-07 12:19:07 +01:00
+++ 1.16/storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp 2005-12-23 10:50:13 +01:00
@@ -1159,7 +1159,7 @@
req->pageIndex = regOperPtr->m_tuple_location.m_page_idx;
req->tupVersion = tupVersion;
req->opInfo = TuxMaintReq::OpRemove;
- removeTuxEntries(signal, regOperPtr, regTabPtr);
+ removeTuxEntries(signal, regTabPtr);
}
void
@@ -1191,12 +1191,11 @@
req->pageIndex = regOperPtr->m_tuple_location.m_page_idx;
req->tupVersion = tupVersion;
req->opInfo = TuxMaintReq::OpRemove;
- removeTuxEntries(signal, regOperPtr, regTabPtr);
+ removeTuxEntries(signal, regTabPtr);
}
void
Dbtup::removeTuxEntries(Signal* signal,
- Operationrec* regOperPtr,
Tablerec* regTabPtr)
{
TuxMaintReq* const req = (TuxMaintReq*)signal->getDataPtrSend();
| Thread |
|---|
| • bk commit into 5.1 tree (jonas:1.1977) | jonas | 23 Dec |