Hi,
General comment 1: looks like a good start
General comment 2: using quilt to separate logical changes in patch would be good
1) backwards scan
2) move-tuple
3) optimize table
General (not) comment 3: I did not look at all at the
NdbOptimizeTableHandleOrSomethingWithLongName implementation
General comment 4: i think the DbtupScan changes looks quite big...can it be made smaller?
Comment 5: Can't this be removed
NdbOperation::setOptimize(Uint64 options)
Comment 6: Isnt below dead code, i.e lets remove it for now and add it as part of a
"real-move" patch
@@ -1144,6 +1145,21 @@ void Dbacc::execACCKEYREQ(Signal* signal
operationRecPtr.p->m_op_bits = opbits;
return;
} else {
+ if (op == ZMOVE) {
+ //TODO, for fixpart moving
+ /**
+ * We need update element data since we need to update
+ * acc key after moving fixpart of optimizing table,
+ * and this should not influnce lock issue.
+ * On NON-primary fragment node, need to update forcely,
+ * because normally cannot get lock in commit phase.
+ */
+ Uint32 eh = gePageptr.p->word32[tgeElementptr];
+ operationRecPtr.p->elementPage = gePageptr.i;
+ operationRecPtr.p->elementContainer = tgeContainerptr;
+ operationRecPtr.p->elementPointer = tgeElementptr;
+ operationRecPtr.p->elementIsforward = tgeForward;
+ }