Below is the list of changes that have just been committed into a local
5.1 repository of justin.he. When justin.he 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@stripped, 2007-03-13 18:18:17+08:00, Justin.He@stripped +17 -0
Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb.test
into dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.test
MERGE: 1.2409.48.10
sql/ha_ndbcluster.cc@stripped, 2007-03-13 18:18:11+08:00, Justin.He@stripped +0
-0
Auto merged
MERGE: 1.408.2.2
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.114.3.1
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.57.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.14.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.21.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.21.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.7.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.35.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.21.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.33.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.32.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.19.1.1
storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.5.1.1
storage/ndb/src/kernel/vm/Pool.hpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -5
Auto merged
MERGE: 1.11.1.1
storage/ndb/src/mgmclient/CommandInterpreter.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.83.1.1
storage/ndb/src/mgmsrv/ConfigInfo.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.98.1.1
storage/ndb/tools/restore/consumer_restore.cpp@stripped, 2007-03-13 18:18:11+08:00,
Justin.He@stripped +0 -0
Auto merged
MERGE: 1.39.1.2
# 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: Justin.He
# Host: dev3-240.dev.cn.tlan
# Root: /home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.test/RESYNC
--- 1.22/storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp 2007-03-13 18:18:25 +08:00
+++ 1.23/storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp 2007-03-13 18:18:25 +08:00
@@ -14,6 +14,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#define DBTUP_C
+#define DBTUP_DISK_ALLOC_CPP
#include "Dbtup.hpp"
static bool f_undo_done = true;
--- 1.6/storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp 2007-03-13 18:18:25 +08:00
+++ 1.7/storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp 2007-03-13 18:18:25 +08:00
@@ -14,12 +14,9 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#define DBTUP_C
+#define DBTUP_VAR_ALLOC_CPP
#include "Dbtup.hpp"
-#define ljam() { jamLine(32000 + __LINE__); }
-#define ljamEntry() { jamEntryLine(32000 + __LINE__); }
-
-
void Dbtup::init_list_sizes(void)
{
c_min_list_size[0]= 200;
@@ -109,9 +106,9 @@
PagePtr pagePtr;
pagePtr.i= get_alloc_page(fragPtr, (alloc_size + 1));
if (pagePtr.i == RNIL) {
- ljam();
+ jam();
if ((pagePtr.i= get_empty_var_page(fragPtr)) == RNIL) {
- ljam();
+ jam();
return 0;
}
c_page_pool.getPtr(pagePtr);
@@ -127,7 +124,7 @@
pagePtr.p->page_state = ZTH_MM_FREE;
} else {
c_page_pool.getPtr(pagePtr);
- ljam();
+ jam();
}
Uint32 idx= ((Var_page*)pagePtr.p)
->alloc_record(alloc_size, (Var_page*)ctemp_page, Var_page::CHAIN);
@@ -177,7 +174,7 @@
ndbassert(pagePtr.p->free_space <= Var_page::DATA_WORDS);
if (pagePtr.p->free_space == Var_page::DATA_WORDS - 1)
{
- ljam();
+ jam();
/*
This code could be used when we release pages.
remove_free_page(signal,fragPtr,page_header,page_header->list_index);
@@ -185,7 +182,7 @@
*/
update_free_page_list(fragPtr, pagePtr);
} else {
- ljam();
+ jam();
update_free_page_list(fragPtr, pagePtr);
}
return;
@@ -259,16 +256,16 @@
start_index= calculate_free_list_impl(alloc_size);
if (start_index == (MAX_FREE_LIST - 1)) {
- ljam();
+ jam();
} else {
- ljam();
+ jam();
ndbrequire(start_index < (MAX_FREE_LIST - 1));
start_index++;
}
for (i= start_index; i < MAX_FREE_LIST; i++) {
- ljam();
+ jam();
if (!fragPtr->free_var_page_array[i].isEmpty()) {
- ljam();
+ jam();
return fragPtr->free_var_page_array[i].firstItem;
}
}
@@ -277,9 +274,9 @@
LocalDLList<Page> list(c_page_pool, fragPtr->free_var_page_array[i]);
for(list.first(pagePtr); !pagePtr.isNull() && loop < 16; )
{
- ljam();
+ jam();
if (pagePtr.p->free_space >= alloc_size) {
- ljam();
+ jam();
return pagePtr.i;
}
loop++;
@@ -346,7 +343,7 @@
(free_space > c_max_list_size[list_index])) {
Uint32 new_list_index= calculate_free_list_impl(free_space);
if (list_index != MAX_FREE_LIST) {
- ljam();
+ jam();
/*
* Only remove it from its list if it is in a list
*/
@@ -361,11 +358,11 @@
This can only happen for the free list with least guaranteed
free space.
*/
- ljam();
+ jam();
ndbrequire(new_list_index == 0);
pagePtr.p->list_index= MAX_FREE_LIST;
} else {
- ljam();
+ jam();
LocalDLList<Page> list(c_page_pool,
fragPtr->free_var_page_array[new_list_index]);
list.add(pagePtr);
@@ -381,9 +378,9 @@
{
Uint32 i;
for (i = 0; i < MAX_FREE_LIST; i++) {
- ljam();
+ jam();
if (free_space_size <= c_max_list_size[i]) {
- ljam();
+ jam();
return i;
}
}
--- 1.119/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2007-03-13 18:18:25 +08:00
+++ 1.120/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2007-03-13 18:18:25 +08:00
@@ -1089,7 +1089,6 @@
SchemaFile::TableEntry* te, Callback* callback,
bool savetodisk){
jam();
- ndbrequire(tableId < c_tableRecordPool.getSize());
XSchemaFile * xsf = &c_schemaFile[c_schemaRecord.schemaPage != 0];
SchemaFile::TableEntry * tableEntry = getTableEntry(xsf, tableId);
--- 1.61/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp 2007-03-13 18:18:25 +08:00
+++ 1.62/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp 2007-03-13 18:18:25 +08:00
@@ -32,6 +32,82 @@
#include <../pgman.hpp>
#include <../tsman.hpp>
+// jams
+#undef jam
+#undef jamEntry
+#ifdef DBTUP_BUFFER_CPP
+#define jam() jamLine(10000 + __LINE__)
+#define jamEntry() jamEntryLine(10000 + __LINE__)
+#endif
+#ifdef DBTUP_ROUTINES_CPP
+#define jam() jamLine(15000 + __LINE__)
+#define jamEntry() jamEntryLine(15000 + __LINE__)
+#endif
+#ifdef DBTUP_COMMIT_CPP
+#define jam() jamLine(20000 + __LINE__)
+#define jamEntry() jamEntryLine(20000 + __LINE__)
+#endif
+#ifdef DBTUP_FIXALLOC_CPP
+#define jam() jamLine(25000 + __LINE__)
+#define jamEntry() jamEntryLine(25000 + __LINE__)
+#endif
+#ifdef DBTUP_TRIGGER_CPP
+#define jam() jamLine(30000 + __LINE__)
+#define jamEntry() jamEntryLine(30000 + __LINE__)
+#endif
+#ifdef DBTUP_ABORT_CPP
+#define jam() jamLine(35000 + __LINE__)
+#define jamEntry() jamEntryLine(35000 + __LINE__)
+#endif
+#ifdef DBTUP_PAGE_MAP_CPP
+#define jam() jamLine(40000 + __LINE__)
+#define jamEntry() jamEntryLine(40000 + __LINE__)
+#endif
+#ifdef DBTUP_PAG_MAN_CPP
+#define jam() jamLine(45000 + __LINE__)
+#define jamEntry() jamEntryLine(45000 + __LINE__)
+#endif
+#ifdef DBTUP_STORE_PROC_DEF_CPP
+#define jam() jamLine(50000 + __LINE__)
+#define jamEntry() jamEntryLine(50000 + __LINE__)
+#endif
+#ifdef DBTUP_META_CPP
+#define jam() jamLine(55000 + __LINE__)
+#define jamEntry() jamEntryLine(55000 + __LINE__)
+#endif
+#ifdef DBTUP_TAB_DES_MAN_CPP
+#define jam() jamLine(60000 + __LINE__)
+#define jamEntry() jamEntryLine(60000 + __LINE__)
+#endif
+#ifdef DBTUP_GEN_CPP
+#define jam() jamLine(65000 + __LINE__)
+#define jamEntry() jamEntryLine(65000 + __LINE__)
+#endif
+#ifdef DBTUP_INDEX_CPP
+#define jam() jamLine(70000 + __LINE__)
+#define jamEntry() jamEntryLine(70000 + __LINE__)
+#endif
+#ifdef DBTUP_DEBUG_CPP
+#define jam() jamLine(75000 + __LINE__)
+#define jamEntry() jamEntryLine(75000 + __LINE__)
+#endif
+#ifdef DBTUP_VAR_ALLOC_CPP
+#define jam() jamLine(80000 + __LINE__)
+#define jamEntry() jamEntryLine(80000 + __LINE__)
+#endif
+#ifdef DBTUP_SCAN_CPP
+#define jam() jamLine(85000 + __LINE__)
+#define jamEntry() jamEntryLine(85000 + __LINE__)
+#endif
+#ifdef DBTUP_DISK_ALLOC_CPP
+#define jam() jamLine(90000 + __LINE__)
+#define jamEntry() jamEntryLine(90000 + __LINE__)
+#endif
+#ifndef jam
+#define jam() jamLine(__LINE__)
+#define jamEntry() jamEntryLine(__LINE__)
+#endif
+
#ifdef VM_TRACE
inline const char* dbgmask(const Bitmask<MAXNROFATTRIBUTESINWORDS>& bm) {
static int i=0; static char buf[5][200];
@@ -70,22 +146,23 @@
// only reports the line number in the file it currently is located in.
//
// DbtupExecQuery.cpp 0
-// DbtupBuffer.cpp 2000
-// DbtupRoutines.cpp 3000
-// DbtupCommit.cpp 5000
-// DbtupFixAlloc.cpp 6000
-// DbtupTrigger.cpp 7000
-// DbtupAbort.cpp 9000
-// DbtupPageMap.cpp 14000
-// DbtupPagMan.cpp 16000
-// DbtupStoredProcDef.cpp 18000
-// DbtupMeta.cpp 20000
-// DbtupTabDesMan.cpp 22000
-// DbtupGen.cpp 24000
-// DbtupIndex.cpp 28000
-// DbtupDebug.cpp 30000
-// DbtupVarAlloc.cpp 32000
-// DbtupScan.cpp 33000
+// DbtupBuffer.cpp 10000
+// DbtupRoutines.cpp 15000
+// DbtupCommit.cpp 20000
+// DbtupFixAlloc.cpp 25000
+// DbtupTrigger.cpp 30000
+// DbtupAbort.cpp 35000
+// DbtupPageMap.cpp 40000
+// DbtupPagMan.cpp 45000
+// DbtupStoredProcDef.cpp 50000
+// DbtupMeta.cpp 55000
+// DbtupTabDesMan.cpp 60000
+// DbtupGen.cpp 65000
+// DbtupIndex.cpp 70000
+// DbtupDebug.cpp 75000
+// DbtupVarAlloc.cpp 80000
+// DbtupScan.cpp 85000
+// DbtupDiskAlloc.cpp 90000
//------------------------------------------------------------------
/*
--- 1.15/storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp 2007-03-13 18:18:25 +08:00
+++ 1.16/storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp 2007-03-13 18:18:25 +08:00
@@ -14,21 +14,19 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#define DBTUP_C
+#define DBTUP_ABORT_CPP
#include "Dbtup.hpp"
#include <RefConvert.hpp>
#include <ndb_limits.h>
#include <pc.hpp>
-#define ljam() { jamLine(9000 + __LINE__); }
-#define ljamEntry() { jamEntryLine(9000 + __LINE__); }
-
void Dbtup::freeAllAttrBuffers(Operationrec* const regOperPtr)
{
if (regOperPtr->storedProcedureId == RNIL) {
- ljam();
+ jam();
freeAttrinbufrec(regOperPtr->firstAttrinbufrec);
} else {
- ljam();
+ jam();
StoredProcPtr storedPtr;
c_storedProcPool.getPtr(storedPtr, (Uint32)regOperPtr->storedProcedureId);
ndbrequire(storedPtr.p->storedCode == ZSCAN_PROCEDURE);
@@ -46,7 +44,7 @@
Uint32 RnoFree = cnoFreeAttrbufrec;
localAttrBufPtr.i = anAttrBuf;
while (localAttrBufPtr.i != RNIL) {
- ljam();
+ jam();
ptrCheckGuard(localAttrBufPtr, cnoOfAttrbufrec, attrbufrec);
Ttemp = localAttrBufPtr.p->attrbuf[ZBUF_NEXT];
localAttrBufPtr.p->attrbuf[ZBUF_NEXT] = cfirstfreeAttrbufrec;
@@ -62,7 +60,7 @@
*/
void Dbtup::execTUP_ABORTREQ(Signal* signal)
{
- ljamEntry();
+ jamEntry();
do_tup_abortreq(signal, 0);
}
@@ -80,7 +78,7 @@
(trans_state == TRANS_ERROR_WAIT_TUPKEYREQ) ||
(trans_state == TRANS_IDLE));
if (regOperPtr.p->op_struct.op_type == ZREAD) {
- ljam();
+ jam();
freeAllAttrBuffers(regOperPtr.p);
initOpConnection(regOperPtr.p);
return;
@@ -94,7 +92,7 @@
if (get_tuple_state(regOperPtr.p) == TUPLE_PREPARED)
{
- ljam();
+ jam();
if (!regTabPtr.p->tuxCustomTriggers.isEmpty() &&
(flags & ZSKIP_TUX_TRIGGERS) == 0)
executeTuxAbortTriggers(signal,
@@ -105,12 +103,12 @@
OperationrecPtr loopOpPtr;
loopOpPtr.i = regOperPtr.p->nextActiveOp;
while (loopOpPtr.i != RNIL) {
- ljam();
+ jam();
c_operation_pool.getPtr(loopOpPtr);
if (get_tuple_state(loopOpPtr.p) != TUPLE_ALREADY_ABORTED &&
!regTabPtr.p->tuxCustomTriggers.isEmpty() &&
(flags & ZSKIP_TUX_TRIGGERS) == 0) {
- ljam();
+ jam();
executeTuxAbortTriggers(signal,
loopOpPtr.p,
regFragPtr.p,
@@ -211,116 +209,116 @@
case 1:
//tmupdate_alloc_error:
terrorCode= ZMEM_NOMEM_ERROR;
- ljam();
+ jam();
break;
case 15:
- ljam();
+ jam();
terrorCode = ZREGISTER_INIT_ERROR;
break;
case 16:
- ljam();
+ jam();
terrorCode = ZTRY_TO_UPDATE_ERROR;
break;
case 17:
- ljam();
+ jam();
terrorCode = ZNO_ILLEGAL_NULL_ATTR;
break;
case 19:
- ljam();
+ jam();
terrorCode = ZTRY_TO_UPDATE_ERROR;
break;
case 20:
- ljam();
+ jam();
terrorCode = ZREGISTER_INIT_ERROR;
break;
case 22:
- ljam();
+ jam();
terrorCode = ZTOTAL_LEN_ERROR;
break;
case 23:
- ljam();
+ jam();
terrorCode = ZREGISTER_INIT_ERROR;
break;
case 24:
- ljam();
+ jam();
terrorCode = ZREGISTER_INIT_ERROR;
break;
case 26:
- ljam();
+ jam();
terrorCode = ZREGISTER_INIT_ERROR;
break;
case 27:
- ljam();
+ jam();
terrorCode = ZREGISTER_INIT_ERROR;
break;
case 28:
- ljam();
+ jam();
terrorCode = ZREGISTER_INIT_ERROR;
break;
case 29:
- ljam();
+ jam();
break;
case 30:
- ljam();
+ jam();
terrorCode = ZCALL_ERROR;
break;
case 31:
- ljam();
+ jam();
terrorCode = ZSTACK_OVERFLOW_ERROR;
break;
case 32:
- ljam();
+ jam();
terrorCode = ZSTACK_UNDERFLOW_ERROR;
break;
case 33:
- ljam();
+ jam();
terrorCode = ZNO_INSTRUCTION_ERROR;
break;
case 34:
- ljam();
+ jam();
terrorCode = ZOUTSIDE_OF_PROGRAM_ERROR;
break;
case 35:
- ljam();
+ jam();
terrorCode = ZTOO_MANY_INSTRUCTIONS_ERROR;
break;
case 38:
- ljam();
+ jam();
terrorCode = ZTEMPORARY_RESOURCE_FAILURE;
break;
case 39:
if (get_trans_state(operPtr.p) == TRANS_TOO_MUCH_AI) {
- ljam();
+ jam();
terrorCode = ZTOO_MUCH_ATTRINFO_ERROR;
} else if (get_trans_state(operPtr.p) == TRANS_ERROR_WAIT_TUPKEYREQ) {
- ljam();
+ jam();
terrorCode = ZSEIZE_ATTRINBUFREC_ERROR;
} else {
ndbrequire(false);
}//if
break;
case 40:
- ljam();
+ jam();
terrorCode = ZUNSUPPORTED_BRANCH;
break;
default:
--- 1.22/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp 2007-03-13 18:18:25 +08:00
+++ 1.23/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp 2007-03-13 18:18:25 +08:00
@@ -14,6 +14,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#define DBTUP_C
+#define DBTUP_COMMIT_CPP
#include "Dbtup.hpp"
#include <RefConvert.hpp>
#include <ndb_limits.h>
@@ -21,16 +22,13 @@
#include <signaldata/TupCommit.hpp>
#include "../dblqh/Dblqh.hpp"
-#define ljam() { jamLine(5000 + __LINE__); }
-#define ljamEntry() { jamEntryLine(5000 + __LINE__); }
-
void Dbtup::execTUP_DEALLOCREQ(Signal* signal)
{
TablerecPtr regTabPtr;
FragrecordPtr regFragPtr;
Uint32 frag_page_id, frag_id;
- ljamEntry();
+ jamEntry();
frag_id= signal->theData[0];
regTabPtr.i= signal->theData[1];
@@ -62,7 +60,7 @@
if (regTabPtr.p->m_attributes[MM].m_no_of_varsize)
{
- ljam();
+ jam();
free_var_rec(regFragPtr.p, regTabPtr.p, &tmp, pagePtr);
} else {
free_fix_rec(regFragPtr.p, regTabPtr.p, &tmp, (Fix_page*)pagePtr.p);
@@ -78,7 +76,7 @@
Uint32 gci= signal->theData[1];
c_operation_pool.getPtr(loopOpPtr);
while (loopOpPtr.p->prevActiveOp != RNIL) {
- ljam();
+ jam();
loopOpPtr.i= loopOpPtr.p->prevActiveOp;
c_operation_pool.getPtr(loopOpPtr);
}
@@ -87,11 +85,11 @@
signal->theData[0]= loopOpPtr.p->userpointer;
signal->theData[1]= gci;
if (loopOpPtr.p->nextActiveOp == RNIL) {
- ljam();
+ jam();
EXECUTE_DIRECT(DBLQH, GSN_LQH_WRITELOG_REQ, signal, 2);
return;
}
- ljam();
+ jam();
EXECUTE_DIRECT(DBLQH, GSN_LQH_WRITELOG_REQ, signal, 2);
jamEntry();
loopOpPtr.i= loopOpPtr.p->nextActiveOp;
@@ -114,16 +112,16 @@
if (regOperPtr->op_struct.in_active_list) {
regOperPtr->op_struct.in_active_list= false;
if (regOperPtr->nextActiveOp != RNIL) {
- ljam();
+ jam();
raoOperPtr.i= regOperPtr->nextActiveOp;
c_operation_pool.getPtr(raoOperPtr);
raoOperPtr.p->prevActiveOp= regOperPtr->prevActiveOp;
} else {
- ljam();
+ jam();
tuple_ptr->m_operation_ptr_i = regOperPtr->prevActiveOp;
}
if (regOperPtr->prevActiveOp != RNIL) {
- ljam();
+ jam();
raoOperPtr.i= regOperPtr->prevActiveOp;
c_operation_pool.getPtr(raoOperPtr);
raoOperPtr.p->nextActiveOp= regOperPtr->nextActiveOp;
@@ -343,7 +341,7 @@
Uint32 gci;
OperationrecPtr regOperPtr;
- ljamEntry();
+ jamEntry();
c_operation_pool.getPtr(regOperPtr, opPtrI);
c_lqh->get_op_info(regOperPtr.p->userpointer, &hash_value, &gci);
@@ -379,7 +377,7 @@
Uint32 gci;
OperationrecPtr regOperPtr;
- ljamEntry();
+ jamEntry();
c_operation_pool.getPtr(regOperPtr, opPtrI);
c_lqh->get_op_info(regOperPtr.p->userpointer, &hash_value, &gci);
@@ -447,7 +445,7 @@
TupCommitReq * const tupCommitReq= (TupCommitReq *)signal->getDataPtr();
regOperPtr.i= tupCommitReq->opPtr;
- ljamEntry();
+ jamEntry();
c_operation_pool.getPtr(regOperPtr);
if(!regOperPtr.p->is_first_operation())
@@ -603,7 +601,7 @@
* why can't we instead remove "own version" (when approriate ofcourse)
*/
if (!regTabPtr.p->tuxCustomTriggers.isEmpty()) {
- ljam();
+ jam();
OperationrecPtr loopPtr= regOperPtr;
while(loopPtr.i != RNIL)
{
@@ -656,18 +654,18 @@
{
ChangeMaskState state = get_change_mask_state(regOperPtr);
if (state == USE_SAVED_CHANGE_MASK) {
- ljam();
+ jam();
req_struct->changeMask.setWord(0, regOperPtr->saved_change_mask[0]);
req_struct->changeMask.setWord(1, regOperPtr->saved_change_mask[1]);
} else if (state == RECALCULATE_CHANGE_MASK) {
- ljam();
+ jam();
// Recompute change mask, for now set all bits
req_struct->changeMask.set();
} else if (state == SET_ALL_MASK) {
- ljam();
+ jam();
req_struct->changeMask.set();
} else {
- ljam();
+ jam();
ndbrequire(state == DELETE_CHANGES);
req_struct->changeMask.set();
}
@@ -687,17 +685,17 @@
ndbrequire(loopOpPtr.p->op_struct.op_type == ZUPDATE);
ChangeMaskState change_mask= get_change_mask_state(loopOpPtr.p);
if (change_mask == USE_SAVED_CHANGE_MASK) {
- ljam();
+ jam();
saved_word1|= loopOpPtr.p->saved_change_mask[0];
saved_word2|= loopOpPtr.p->saved_change_mask[1];
} else if (change_mask == RECALCULATE_CHANGE_MASK) {
- ljam();
+ jam();
//Recompute change mask, for now set all bits
req_struct->changeMask.set();
return;
} else {
ndbrequire(change_mask == SET_ALL_MASK);
- ljam();
+ jam();
req_struct->changeMask.set();
return;
}
--- 1.8/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp 2007-03-13 18:18:25 +08:00
+++ 1.9/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp 2007-03-13 18:18:25 +08:00
@@ -14,14 +14,12 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#define DBTUP_C
+#define DBTUP_FIXALLOC_CPP
#include "Dbtup.hpp"
#include <RefConvert.hpp>
#include <ndb_limits.h>
#include <pc.hpp>
-#define ljam() { jamLine(6000 + __LINE__); }
-#define ljamEntry() { jamEntryLine(6000 + __LINE__); }
-
//
// Fixed Allocator
// This module is used to allocate and free fixed size tuples from the
@@ -79,7 +77,7 @@
/* ---------------------------------------------------------------- */
pagePtr.i = getEmptyPage(regFragPtr);
if (pagePtr.i != RNIL) {
- ljam();
+ jam();
/* ---------------------------------------------------------------- */
// We found empty pages on the fragment. Allocate an empty page and
// convert it into a tuple header page and put it in thFreeFirst-list.
@@ -95,14 +93,14 @@
LocalDLList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
free_pages.add(pagePtr);
} else {
- ljam();
+ jam();
/* ---------------------------------------------------------------- */
/* THERE ARE NO EMPTY PAGES. MEMORY CAN NOT BE ALLOCATED. */
/* ---------------------------------------------------------------- */
return 0;
}
} else {
- ljam();
+ jam();
/* ---------------------------------------------------------------- */
/* THIS SHOULD BE THE COMMON PATH THROUGH THE CODE, FREE */
/* COPY PAGE EXISTED. */
@@ -193,7 +191,7 @@
if(free == 1)
{
- ljam();
+ jam();
PagePtr pagePtr = { (Page*)regPagePtr, key->m_page_no };
LocalDLList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
ndbrequire(regPagePtr->page_state == ZTH_MM_FULL);
--- 1.36/storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp 2007-03-13 18:18:25 +08:00
+++ 1.37/storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp 2007-03-13 18:18:25 +08:00
@@ -15,6 +15,7 @@
#define DBTUP_C
+#define DBTUP_GEN_CPP
#include "Dbtup.hpp"
#include <RefConvert.hpp>
#include <ndb_limits.h>
@@ -34,9 +35,6 @@
#define DEBUG(x) { ndbout << "TUP::" << x << endl; }
-#define ljam() { jamLine(24000 + __LINE__); }
-#define ljamEntry() { jamEntryLine(24000 + __LINE__); }
-
void Dbtup::initData()
{
cnoOfAttrbufrec = ZNO_OF_ATTRBUFREC;
@@ -151,21 +149,21 @@
void Dbtup::execCONTINUEB(Signal* signal)
{
- ljamEntry();
+ jamEntry();
Uint32 actionType = signal->theData[0];
Uint32 dataPtr = signal->theData[1];
switch (actionType) {
case ZINITIALISE_RECORDS:
- ljam();
+ jam();
initialiseRecordsLab(signal, dataPtr,
signal->theData[2], signal->theData[3]);
break;
case ZREL_FRAG:
- ljam();
+ jam();
releaseFragment(signal, dataPtr, signal->theData[2]);
break;
case ZREPORT_MEMORY_USAGE:{
- ljam();
+ jam();
static int c_currentMemUsed = 0;
Uint32 cnt = signal->theData[1];
Uint32 tmp = c_page_pool.getSize();
@@ -200,11 +198,11 @@
return;
}
case ZBUILD_INDEX:
- ljam();
+ jam();
buildIndex(signal, dataPtr);
break;
case ZTUP_SCAN:
- ljam();
+ jam();
{
ScanOpPtr scanPtr;
c_scanOpPool.getPtr(scanPtr, dataPtr);
@@ -213,7 +211,7 @@
return;
case ZFREE_EXTENT:
{
- ljam();
+ jam();
TablerecPtr tabPtr;
tabPtr.i= dataPtr;
@@ -226,7 +224,7 @@
}
case ZUNMAP_PAGES:
{
- ljam();
+ jam();
TablerecPtr tabPtr;
tabPtr.i= dataPtr;
@@ -239,7 +237,7 @@
}
case ZFREE_VAR_PAGES:
{
- ljam();
+ jam();
drop_fragment_free_var_pages(signal);
return;
}
@@ -256,12 +254,12 @@
/* **************************************************************** */
void Dbtup::execSTTOR(Signal* signal)
{
- ljamEntry();
+ jamEntry();
Uint32 startPhase = signal->theData[1];
Uint32 sigKey = signal->theData[6];
switch (startPhase) {
case ZSTARTPHASE1:
- ljam();
+ jam();
CLEAR_ERROR_INSERT_VALUE;
ndbrequire((c_lqh= (Dblqh*)globalData.getBlock(DBLQH)) != 0);
ndbrequire((c_tsman= (Tsman*)globalData.getBlock(TSMAN)) != 0);
@@ -269,7 +267,7 @@
cownref = calcTupBlockRef(0);
break;
default:
- ljam();
+ jam();
break;
}//switch
signal->theData[0] = sigKey;
@@ -292,7 +290,7 @@
Uint32 senderData = req->senderData;
ndbrequire(req->noOfParameters == 0);
- ljamEntry();
+ jamEntry();
const ndb_mgm_configuration_iterator * p =
m_ctx.m_config.getOwnConfigIterator();
@@ -412,58 +410,58 @@
{
switch (switchData) {
case 0:
- ljam();
+ jam();
initializeHostBuffer();
break;
case 1:
- ljam();
+ jam();
initializeOperationrec();
break;
case 2:
- ljam();
+ jam();
initializePage();
break;
case 3:
- ljam();
+ jam();
break;
case 4:
- ljam();
+ jam();
initializeTablerec();
break;
case 5:
- ljam();
+ jam();
break;
case 6:
- ljam();
+ jam();
initializeFragrecord();
break;
case 7:
- ljam();
+ jam();
initializeFragoperrec();
break;
case 8:
- ljam();
+ jam();
initializePageRange();
break;
case 9:
- ljam();
+ jam();
initializeTabDescr();
break;
case 10:
- ljam();
+ jam();
break;
case 11:
- ljam();
+ jam();
break;
case 12:
- ljam();
+ jam();
initializeAttrbufrec();
break;
case 13:
- ljam();
+ jam();
break;
case 14:
- ljam();
+ jam();
{
ReadConfigConf * conf = (ReadConfigConf*)signal->getDataPtrSend();
@@ -487,28 +485,28 @@
void Dbtup::execNDB_STTOR(Signal* signal)
{
- ljamEntry();
+ jamEntry();
cndbcntrRef = signal->theData[0];
Uint32 ownNodeId = signal->theData[1];
Uint32 startPhase = signal->theData[2];
switch (startPhase) {
case ZSTARTPHASE1:
- ljam();
+ jam();
cownNodeId = ownNodeId;
cownref = calcTupBlockRef(ownNodeId);
break;
case ZSTARTPHASE2:
- ljam();
+ jam();
break;
case ZSTARTPHASE3:
- ljam();
+ jam();
startphase3Lab(signal, ~0, ~0);
break;
case ZSTARTPHASE4:
- ljam();
+ jam();
break;
case ZSTARTPHASE6:
- ljam();
+ jam();
/*****************************************/
/* NOW SET THE DISK WRITE SPEED TO */
/* PAGES PER TICK AFTER SYSTEM */
@@ -519,7 +517,7 @@
sendSignalWithDelay(reference(), GSN_CONTINUEB, signal, 1000, 1);
break;
default:
- ljam();
+ jam();
break;
}//switch
signal->theData[0] = cownref;
@@ -596,7 +594,7 @@
{
TablerecPtr regTabPtr;
for (regTabPtr.i = 0; regTabPtr.i < cnoOfTablerec; regTabPtr.i++) {
- ljam();
+ jam();
refresh_watch_dog();
ptrAss(regTabPtr, tablerec);
initTab(regTabPtr.p);
@@ -667,12 +665,12 @@
void Dbtup::execTUPSEIZEREQ(Signal* signal)
{
OperationrecPtr regOperPtr;
- ljamEntry();
+ jamEntry();
Uint32 userPtr = signal->theData[0];
BlockReference userRef = signal->theData[1];
if (!c_operation_pool.seize(regOperPtr))
{
- ljam();
+ jam();
signal->theData[0] = userPtr;
signal->theData[1] = ZGET_OPREC_ERROR;
sendSignal(userRef, GSN_TUPSEIZEREF, signal, 2, JBB);
@@ -706,7 +704,7 @@
void Dbtup::execTUPRELEASEREQ(Signal* signal)
{
OperationrecPtr regOperPtr;
- ljamEntry();
+ jamEntry();
regOperPtr.i = signal->theData[0];
c_operation_pool.getPtr(regOperPtr);
set_trans_state(regOperPtr.p, TRANS_DISCONNECTED);
--- 1.22/storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp 2007-03-13 18:18:25 +08:00
+++ 1.23/storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp 2007-03-13 18:18:25 +08:00
@@ -14,6 +14,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#define DBTUP_C
+#define DBTUP_INDEX_CPP
#include "Dbtup.hpp"
#include <RefConvert.hpp>
#include <ndb_limits.h>
@@ -23,9 +24,6 @@
#include <AttributeHeader.hpp>
#include <signaldata/TuxMaint.hpp>
-#define ljam() { jamLine(28000 + __LINE__); }
-#define ljamEntry() { jamEntryLine(28000 + __LINE__); }
-
// methods used by ordered index
void
@@ -34,7 +32,7 @@
Uint32 pageIndex,
Uint32& tupAddr)
{
- ljamEntry();
+ jamEntry();
PagePtr pagePtr;
c_page_pool.getPtr(pagePtr, pageId);
Uint32 fragPageId= pagePtr.p->frag_page_id;
@@ -48,7 +46,7 @@
Uint32& pageOffset,
Uint32*& node)
{
- ljamEntry();
+ jamEntry();
FragrecordPtr fragPtr;
fragPtr.i= fragPtrI;
ptrCheckGuard(fragPtr, cnoOfFragrec, fragrecord);
@@ -61,7 +59,7 @@
Uint32* ptr, frag_page_id;
if ((ptr= alloc_fix_rec(fragPtr.p, tablePtr.p, &key, &frag_page_id)) == 0)
{
- ljam();
+ jam();
terrorCode = ZMEM_NOMEM_ERROR; // caller sets error
return terrorCode;
}
@@ -82,7 +80,7 @@
Uint32 pageOffset,
Uint32* node)
{
- ljamEntry();
+ jamEntry();
FragrecordPtr fragPtr;
fragPtr.i= fragPtrI;
ptrCheckGuard(fragPtr, cnoOfFragrec, fragrecord);
@@ -105,7 +103,7 @@
Uint32 pageOffset,
Uint32*& node)
{
- ljamEntry();
+ jamEntry();
FragrecordPtr fragPtr;
fragPtr.i= fragPtrI;
ptrCheckGuard(fragPtr, cnoOfFragrec, fragrecord);
@@ -130,7 +128,7 @@
Uint32 numAttrs,
Uint32* dataOut)
{
- ljamEntry();
+ jamEntry();
// use own variables instead of globals
FragrecordPtr fragPtr;
fragPtr.i= fragPtrI;
@@ -150,21 +148,21 @@
Tuple_header *tuple_ptr= req_struct.m_tuple_ptr;
if (tuple_ptr->get_tuple_version() != tupVersion)
{
- ljam();
+ jam();
OperationrecPtr opPtr;
opPtr.i= tuple_ptr->m_operation_ptr_i;
Uint32 loopGuard= 0;
while (opPtr.i != RNIL) {
c_operation_pool.getPtr(opPtr);
if (opPtr.p->tupVersion == tupVersion) {
- ljam();
+ jam();
if (!opPtr.p->m_copy_tuple_location.isNull()) {
req_struct.m_tuple_ptr= (Tuple_header*)
c_undo_buffer.get_ptr(&opPtr.p->m_copy_tuple_location);
}
break;
}
- ljam();
+ jam();
opPtr.i= opPtr.p->prevActiveOp;
ndbrequire(++loopGuard < (1 << ZTUP_VERSION_BITS));
}
@@ -202,7 +200,7 @@
int
Dbtup::tuxReadPk(Uint32 fragPtrI, Uint32 pageId, Uint32 pageIndex, Uint32* dataOut, bool
xfrmFlag)
{
- ljamEntry();
+ jamEntry();
// use own variables instead of globals
FragrecordPtr fragPtr;
fragPtr.i= fragPtrI;
@@ -305,7 +303,7 @@
int
Dbtup::accReadPk(Uint32 tableId, Uint32 fragId, Uint32 fragPageId, Uint32 pageIndex,
Uint32* dataOut, bool xfrmFlag)
{
- ljamEntry();
+ jamEntry();
// get table
TablerecPtr tablePtr;
tablePtr.i = tableId;
@@ -329,7 +327,7 @@
Uint32 transId2,
Uint32 savePointId)
{
- ljamEntry();
+ jamEntry();
FragrecordPtr fragPtr;
fragPtr.i= fragPtrI;
ptrCheckGuard(fragPtr, cnoOfFragrec, fragrecord);
@@ -358,9 +356,9 @@
* for this transaction and savepoint id. If its tuple version
* equals the requested then we have a visible tuple otherwise not.
*/
- ljam();
+ jam();
if (req_struct.m_tuple_ptr->get_tuple_version() == tupVersion) {
- ljam();
+ jam();
return true;
}
}
@@ -378,7 +376,7 @@
void
Dbtup::execBUILDINDXREQ(Signal* signal)
{
- ljamEntry();
+ jamEntry();
#ifdef TIME_MEASUREMENT
time_events= 0;
tot_time_passed= 0;
@@ -387,7 +385,7 @@
// get new operation
BuildIndexPtr buildPtr;
if (! c_buildIndexList.seize(buildPtr)) {
- ljam();
+ jam();
BuildIndexRec buildRec;
memcpy(buildRec.m_request, signal->theData, sizeof(buildRec.m_request));
buildRec.m_errorCode= BuildIndxRef::Busy;
@@ -402,7 +400,7 @@
do {
const BuildIndxReq* buildReq= (const BuildIndxReq*)buildPtr.p->m_request;
if (buildReq->getTableId() >= cnoOfTablerec) {
- ljam();
+ jam();
buildPtr.p->m_errorCode= BuildIndxRef::InvalidPrimaryTable;
break;
}
@@ -410,7 +408,7 @@
tablePtr.i= buildReq->getTableId();
ptrCheckGuard(tablePtr, cnoOfTablerec, tablerec);
if (tablePtr.p->tableStatus != DEFINED) {
- ljam();
+ jam();
buildPtr.p->m_errorCode= BuildIndxRef::InvalidPrimaryTable;
break;
}
@@ -418,7 +416,7 @@
buildPtr.p->m_build_vs =
tablePtr.p->m_attributes[MM].m_no_of_varsize > 0;
if (DictTabInfo::isOrderedIndex(buildReq->getIndexType())) {
- ljam();
+ jam();
const DLList<TupTriggerData>& triggerList =
tablePtr.p->tuxCustomTriggers;
@@ -426,13 +424,13 @@
triggerList.first(triggerPtr);
while (triggerPtr.i != RNIL) {
if (triggerPtr.p->indexId == buildReq->getIndexId()) {
- ljam();
+ jam();
break;
}
triggerList.next(triggerPtr);
}
if (triggerPtr.i == RNIL) {
- ljam();
+ jam();
// trigger was not created
buildPtr.p->m_errorCode = BuildIndxRef::InternalError;
break;
@@ -440,12 +438,12 @@
buildPtr.p->m_indexId = buildReq->getIndexId();
buildPtr.p->m_buildRef = DBTUX;
} else if(buildReq->getIndexId() == RNIL) {
- ljam();
+ jam();
// REBUILD of acc
buildPtr.p->m_indexId = RNIL;
buildPtr.p->m_buildRef = DBACC;
} else {
- ljam();
+ jam();
buildPtr.p->m_errorCode = BuildIndxRef::InvalidIndexType;
break;
}
@@ -490,7 +488,7 @@
// get fragment
FragrecordPtr fragPtr;
if (buildPtr.p->m_fragNo == MAX_FRAG_PER_NODE) {
- ljam();
+ jam();
// build ready
buildIndexReply(signal, buildPtr.p);
c_buildIndexList.release(buildPtr);
@@ -499,7 +497,7 @@
ndbrequire(buildPtr.p->m_fragNo < MAX_FRAG_PER_NODE);
fragPtr.i= tablePtr.p->fragrec[buildPtr.p->m_fragNo];
if (fragPtr.i == RNIL) {
- ljam();
+ jam();
buildPtr.p->m_fragNo++;
buildPtr.p->m_pageId= 0;
buildPtr.p->m_tupleNo= firstTupleNo;
@@ -509,7 +507,7 @@
// get page
PagePtr pagePtr;
if (buildPtr.p->m_pageId >= fragPtr.p->noOfPages) {
- ljam();
+ jam();
buildPtr.p->m_fragNo++;
buildPtr.p->m_pageId= 0;
buildPtr.p->m_tupleNo= firstTupleNo;
@@ -520,7 +518,7 @@
Uint32 pageState= pagePtr.p->page_state;
// skip empty page
if (pageState == ZEMPTY_MM) {
- ljam();
+ jam();
buildPtr.p->m_pageId++;
buildPtr.p->m_tupleNo= firstTupleNo;
break;
@@ -530,7 +528,7 @@
const Tuple_header* tuple_ptr = 0;
pageIndex = buildPtr.p->m_tupleNo * tupheadsize;
if (pageIndex + tupheadsize > Fix_page::DATA_WORDS) {
- ljam();
+ jam();
buildPtr.p->m_pageId++;
buildPtr.p->m_tupleNo= firstTupleNo;
break;
@@ -538,7 +536,7 @@
tuple_ptr = (Tuple_header*)&pagePtr.p->m_data[pageIndex];
// skip over free tuple
if (tuple_ptr->m_header_bits & Tuple_header::FREE) {
- ljam();
+ jam();
buildPtr.p->m_tupleNo++;
break;
}
@@ -581,7 +579,7 @@
tuple as a copy tuple. The original tuple is stable and is thus
preferrable to store in TUX.
*/
- ljam();
+ jam();
/**
* Since copy tuples now can't be found on real pages.
@@ -610,11 +608,11 @@
} while(req->errorCode == 0 && pageOperPtr.i != RNIL);
}
- ljamEntry();
+ jamEntry();
if (req->errorCode != 0) {
switch (req->errorCode) {
case TuxMaintReq::NoMemError:
- ljam();
+ jam();
buildPtr.p->m_errorCode= BuildIndxRef::AllocationFailure;
break;
default:
@@ -666,7 +664,7 @@
rep->setIndexId(buildReq->getIndexId());
// conf
if (buildPtrP->m_errorCode == BuildIndxRef::NoError) {
- ljam();
+ jam();
sendSignal(rep->getUserRef(), GSN_BUILDINDXCONF,
signal, BuildIndxConf::SignalLength, JBB);
return;
--- 1.34/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp 2007-03-13 18:18:25 +08:00
+++ 1.35/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp 2007-03-13 18:18:25 +08:00
@@ -15,6 +15,7 @@
#define DBTUP_C
+#define DBTUP_META_CPP
#include "Dbtup.hpp"
#include <RefConvert.hpp>
#include <ndb_limits.h>
@@ -29,16 +30,13 @@
#include "AttributeOffset.hpp"
#include <my_sys.h>
-#define ljam() { jamLine(20000 + __LINE__); }
-#define ljamEntry() { jamEntryLine(20000 + __LINE__); }
-
void Dbtup::execTUPFRAGREQ(Signal* signal)
{
- ljamEntry();
+ jamEntry();
TupFragReq* tupFragReq = (TupFragReq*)signal->getDataPtr();
if (tupFragReq->userPtr == (Uint32)-1) {
- ljam();
+ jam();
abortAddFragOp(signal);
return;
}
@@ -69,7 +67,7 @@
#ifndef VM_TRACE
// config mismatch - do not crash if release compiled
if (regTabPtr.i >= cnoOfTablerec) {
- ljam();
+ jam();
tupFragReq->userPtr = userptr;
tupFragReq->userRef = 800;
sendSignal(userblockref, GSN_TUPFRAGREF, signal, 2, JBB);
@@ -79,7 +77,7 @@
ptrCheckGuard(regTabPtr, cnoOfTablerec, tablerec);
if (cfirstfreeFragopr == RNIL) {
- ljam();
+ jam();
tupFragReq->userPtr = userptr;
tupFragReq->userRef = ZNOFREE_FRAGOP_ERROR;
sendSignal(userblockref, GSN_TUPFRAGREF, signal, 2, JBB);
@@ -108,29 +106,29 @@
getFragmentrec(regFragPtr, fragId, regTabPtr.p);
if (regFragPtr.i != RNIL) {
- ljam();
+ jam();
terrorCode= ZEXIST_FRAG_ERROR;
fragrefuse1Lab(signal, fragOperPtr);
return;
}
if (cfirstfreefrag != RNIL) {
- ljam();
+ jam();
seizeFragrecord(regFragPtr);
} else {
- ljam();
+ jam();
terrorCode= ZFULL_FRAGRECORD_ERROR;
fragrefuse1Lab(signal, fragOperPtr);
return;
}
initFragRange(regFragPtr.p);
if (!addfragtotab(regTabPtr.p, fragId, regFragPtr.i)) {
- ljam();
+ jam();
terrorCode= ZNO_FREE_TAB_ENTRY_ERROR;
fragrefuse2Lab(signal, fragOperPtr, regFragPtr);
return;
}
if (cfirstfreerange == RNIL) {
- ljam();
+ jam();
terrorCode= ZNO_FREE_PAGE_RANGE_ERROR;
fragrefuse3Lab(signal, fragOperPtr, regFragPtr, regTabPtr.p, fragId);
return;
@@ -146,7 +144,7 @@
if (ERROR_INSERTED(4007) && regTabPtr.p->fragid[0] == fragId ||
ERROR_INSERTED(4008) && regTabPtr.p->fragid[1] == fragId) {
- ljam();
+ jam();
terrorCode = 1;
fragrefuse4Lab(signal, fragOperPtr, regFragPtr, regTabPtr.p, fragId);
CLEAR_ERROR_INSERT_VALUE;
@@ -154,7 +152,7 @@
}
if (regTabPtr.p->tableStatus == NOT_DEFINED) {
- ljam();
+ jam();
//-----------------------------------------------------------------------------
// We are setting up references to the header of the tuple.
// Active operation This word contains a reference to the operation active
@@ -200,13 +198,13 @@
Uint32 offset[10];
Uint32 tableDescriptorRef= allocTabDescr(regTabPtr.p, offset);
if (tableDescriptorRef == RNIL) {
- ljam();
+ jam();
fragrefuse4Lab(signal, fragOperPtr, regFragPtr, regTabPtr.p, fragId);
return;
}
setUpDescriptorReferences(tableDescriptorRef, regTabPtr.p, offset);
} else {
- ljam();
+ jam();
fragOperPtr.p->definingFragment= false;
}
signal->theData[0]= fragOperPtr.p->lqhPtrFrag;
@@ -222,9 +220,9 @@
Uint32 fragIndex)
{
for (Uint32 i = 0; i < MAX_FRAG_PER_NODE; i++) {
- ljam();
+ jam();
if (regTabPtr->fragid[i] == RNIL) {
- ljam();
+ jam();
regTabPtr->fragid[i]= fragId;
regTabPtr->fragrec[i]= fragIndex;
return true;
@@ -238,9 +236,9 @@
Tablerec* const regTabPtr)
{
for (Uint32 i = 0; i < MAX_FRAG_PER_NODE; i++) {
- ljam();
+ jam();
if (regTabPtr->fragid[i] == fragId) {
- ljam();
+ jam();
regFragPtr.i= regTabPtr->fragrec[i];
ptrCheckGuard(regFragPtr, cnoOfFragrec, fragrecord);
return;
@@ -276,7 +274,7 @@
FragoperrecPtr fragOperPtr;
TablerecPtr regTabPtr;
- ljamEntry();
+ jamEntry();
fragOperPtr.i= signal->theData[0];
ptrCheckGuard(fragOperPtr, cnoOfFragoprec, fragoperrec);
Uint32 attrId = signal->theData[2];
@@ -337,7 +335,7 @@
Uint32 attrDes2= 0;
if (!AttributeDescriptor::getDynamic(attrDescriptor)) {
- ljam();
+ jam();
Uint32 pos= 0, null_pos;
Uint32 bytes= AttributeDescriptor::getSizeInBytes(attrDescriptor);
Uint32 words= (bytes + 3) / 4;
@@ -347,7 +345,7 @@
if (AttributeDescriptor::getNullable(attrDescriptor))
{
- ljam();
+ jam();
fragOperPtr.p->m_null_bits[ind]++;
}
else
@@ -362,17 +360,17 @@
switch (AttributeDescriptor::getArrayType(attrDescriptor)) {
case NDB_ARRAYTYPE_FIXED:
{
- ljam();
+ jam();
regTabPtr.p->m_attributes[ind].m_no_of_fixsize++;
if(attrLen != 0)
{
- ljam();
+ jam();
pos= fragOperPtr.p->m_fix_attributes_size[ind];
fragOperPtr.p->m_fix_attributes_size[ind] += words;
}
else
{
- ljam();
+ jam();
Uint32 bitCount = AttributeDescriptor::getArraySize(attrDescriptor);
fragOperPtr.p->m_null_bits[ind] += bitCount;
}
@@ -380,7 +378,7 @@
}
default:
{
- ljam();
+ jam();
fragOperPtr.p->m_var_attributes_size[ind] += bytes;
pos= regTabPtr.p->m_attributes[ind].m_no_of_varsize++;
break;
@@ -397,13 +395,13 @@
ndbrequire(cs != NULL);
Uint32 i = 0;
while (i < fragOperPtr.p->charsetIndex) {
- ljam();
+ jam();
if (regTabPtr.p->charsetArray[i] == cs)
break;
i++;
}
if (i == fragOperPtr.p->charsetIndex) {
- ljam();
+ jam();
fragOperPtr.p->charsetIndex++;
}
ndbrequire(i < regTabPtr.p->noOfCharsets);
@@ -416,7 +414,7 @@
ERROR_INSERTED(4010) && regTabPtr.p->fragid[0] == fragId &&
lastAttr ||
ERROR_INSERTED(4011) && regTabPtr.p->fragid[1] == fragId &&
attrId == 0||
ERROR_INSERTED(4012) && regTabPtr.p->fragid[1] == fragId &&
lastAttr) {
- ljam();
+ jam();
terrorCode = 1;
addattrrefuseLab(signal, regFragPtr, fragOperPtr, regTabPtr.p, fragId);
CLEAR_ERROR_INSERT_VALUE;
@@ -427,7 +425,7 @@
/* ************** TUP_ADD_ATTCONF ****************** */
/* **************************************************************** */
if (! lastAttr) {
- ljam();
+ jam();
signal->theData[0] = fragOperPtr.p->lqhPtrFrag;
signal->theData[1] = lastAttr;
sendSignal(fragOperPtr.p->lqhBlockrefFrag, GSN_TUP_ADD_ATTCONF,
@@ -553,7 +551,7 @@
noAllocatedPages = allocFragPages(regFragPtr.p, noAllocatedPages);
if (noAllocatedPages == 0) {
- ljam();
+ jam();
terrorCode = ZNO_PAGES_ALLOCATED_ERROR;
addattrrefuseLab(signal, regFragPtr, fragOperPtr, regTabPtr.p, fragId);
return;
@@ -563,7 +561,7 @@
CreateFilegroupImplReq rep;
if(regTabPtr.p->m_no_of_disk_attributes)
{
- ljam();
+ jam();
Tablespace_client tsman(0, c_tsman, 0, 0,
regFragPtr.p->m_tablespace_id);
ndbrequire(tsman.get_tablespace_info(&rep) == 0);
@@ -580,12 +578,12 @@
if (regTabPtr.p->m_no_of_disk_attributes)
{
- ljam();
+ jam();
if(!(getNodeState().startLevel == NodeState::SL_STARTING &&
getNodeState().starting.startPhase <= 4))
{
Callback cb;
- ljam();
+ jam();
cb.m_callbackData= fragOperPtr.i;
cb.m_callbackFunction =
@@ -599,7 +597,7 @@
int res= lgman.get_log_buffer(signal, sz, &cb);
switch(res){
case 0:
- ljam();
+ jam();
signal->theData[0] = 1;
return;
case -1:
@@ -718,11 +716,11 @@
Uint32* keyArray= &tableDescriptor[regTabPtr->readKeyArray].tabDescr;
Uint32 countKeyAttr= 0;
for (Uint32 i= 0; i < regTabPtr->m_no_of_attributes; i++) {
- ljam();
+ jam();
Uint32 refAttr= regTabPtr->tabDescriptor + (i * ZAD_SIZE);
Uint32 attrDescriptor= getTabDescrWord(refAttr);
if (AttributeDescriptor::getPrimaryKey(attrDescriptor)) {
- ljam();
+ jam();
AttributeHeader::init(&keyArray[countKeyAttr], i, 0);
countKeyAttr++;
}
@@ -742,7 +740,7 @@
{
for (Uint32 i= 0; i < regTabPtr->m_no_of_attributes; i++)
{
- ljam();
+ jam();
Uint32 refAttr= regTabPtr->tabDescriptor + (i * ZAD_SIZE);
Uint32 desc = getTabDescrWord(refAttr);
Uint32 t = 0;
@@ -837,9 +835,9 @@
void Dbtup::deleteFragTab(Tablerec* const regTabPtr, Uint32 fragId)
{
for (Uint32 i = 0; i < MAX_FRAG_PER_NODE; i++) {
- ljam();
+ jam();
if (regTabPtr->fragid[i] == fragId) {
- ljam();
+ jam();
regTabPtr->fragid[i]= RNIL;
regTabPtr->fragrec[i]= RNIL;
return;
@@ -865,7 +863,7 @@
void
Dbtup::execDROP_TAB_REQ(Signal* signal)
{
- ljamEntry();
+ jamEntry();
if (ERROR_INSERTED(4013)) {
#ifdef VM_TRACE
verifytabdes();
@@ -891,7 +889,7 @@
{
Uint32 descriptor= regTabPtr->readKeyArray;
if (descriptor != RNIL) {
- ljam();
+ jam();
Uint32 offset[10];
getTabDescrOffsets(regTabPtr, offset);
@@ -922,16 +920,16 @@
Uint32 fragId = RNIL;
Uint32 i = 0;
for (i = 0; i < MAX_FRAG_PER_NODE; i++) {
- ljam();
+ jam();
if (tabPtr.p->fragid[i] != RNIL) {
- ljam();
+ jam();
fragIndex= tabPtr.p->fragrec[i];
fragId= tabPtr.p->fragid[i];
break;
}
}
if (fragIndex != RNIL) {
- ljam();
+ jam();
signal->theData[0] = ZUNMAP_PAGES;
signal->theData[1] = tabPtr.i;
@@ -956,7 +954,7 @@
int res= lgman.get_log_buffer(signal, sz, &cb);
switch(res){
case 0:
- ljam();
+ jam();
return;
case -1:
ndbrequire("NOT YET IMPLEMENTED" == 0);
@@ -1087,7 +1085,7 @@
int res= lgman.get_log_buffer(signal, sz, &cb);
switch(res){
case 0:
- ljam();
+ jam();
return;
case -1:
ndbrequire("NOT YET IMPLEMENTED" == 0);
@@ -1238,7 +1236,7 @@
void
Dbtup::drop_fragment_free_var_pages(Signal* signal)
{
- ljam();
+ jam();
Uint32 tableId = signal->theData[1];
Uint32 fragPtrI = signal->theData[2];
--- 1.33/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp 2007-03-13 18:18:25 +08:00
+++ 1.34/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp 2007-03-13 18:18:25 +08:00
@@ -15,6 +15,7 @@
#define DBTUP_C
+#define DBTUP_ROUTINES_CPP
#include "Dbtup.hpp"
#include <RefConvert.hpp>
#include <ndb_limits.h>
@@ -23,9 +24,6 @@
#include "AttributeOffset.hpp"
#include <AttributeHeader.hpp>
-#define ljam() { jamLine(3000 + __LINE__); }
-#define ljamEntry() { jamEntryLine(3000 + __LINE__); }
-
void
Dbtup::setUpQueryRoutines(Tablerec *regTabPtr)
{
@@ -40,23 +38,23 @@
if (AttributeDescriptor::getArrayType(attrDescr) == NDB_ARRAYTYPE_FIXED){
if (!AttributeDescriptor::getNullable(attrDescr)) {
if (AttributeDescriptor::getSize(attrDescr) == 0){
- ljam();
+ jam();
regTabPtr->readFunctionArray[i] = &Dbtup::readBitsNotNULL;
regTabPtr->updateFunctionArray[i] = &Dbtup::updateBitsNotNULL;
} else if (AttributeDescriptor::getSizeInBytes(attrDescr) == 4) {
- ljam();
+ jam();
regTabPtr->readFunctionArray[i]=
&Dbtup::readFixedSizeTHOneWordNotNULL;
regTabPtr->updateFunctionArray[i]=
&Dbtup::updateFixedSizeTHOneWordNotNULL;
} else if (AttributeDescriptor::getSizeInBytes(attrDescr) == 8) {
- ljam();
+ jam();
regTabPtr->readFunctionArray[i]=
&Dbtup::readFixedSizeTHTwoWordNotNULL;
regTabPtr->updateFunctionArray[i]=
&Dbtup::updateFixedSizeTHTwoWordNotNULL;
} else {
- ljam();
+ jam();
regTabPtr->readFunctionArray[i]=
&Dbtup::readFixedSizeTHManyWordNotNULL;
regTabPtr->updateFunctionArray[i]=
@@ -64,27 +62,27 @@
}
// replace functions for char attribute
if (AttributeOffset::getCharsetFlag(attrOffset)) {
- ljam();
+ jam();
regTabPtr->readFunctionArray[i] =
&Dbtup::readFixedSizeTHManyWordNotNULL;
regTabPtr->updateFunctionArray[i] =
&Dbtup::updateFixedSizeTHManyWordNotNULL;
}
} else {
if (AttributeDescriptor::getSize(attrDescr) == 0){
- ljam();
+ jam();
regTabPtr->readFunctionArray[i] = &Dbtup::readBitsNULLable;
regTabPtr->updateFunctionArray[i] = &Dbtup::updateBitsNULLable;
} else if (AttributeDescriptor::getSizeInBytes(attrDescr) == 4){
- ljam();
+ jam();
regTabPtr->readFunctionArray[i] =
&Dbtup::readFixedSizeTHOneWordNULLable;
regTabPtr->updateFunctionArray[i] =
&Dbtup::updateFixedSizeTHManyWordNULLable;
} else if (AttributeDescriptor::getSizeInBytes(attrDescr) == 8) {
- ljam();
+ jam();
regTabPtr->readFunctionArray[i]=
&Dbtup::readFixedSizeTHTwoWordNULLable;
regTabPtr->updateFunctionArray[i]=
&Dbtup::updateFixedSizeTHManyWordNULLable;
} else {
- ljam();
+ jam();
regTabPtr->readFunctionArray[i]=
&Dbtup::readFixedSizeTHManyWordNULLable;
regTabPtr->updateFunctionArray[i]=
@@ -92,7 +90,7 @@
}
// replace functions for char attribute
if (AttributeOffset::getCharsetFlag(attrOffset)) {
- ljam();
+ jam();
regTabPtr->readFunctionArray[i] =
&Dbtup::readFixedSizeTHManyWordNULLable;
regTabPtr->updateFunctionArray[i] =
&Dbtup::updateFixedSizeTHManyWordNULLable;
}
@@ -144,7 +142,7 @@
}
} else {
if (AttributeDescriptor::getArrayType(attrDescr) == NDB_ARRAYTYPE_FIXED){
- ljam();
+ jam();
regTabPtr->readFunctionArray[i]= &Dbtup::readDynFixedSize;
regTabPtr->updateFunctionArray[i]= &Dbtup::updateDynFixedSize;
} else {
@@ -204,7 +202,7 @@
inBufIndex++;
attributeId= ahIn.getAttributeId();
descr_index= attributeId << ZAD_LOG_SIZE;
- ljam();
+ jam();
AttributeHeader::init(&outBuffer[tmpAttrBufIndex], attributeId, 0);
ahOut= (AttributeHeader*)&outBuffer[tmpAttrBufIndex];
@@ -223,7 +221,7 @@
return -1;
}
} else if(attributeId & AttributeHeader::PSEUDO) {
- ljam();
+ jam();
Uint32 sz= read_pseudo(attributeId,
req_struct,
outBuffer+tmpAttrBufIndex+1);
@@ -252,13 +250,13 @@
ndbrequire(readOffset < req_struct->check_offset[MM]);
if (newIndexBuf <= maxRead) {
- ljam();
+ jam();
outBuffer[indexBuf]= wordRead;
ahOut->setDataSize(1);
req_struct->out_buf_index= newIndexBuf;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZTRY_TO_READ_TOO_MUCH_ERROR;
return false;
}
@@ -280,14 +278,14 @@
ndbrequire(readOffset + 1 < req_struct->check_offset[MM]);
if (newIndexBuf <= maxRead) {
- ljam();
+ jam();
ahOut->setDataSize(2);
outBuffer[indexBuf]= wordReadFirst;
outBuffer[indexBuf + 1]= wordReadSecond;
req_struct->out_buf_index= newIndexBuf;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZTRY_TO_READ_TOO_MUCH_ERROR;
return false;
}
@@ -311,7 +309,7 @@
if (! charsetFlag || ! req_struct->xfrm_flag) {
Uint32 newIndexBuf = indexBuf + attrNoOfWords;
if (newIndexBuf <= maxRead) {
- ljam();
+ jam();
ahOut->setByteSize(AttributeDescriptor::getSizeInBytes(attrDescriptor));
MEMCOPY_NO_WORDS(&outBuffer[indexBuf],
&tuple_header[readOffset],
@@ -319,11 +317,11 @@
req_struct->out_buf_index = newIndexBuf;
return true;
} else {
- ljam();
+ jam();
terrorCode = ZTRY_TO_READ_TOO_MUCH_ERROR;
}//if
} else {
- ljam();
+ jam();
Tablerec* regTabPtr = tabptr.p;
Uint32 srcBytes = AttributeDescriptor::getSizeInBytes(attrDescriptor);
uchar* dstPtr = (uchar*)&outBuffer[indexBuf];
@@ -340,7 +338,7 @@
Uint32 dstLen = xmul * (srcBytes - lb);
Uint32 maxIndexBuf = indexBuf + (dstLen >> 2);
if (maxIndexBuf <= maxRead && ok) {
- ljam();
+ jam();
int n = NdbSqlUtil::strnxfrm_bug7284(cs, dstPtr, dstLen, srcPtr + lb, len);
ndbrequire(n != -1);
int m = n;
@@ -353,7 +351,7 @@
req_struct->out_buf_index = newIndexBuf;
return true;
} else {
- ljam();
+ jam();
terrorCode = ZTRY_TO_READ_TOO_MUCH_ERROR;
}
}
@@ -367,13 +365,13 @@
Uint32 attrDes2)
{
if (!nullFlagCheck(req_struct, attrDes2)) {
- ljam();
+ jam();
return readFixedSizeTHOneWordNotNULL(outBuffer,
req_struct,
ahOut,
attrDes2);
} else {
- ljam();
+ jam();
ahOut->setNULL();
return true;
}
@@ -386,13 +384,13 @@
Uint32 attrDes2)
{
if (!nullFlagCheck(req_struct, attrDes2)) {
- ljam();
+ jam();
return readFixedSizeTHTwoWordNotNULL(outBuffer,
req_struct,
ahOut,
attrDes2);
} else {
- ljam();
+ jam();
ahOut->setNULL();
return true;
}
@@ -405,13 +403,13 @@
Uint32 attrDes2)
{
if (!nullFlagCheck(req_struct, attrDes2)) {
- ljam();
+ jam();
return readFixedSizeTHManyWordNotNULL(outBuffer,
req_struct,
ahOut,
attrDes2);
} else {
- ljam();
+ jam();
ahOut->setNULL();
return true;
}
@@ -423,9 +421,9 @@
AttributeHeader* ahOut,
Uint32 attrDes2)
{
- ljam();
+ jam();
if (nullFlagCheck(req_struct, attrDes2)) {
- ljam();
+ jam();
ahOut->setNULL();
}
return true;
@@ -477,7 +475,7 @@
if (! charsetFlag || ! req_struct->xfrm_flag)
{
if (new_index <= max_read) {
- ljam();
+ jam();
ah_out->setByteSize(vsize_in_bytes);
out_buffer[index_buf + (vsize_in_bytes >> 2)] = 0;
memcpy(out_buffer+index_buf,
@@ -489,7 +487,7 @@
}
else
{
- ljam();
+ jam();
Tablerec* regTabPtr = tabptr.p;
Uint32 maxBytes = AttributeDescriptor::getSizeInBytes(attr_descriptor);
Uint32 srcBytes = vsize_in_bytes;
@@ -508,7 +506,7 @@
Uint32 dstLen = xmul * (maxBytes - lb);
Uint32 maxIndexBuf = index_buf + (dstLen >> 2);
if (maxIndexBuf <= max_read && ok) {
- ljam();
+ jam();
int n = NdbSqlUtil::strnxfrm_bug7284(cs, dstPtr, dstLen, srcPtr + lb, len);
ndbrequire(n != -1);
int m = n;
@@ -522,7 +520,7 @@
return true;
}
}
- ljam();
+ jam();
terrorCode= ZTRY_TO_READ_TOO_MUCH_ERROR;
return false;
}
@@ -534,13 +532,13 @@
Uint32 attrDes2)
{
if (!nullFlagCheck(req_struct, attrDes2)) {
- ljam();
+ jam();
return readVarSizeNotNULL(outBuffer,
req_struct,
ahOut,
attrDes2);
} else {
- ljam();
+ jam();
ahOut->setNULL();
return true;
}
@@ -552,7 +550,7 @@
AttributeHeader* ahOut,
Uint32 attrDes2)
{
- ljam();
+ jam();
terrorCode= ZVAR_SIZED_NOT_SUPPORTED;
return false;
}
@@ -563,7 +561,7 @@
AttributeHeader* ahOut,
Uint32 attrDes2)
{
- ljam();
+ jam();
terrorCode= ZVAR_SIZED_NOT_SUPPORTED;
return false;
}//Dbtup::readDynBigVarSize()
@@ -586,7 +584,7 @@
if (! charsetFlag || ! req_struct->xfrm_flag) {
Uint32 newIndexBuf = indexBuf + attrNoOfWords;
if (newIndexBuf <= maxRead) {
- ljam();
+ jam();
ahOut->setByteSize(AttributeDescriptor::getSizeInBytes(attrDescriptor));
MEMCOPY_NO_WORDS(&outBuffer[indexBuf],
&tuple_header[readOffset],
@@ -594,11 +592,11 @@
req_struct->out_buf_index = newIndexBuf;
return true;
} else {
- ljam();
+ jam();
terrorCode = ZTRY_TO_READ_TOO_MUCH_ERROR;
}//if
} else {
- ljam();
+ jam();
Tablerec* regTabPtr = tabptr.p;
Uint32 srcBytes = AttributeDescriptor::getSizeInBytes(attrDescriptor);
uchar* dstPtr = (uchar*)&outBuffer[indexBuf];
@@ -615,7 +613,7 @@
Uint32 dstLen = xmul * (srcBytes - lb);
Uint32 maxIndexBuf = indexBuf + (dstLen >> 2);
if (maxIndexBuf <= maxRead && ok) {
- ljam();
+ jam();
int n = NdbSqlUtil::strnxfrm_bug7284(cs, dstPtr, dstLen, srcPtr + lb, len);
ndbrequire(n != -1);
int m = n;
@@ -628,7 +626,7 @@
req_struct->out_buf_index = newIndexBuf;
return true;
} else {
- ljam();
+ jam();
terrorCode = ZTRY_TO_READ_TOO_MUCH_ERROR;
}
}
@@ -642,13 +640,13 @@
Uint32 attrDes2)
{
if (!disk_nullFlagCheck(req_struct, attrDes2)) {
- ljam();
+ jam();
return readDiskFixedSizeNotNULL(outBuffer,
req_struct,
ahOut,
attrDes2);
} else {
- ljam();
+ jam();
ahOut->setNULL();
return true;
}
@@ -677,7 +675,7 @@
ndbrequire(vsize_in_words <= max_var_size);
if (new_index <= max_read) {
- ljam();
+ jam();
ah_out->setByteSize(vsize_in_bytes);
memcpy(out_buffer+index_buf,
req_struct->m_var_data[DD].m_data_ptr+var_attr_pos,
@@ -685,7 +683,7 @@
req_struct->out_buf_index= new_index;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZTRY_TO_READ_TOO_MUCH_ERROR;
return false;
}
@@ -698,13 +696,13 @@
Uint32 attrDes2)
{
if (!disk_nullFlagCheck(req_struct, attrDes2)) {
- ljam();
+ jam();
return readDiskVarSizeNotNULL(outBuffer,
req_struct,
ahOut,
attrDes2);
} else {
- ljam();
+ jam();
ahOut->setNULL();
return true;
}
@@ -746,13 +744,13 @@
if (checkUpdateOfPrimaryKey(req_struct,
&inBuffer[inBufIndex],
regTabPtr)) {
- ljam();
+ jam();
terrorCode= ZTRY_UPDATE_PRIMARY_KEY;
return -1;
}
}
UpdateFunction f= regTabPtr->updateFunctionArray[attributeId];
- ljam();
+ jam();
req_struct->attr_descriptor= attrDescriptor;
req_struct->changeMask.set(attributeId);
if (attributeId >= 64) {
@@ -768,13 +766,13 @@
inBufIndex= req_struct->in_buf_index;
continue;
} else {
- ljam();
+ jam();
return -1;
}
}
else if(attributeId == AttributeHeader::DISK_REF)
{
- ljam();
+ jam();
Uint32 sz= ahIn.getDataSize();
ndbrequire(sz == 2);
req_struct->m_tuple_ptr->m_header_bits |= Tuple_header::DISK_PART;
@@ -785,7 +783,7 @@
}
else
{
- ljam();
+ jam();
terrorCode= ZATTRIBUTE_ID_ERROR;
return -1;
}
@@ -839,13 +837,13 @@
ndbrequire(req_struct->out_buf_index == ahOut->getDataSize());
if (ahIn.getDataSize() != ahOut->getDataSize()) {
- ljam();
+ jam();
return true;
}
if (memcmp(&keyReadBuffer[0],
&updateBuffer[1],
req_struct->out_buf_index << 2) != 0) {
- ljam();
+ jam();
return true;
}
return false;
@@ -868,17 +866,17 @@
if (newIndex <= inBufLen) {
Uint32 updateWord= inBuffer[indexBuf + 1];
if (!nullIndicator) {
- ljam();
+ jam();
req_struct->in_buf_index= newIndex;
tuple_header[updateOffset]= updateWord;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZNOT_NULL_ATTR;
return false;
}
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -903,18 +901,18 @@
Uint32 updateWord1= inBuffer[indexBuf + 1];
Uint32 updateWord2= inBuffer[indexBuf + 2];
if (!nullIndicator) {
- ljam();
+ jam();
req_struct->in_buf_index= newIndex;
tuple_header[updateOffset]= updateWord1;
tuple_header[updateOffset + 1]= updateWord2;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZNOT_NULL_ATTR;
return false;
}
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -940,9 +938,9 @@
if (newIndex <= inBufLen) {
if (!nullIndicator) {
- ljam();
+ jam();
if (charsetFlag) {
- ljam();
+ jam();
Tablerec* regTabPtr = tabptr.p;
Uint32 typeId = AttributeDescriptor::getType(attrDescriptor);
Uint32 bytes = AttributeDescriptor::getSizeInBytes(attrDescriptor);
@@ -954,14 +952,14 @@
const char* ssrc = (const char*)&inBuffer[indexBuf + 1];
Uint32 lb, len;
if (! NdbSqlUtil::get_var_length(typeId, ssrc, bytes, lb, len)) {
- ljam();
+ jam();
terrorCode = ZINVALID_CHAR_FORMAT;
return false;
}
// fast fix bug#7340
if (typeId != NDB_TYPE_TEXT &&
(*cs->cset->well_formed_len)(cs, ssrc + lb, ssrc + lb + len, ZNIL,
¬_used) != len) {
- ljam();
+ jam();
terrorCode = ZINVALID_CHAR_FORMAT;
return false;
}
@@ -973,12 +971,12 @@
return true;
} else {
- ljam();
+ jam();
terrorCode= ZNOT_NULL_ATTR;
return false;
}
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -996,7 +994,7 @@
Uint32 *bits= req_struct->m_tuple_ptr->get_null_bits(regTabPtr);
if (!nullIndicator) {
- ljam();
+ jam();
BitmaskImpl::clear(regTabPtr->m_offsets[MM].m_null_words, bits, pos);
return updateFixedSizeTHManyWordNotNULL(inBuffer,
req_struct,
@@ -1005,11 +1003,11 @@
Uint32 newIndex= req_struct->in_buf_index + 1;
if (newIndex <= req_struct->in_buf_len) {
BitmaskImpl::set(regTabPtr->m_offsets[MM].m_null_words, bits, pos);
- ljam();
+ jam();
req_struct->in_buf_index= newIndex;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -1043,7 +1041,7 @@
if (new_index <= in_buf_len && vsize_in_words <= max_var_size) {
if (!null_ind) {
- ljam();
+ jam();
var_attr_pos= vpos_array[var_index];
var_data_start= req_struct->m_var_data[MM].m_data_ptr;
vpos_array[var_index+idx]= var_attr_pos+size_in_bytes;
@@ -1054,12 +1052,12 @@
size_in_bytes);
return true;
} else {
- ljam();
+ jam();
terrorCode= ZNOT_NULL_ATTR;
return false;
}
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -1079,7 +1077,7 @@
Uint32 idx= req_struct->m_var_data[MM].m_var_len_offset;
if (!nullIndicator) {
- ljam();
+ jam();
BitmaskImpl::clear(regTabPtr->m_offsets[MM].m_null_words, bits, pos);
return updateVarSizeNotNULL(inBuffer,
req_struct,
@@ -1089,13 +1087,13 @@
Uint32 var_index= AttributeOffset::getOffset(attrDes2);
Uint32 var_pos= req_struct->var_pos_array[var_index];
if (newIndex <= req_struct->in_buf_len) {
- ljam();
+ jam();
BitmaskImpl::set(regTabPtr->m_offsets[MM].m_null_words, bits, pos);
req_struct->var_pos_array[var_index+idx]= var_pos;
req_struct->in_buf_index= newIndex;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -1107,7 +1105,7 @@
KeyReqStruct *req_struct,
Uint32 attrDes2)
{
- ljam();
+ jam();
terrorCode= ZVAR_SIZED_NOT_SUPPORTED;
return false;
}
@@ -1117,7 +1115,7 @@
KeyReqStruct *req_struct,
Uint32 attrDes2)
{
- ljam();
+ jam();
terrorCode= ZVAR_SIZED_NOT_SUPPORTED;
return false;
}
@@ -1215,7 +1213,7 @@
Uint32 maxRead = req_struct->max_read;
Uint32 *bits= req_struct->m_tuple_ptr->get_null_bits(regTabPtr);
if (newIndexBuf <= maxRead) {
- ljam();
+ jam();
ahOut->setDataSize((bitCount + 31) >> 5);
req_struct->out_buf_index = newIndexBuf;
@@ -1224,7 +1222,7 @@
return true;
} else {
- ljam();
+ jam();
terrorCode = ZTRY_TO_READ_TOO_MUCH_ERROR;
return false;
}//if
@@ -1248,20 +1246,20 @@
if(BitmaskImpl::get(regTabPtr->m_offsets[MM].m_null_words, bits, pos))
{
- ljam();
+ jam();
ahOut->setNULL();
return true;
}
if (newIndexBuf <= maxRead) {
- ljam();
+ jam();
ahOut->setDataSize((bitCount + 31) >> 5);
req_struct->out_buf_index = newIndexBuf;
BitmaskImpl::getField(regTabPtr->m_offsets[MM].m_null_words, bits, pos+1,
bitCount, outBuffer+indexBuf);
return true;
} else {
- ljam();
+ jam();
terrorCode = ZTRY_TO_READ_TOO_MUCH_ERROR;
return false;
}//if
@@ -1290,12 +1288,12 @@
req_struct->in_buf_index = newIndex;
return true;
} else {
- ljam();
+ jam();
terrorCode = ZNOT_NULL_ATTR;
return false;
}//if
} else {
- ljam();
+ jam();
terrorCode = ZAI_INCONSISTENCY_ERROR;
return false;
}//if
@@ -1328,13 +1326,13 @@
Uint32 newIndex = indexBuf + 1;
if (newIndex <= req_struct->in_buf_len)
{
- ljam();
+ jam();
BitmaskImpl::set(regTabPtr->m_offsets[MM].m_null_words, bits, pos);
req_struct->in_buf_index = newIndex;
return true;
} else {
- ljam();
+ jam();
terrorCode = ZAI_INCONSISTENCY_ERROR;
return false;
}//if
@@ -1361,9 +1359,9 @@
if (newIndex <= inBufLen) {
if (!nullIndicator) {
- ljam();
+ jam();
if (charsetFlag) {
- ljam();
+ jam();
Tablerec* regTabPtr = tabptr.p;
Uint32 typeId = AttributeDescriptor::getType(attrDescriptor);
Uint32 bytes = AttributeDescriptor::getSizeInBytes(attrDescriptor);
@@ -1375,14 +1373,14 @@
const char* ssrc = (const char*)&inBuffer[indexBuf + 1];
Uint32 lb, len;
if (! NdbSqlUtil::get_var_length(typeId, ssrc, bytes, lb, len)) {
- ljam();
+ jam();
terrorCode = ZINVALID_CHAR_FORMAT;
return false;
}
// fast fix bug#7340
if (typeId != NDB_TYPE_TEXT &&
(*cs->cset->well_formed_len)(cs, ssrc + lb, ssrc + lb + len, ZNIL,
¬_used) != len) {
- ljam();
+ jam();
terrorCode = ZINVALID_CHAR_FORMAT;
return false;
}
@@ -1393,12 +1391,12 @@
noOfWords);
return true;
} else {
- ljam();
+ jam();
terrorCode= ZNOT_NULL_ATTR;
return false;
}
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -1416,7 +1414,7 @@
Uint32 *bits= req_struct->m_disk_ptr->get_null_bits(regTabPtr, DD);
if (!nullIndicator) {
- ljam();
+ jam();
BitmaskImpl::clear(regTabPtr->m_offsets[DD].m_null_words, bits, pos);
return updateDiskFixedSizeNotNULL(inBuffer,
req_struct,
@@ -1425,11 +1423,11 @@
Uint32 newIndex= req_struct->in_buf_index + 1;
if (newIndex <= req_struct->in_buf_len) {
BitmaskImpl::set(regTabPtr->m_offsets[DD].m_null_words, bits, pos);
- ljam();
+ jam();
req_struct->in_buf_index= newIndex;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -1463,7 +1461,7 @@
if (new_index <= in_buf_len && vsize_in_words <= max_var_size) {
if (!null_ind) {
- ljam();
+ jam();
var_attr_pos= vpos_array[var_index];
var_data_start= req_struct->m_var_data[DD].m_data_ptr;
vpos_array[var_index+idx]= var_attr_pos+size_in_bytes;
@@ -1474,12 +1472,12 @@
size_in_bytes);
return true;
} else {
- ljam();
+ jam();
terrorCode= ZNOT_NULL_ATTR;
return false;
}
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -1499,7 +1497,7 @@
Uint32 idx= req_struct->m_var_data[DD].m_var_len_offset;
if (!nullIndicator) {
- ljam();
+ jam();
BitmaskImpl::clear(regTabPtr->m_offsets[DD].m_null_words, bits, pos);
return updateDiskVarSizeNotNULL(inBuffer,
req_struct,
@@ -1509,13 +1507,13 @@
Uint32 var_index= AttributeOffset::getOffset(attrDes2);
Uint32 var_pos= req_struct->var_pos_array[var_index];
if (newIndex <= req_struct->in_buf_len) {
- ljam();
+ jam();
BitmaskImpl::set(regTabPtr->m_offsets[DD].m_null_words, bits, pos);
req_struct->var_pos_array[var_index+idx]= var_pos;
req_struct->in_buf_index= newIndex;
return true;
} else {
- ljam();
+ jam();
terrorCode= ZAI_INCONSISTENCY_ERROR;
return false;
}
@@ -1537,7 +1535,7 @@
Uint32 maxRead = req_struct->max_read;
Uint32 *bits= req_struct->m_disk_ptr->get_null_bits(regTabPtr, DD);
if (newIndexBuf <= maxRead) {
- ljam();
+ jam();
ahOut->setDataSize((bitCount + 31) >> 5);
req_struct->out_buf_index = newIndexBuf;
@@ -1546,7 +1544,7 @@
return true;
} else {
- ljam();
+ jam();
terrorCode = ZTRY_TO_READ_TOO_MUCH_ERROR;
return false;
}//if
@@ -1570,20 +1568,20 @@
if(BitmaskImpl::get(regTabPtr->m_offsets[DD].m_null_words, bits, pos))
{
- ljam();
+ jam();
ahOut->setNULL();
return true;
}
if (newIndexBuf <= maxRead) {
- ljam();
+ jam();
ahOut->setDataSize((bitCount + 31) >> 5);
req_struct->out_buf_index = newIndexBuf;
BitmaskImpl::getField(regTabPtr->m_offsets[DD].m_null_words, bits, pos+1,
bitCount, outBuffer+indexBuf);
return true;
} else {
- ljam();
+ jam();
terrorCode = ZTRY_TO_READ_TOO_MUCH_ERROR;
return false;
}//if
@@ -1612,12 +1610,12 @@
req_struct->in_buf_index = newIndex;
return true;
} else {
- ljam();
+ jam();
terrorCode = ZNOT_NULL_ATTR;
return false;
}//if
} else {
- ljam();
+ jam();
terrorCode = ZAI_INCONSISTENCY_ERROR;
return false;
}//if
@@ -1650,13 +1648,13 @@
Uint32 newIndex = indexBuf + 1;
if (newIndex <= req_struct->in_buf_len)
{
- ljam();
+ jam();
BitmaskImpl::set(regTabPtr->m_offsets[DD].m_null_words, bits, pos);
req_struct->in_buf_index = newIndex;
return true;
} else {
- ljam();
+ jam();
terrorCode = ZAI_INCONSISTENCY_ERROR;
return false;
}//if
--- 1.85/storage/ndb/src/mgmclient/CommandInterpreter.cpp 2007-03-13 18:18:25 +08:00
+++ 1.86/storage/ndb/src/mgmclient/CommandInterpreter.cpp 2007-03-13 18:18:25 +08:00
@@ -2056,6 +2056,7 @@
}
if (cl->node_states[i].node_type != NDB_MGM_NODE_TYPE_NDB){
if (cl->node_states[i].version != 0){
+ version = cl->node_states[i].version;
ndbout << "Node "<< cl->node_states[i].node_id <<": connected"
;
ndbout_c(" (Version %d.%d.%d)",
getMajor(version) ,
@@ -2065,7 +2066,7 @@
}else
ndbout << "Node "<< cl->node_states[i].node_id <<": not
connected" << endl;
return 0;
- }
+ }
status = cl->node_states[i].node_status;
startPhase = cl->node_states[i].start_phase;
version = cl->node_states[i].version;
--- 1.420/sql/ha_ndbcluster.cc 2007-03-13 18:18:25 +08:00
+++ 1.421/sql/ha_ndbcluster.cc 2007-03-13 18:18:25 +08:00
@@ -4835,7 +4835,8 @@
if ((my_errno= create_ndb_column(col, field, create_info)))
DBUG_RETURN(my_errno);
- if (create_info->storage_media == HA_SM_DISK)
+ if (create_info->storage_media == HA_SM_DISK ||
+ create_info->tablespace)
col.setStorageType(NdbDictionary::Column::StorageTypeDisk);
else
col.setStorageType(NdbDictionary::Column::StorageTypeMemory);
@@ -10627,10 +10628,23 @@
int pk= 0;
int ai= 0;
+
+ if (create_info->tablespace)
+ create_info->storage_media = HA_SM_DISK;
+ else
+ create_info->storage_media = HA_SM_MEMORY;
+
for (i= 0; i < table->s->fields; i++)
{
Field *field= table->field[i];
const NDBCOL *col= tab->getColumn(i);
+ if (col->getStorageType() == NDB_STORAGETYPE_MEMORY &&
create_info->storage_media != HA_SM_MEMORY ||
+ col->getStorageType() == NDB_STORAGETYPE_DISK &&
create_info->storage_media != HA_SM_DISK)
+ {
+ DBUG_PRINT("info", ("Column storage media is changed"));
+ DBUG_RETURN(COMPATIBLE_DATA_NO);
+ }
+
if (field->flags & FIELD_IS_RENAMED)
{
DBUG_PRINT("info", ("Field has been renamed, copy table"));
--- 1.20/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp 2007-03-13 18:18:25 +08:00
+++ 1.21/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp 2007-03-13 18:18:25 +08:00
@@ -14,6 +14,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#define DBTUP_C
+#define DBTUP_SCAN_CPP
#include "Dbtup.hpp"
#include <signaldata/AccScan.hpp>
#include <signaldata/NextScan.hpp>
--- 1.40/storage/ndb/tools/restore/consumer_restore.cpp 2007-03-13 18:18:25 +08:00
+++ 1.41/storage/ndb/tools/restore/consumer_restore.cpp 2007-03-13 18:18:25 +08:00
@@ -182,6 +182,7 @@
}
+#ifdef NOT_USED
static bool default_nodegroups(NdbDictionary::Table *table)
{
Uint16 *node_groups = (Uint16*)table->getFragmentData();
@@ -197,6 +198,7 @@
}
return true;
}
+#endif
static Uint32 get_no_fragments(Uint64 max_rows, Uint32 no_nodes)
@@ -424,7 +426,7 @@
{
const void *pack_data, *data, *new_pack_data;
char *new_data;
- uint data_len, pack_len, new_data_len, new_pack_len;
+ uint data_len, new_data_len, new_pack_len;
uint no_parts, extra_growth;
DBUG_ENTER("translate_frm");
@@ -723,6 +725,8 @@
bool
BackupRestore::createSystable(const TableS & tables){
+ if (!m_restore && !m_restore_meta && !m_restore_epoch)
+ return true;
const char *tablename = tables.getTableName();
if( strcmp(tablename, NDB_REP_DB "/def/" NDB_APPLY_TABLE) != 0 &&
@@ -1237,6 +1241,7 @@
tuple_free();
}
+#ifdef NOT_USED
static bool use_part_id(const NdbDictionary::Table *table)
{
if (table->getDefaultNoPartitionsFlag() &&
@@ -1245,6 +1250,7 @@
else
return true;
}
+#endif
static Uint32 get_part_id(const NdbDictionary::Table *table,
Uint32 hash_value)
| Thread |
|---|
| • bk commit into 5.1 tree (Justin.He:1.2483) | justin.he | 13 Mar |