20 #include <signaldata/TcKeyReq.hpp>
23 printTCKEYREQ(FILE * output,
const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
27 UintR requestInfo = sig->requestInfo;
29 fprintf(output,
" apiConnectPtr: H\'%.8x, apiOperationPtr: H\'%.8x\n",
30 sig->apiConnectPtr, sig->apiOperationPtr);
31 fprintf(output,
" Operation: %s, Flags: ",
32 sig->getOperationType(requestInfo) == ZREAD ?
"Read" :
33 sig->getOperationType(requestInfo) == ZREAD_EX ?
"Read-Ex" :
34 sig->getOperationType(requestInfo) == ZUPDATE ?
"Update" :
35 sig->getOperationType(requestInfo) == ZINSERT ?
"Insert" :
36 sig->getOperationType(requestInfo) == ZDELETE ?
"Delete" :
37 sig->getOperationType(requestInfo) == ZWRITE ?
"Write" :
38 sig->getOperationType(requestInfo) == ZUNLOCK ?
"Unlock" :
39 sig->getOperationType(requestInfo) == ZREFRESH ?
"Refresh" :
42 if(sig->getDirtyFlag(requestInfo)){
43 fprintf(output,
"Dirty ");
45 if(sig->getStartFlag(requestInfo)){
46 fprintf(output,
"Start ");
48 if(sig->getExecuteFlag(requestInfo)){
49 fprintf(output,
"Execute ");
51 if(sig->getCommitFlag(requestInfo)){
52 fprintf(output,
"Commit ");
54 if (sig->getNoDiskFlag(requestInfo)) {
55 fprintf(output,
"NoDisk ");
58 UintR TcommitType = sig->getAbortOption(requestInfo);
59 if (TcommitType == TcKeyReq::AbortOnError) {
60 fprintf(output,
"AbortOnError ");
61 }
else if (TcommitType == TcKeyReq::IgnoreError) {
62 fprintf(output,
"IgnoreError ");
65 if(sig->getSimpleFlag(requestInfo)){
66 fprintf(output,
"Simple ");
68 if(sig->getScanIndFlag(requestInfo)){
69 fprintf(output,
"ScanInd ");
71 if(sig->getInterpretedFlag(requestInfo)){
72 fprintf(output,
"Interpreted ");
74 if(sig->getDistributionKeyFlag(sig->requestInfo)){
75 fprintf(output,
"d-key ");
77 if(sig->getViaSPJFlag(sig->requestInfo)){
78 fprintf(output,
" spj");
80 if(sig->getQueueOnRedoProblemFlag(sig->requestInfo))
81 fprintf(output,
"Queue ");
83 if(sig->getDeferredConstraints(sig->requestInfo))
84 fprintf(output,
"Deferred-constraints ");
86 fprintf(output,
"\n");
89 const int keyLen = sig->getKeyLength(requestInfo);
90 const int attrInThis = sig->getAIInTcKeyReq(requestInfo);
91 const int attrLen = sig->getAttrinfoLen(sig->attrLen);
92 const int apiVer = sig->getAPIVersion(sig->attrLen);
94 " keyLen: %d, attrLen: %d, AI in this: %d, tableId: %d, "
95 "tableSchemaVer: %d, API Ver: %d\n",
96 keyLen, attrLen, attrInThis,
97 sig->tableId, sig->tableSchemaVersion, apiVer);
99 fprintf(output,
" transId(1, 2): (H\'%.8x, H\'%.8x)\n -- Variable Data --\n",
100 sig->transId1, sig->transId2);
102 if (len >= TcKeyReq::StaticLength) {
103 Uint32 restLen = (len - TcKeyReq::StaticLength);
104 const Uint32 * rest = &sig->scanInfo;
107 " H\'%.8x H\'%.8x H\'%.8x H\'%.8x H\'%.8x H\'%.8x H\'%.8x\n",
108 rest[0], rest[1], rest[2], rest[3],
109 rest[4], rest[5], rest[6]);
114 for(Uint32
i = 0;
i<restLen;
i++)
115 fprintf(output,
" H\'%.8x", rest[
i]);
116 fprintf(output,
"\n");
119 fprintf(output,
"*** invalid len %u ***\n", len);