18 #include <signaldata/LqhKey.hpp>
21 printLQHKEYREQ(FILE * output,
const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
26 " ClientPtr = H\'%.8x hashValue = H\'%.8x tcBlockRef = H\'%.8x\n"
27 " transId1 = H\'%.8x transId2 = H\'%.8x savePointId = H\'%.8x\n",
28 sig->clientConnectPtr,
36 const Uint32 reqInfo = sig->requestInfo;
37 const Uint32 attrLen = sig->attrLen;
40 " Op: %d Lock: %d Flags: ",
41 LqhKeyReq::getOperation(reqInfo),
42 LqhKeyReq::getLockType(reqInfo));
43 if(LqhKeyReq::getSimpleFlag(reqInfo))
44 fprintf(output,
"Simple ");
45 if(LqhKeyReq::getDirtyFlag(reqInfo))
47 if (LqhKeyReq::getNormalProtocolFlag(reqInfo))
48 fprintf(output,
"Dirty(N) ");
50 fprintf(output,
"Dirty ");
52 if(LqhKeyReq::getInterpretedFlag(reqInfo))
53 fprintf(output,
"Interpreted ");
54 if(LqhKeyReq::getScanTakeOverFlag(attrLen))
55 fprintf(output,
"ScanTakeOver ");
56 if(LqhKeyReq::getMarkerFlag(reqInfo))
57 fprintf(output,
"CommitAckMarker ");
58 if(LqhKeyReq::getNoDiskFlag(reqInfo))
59 fprintf(output,
"NoDisk ");
60 if(LqhKeyReq::getRowidFlag(reqInfo))
61 fprintf(output,
"Rowid ");
62 if(LqhKeyReq::getNrCopyFlag(reqInfo))
63 fprintf(output,
"NrCopy ");
64 if(LqhKeyReq::getGCIFlag(reqInfo))
65 fprintf(output,
"GCI ");
66 if(LqhKeyReq::getQueueOnRedoProblemFlag(reqInfo))
67 fprintf(output,
"Queue ");
68 if(LqhKeyReq::getDeferredConstraints(reqInfo))
69 fprintf(output,
"Deferred-constraints ");
71 fprintf(output,
"ScanInfo/noFiredTriggers: H\'%x\n", sig->scanInfo);
74 " AttrLen: %d (%d in this) KeyLen: %d TableId: %d SchemaVer: %d\n",
75 LqhKeyReq::getAttrLen(attrLen),
76 LqhKeyReq::getAIInLqhKeyReq(reqInfo),
77 LqhKeyReq::getKeyLen(reqInfo),
78 LqhKeyReq::getTableId(sig->tableSchemaVersion),
79 LqhKeyReq::getSchemaVersion(sig->tableSchemaVersion));
82 " FragId: %d ReplicaNo: %d LastReplica: %d NextNodeId: %d\n",
83 LqhKeyReq::getFragmentId(sig->fragmentData),
84 LqhKeyReq::getSeqNoReplica(reqInfo),
85 LqhKeyReq::getLastReplicaNo(reqInfo),
86 LqhKeyReq::getNextReplicaNodeId(sig->fragmentData));
89 Uint32 nextPos = LqhKeyReq::getApplicationAddressFlag(reqInfo) << 1;
92 " ApiRef: H\'%.8x ApiOpRef: H\'%.8x",
94 sig->variableData[1]);
98 if(LqhKeyReq::getSameClientAndTcFlag(reqInfo)){
99 fprintf(output,
" TcOpRec: H\'%.8x", sig->variableData[nextPos]);
104 Uint32 tmp = LqhKeyReq::getLastReplicaNo(reqInfo) -
105 LqhKeyReq::getSeqNoReplica(reqInfo);
107 NodeId node2 = sig->variableData[nextPos] & 0xffff;
108 NodeId node3 = sig->variableData[nextPos] >> 16;
109 fprintf(output,
" NextNodeId2: %d NextNodeId3: %d",
115 fprintf(output,
"\n");
118 if(LqhKeyReq::getStoredProcFlag(attrLen)){
119 fprintf(output,
" StoredProcId: %d", sig->variableData[nextPos]);
124 if(LqhKeyReq::getReturnedReadLenAIFlag(reqInfo)){
125 fprintf(output,
" ReturnedReadLenAI: %d",
126 sig->variableData[nextPos]);
131 const UintR keyLen = LqhKeyReq::getKeyLen(reqInfo);
133 fprintf(output,
" KeyInfo: ");
134 for(UintR
i = 0;
i<keyLen &&
i<4; i++, nextPos++)
135 fprintf(output,
"H\'%.8x ", sig->variableData[nextPos]);
136 fprintf(output,
"\n");
139 if (LqhKeyReq::getRowidFlag(reqInfo))
141 fprintf(output,
" Rowid: [ page: %d idx: %d ]\n",
142 sig->variableData[nextPos + 0],
143 sig->variableData[nextPos + 1]);
147 if (LqhKeyReq::getGCIFlag(reqInfo))
149 fprintf(output,
" GCI: %u", sig->variableData[nextPos + 0]);
153 if (LqhKeyReq::getCorrFactorFlag(reqInfo))
155 fprintf(output,
" corrFactorLo: 0x%x", sig->variableData[nextPos + 0]);
157 fprintf(output,
" corrFactorHi: 0x%x", sig->variableData[nextPos + 0]);
161 if(!LqhKeyReq::getInterpretedFlag(reqInfo)){
162 fprintf(output,
" AttrInfo: ");
163 for(
int i = 0;
i<LqhKeyReq::getAIInLqhKeyReq(reqInfo);
i++, nextPos++)
164 fprintf(output,
"H\'%.8x ", sig->variableData[nextPos]);
165 fprintf(output,
"\n");
168 if (LqhKeyReq::getAIInLqhKeyReq(reqInfo) == LqhKeyReq::MaxAttrInfo)
170 fprintf(output,
" InitialReadSize: %d InterpretedSize: %d "
171 "FinalUpdateSize: %d FinalReadSize: %d SubroutineSize: %d\n",
172 sig->variableData[nextPos+0], sig->variableData[nextPos+1],
173 sig->variableData[nextPos+2], sig->variableData[nextPos+3],
174 sig->variableData[nextPos+4]);
182 printLQHKEYCONF(FILE * output,
const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
185 fprintf(output,
"Signal data: ");
188 fprintf(output,
"H\'%.8x ", theData[i++]);
189 fprintf(output,
"\n");
195 printLQHKEYREF(FILE * output,
const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
198 fprintf(output,
"Signal data: ");
201 fprintf(output,
"H\'%.8x ", theData[i++]);
202 fprintf(output,
"\n");