18 #include "Ndbinfo.hpp"
19 #include "SimulatedBlock.hpp"
20 #include <kernel/AttributeHeader.hpp>
21 #include <signaldata/TransIdAI.hpp>
28 start = signal->getDataPtrSend() + DbinfoScanReq::SignalLength;
29 const Uint32 data_sz =
sizeof(signal->theData)/
sizeof(signal->theData[0]);
30 end = signal->getDataPtrSend() + data_sz;
40 const Uint32 avail = (Uint32)(end - curr);
44 ndbout_c(
"Warning, too small row buffer for attribute: %d, "
55 const Table& tab = getTable(m_req.tableId);
57 assert(colid < (Uint32)tab.m.ncols);
58 assert(tab.col[colid].coltype == type);
62 Ndbinfo::Row::write_string(
const char* str)
64 const size_t clen = strlen(str) + 1;
67 check_attribute_type(ah, Ndbinfo::String);
68 if (!check_buffer_space(ah))
76 memcpy(curr, str, clen);
77 curr += ah.getDataSize();
84 Ndbinfo::Row::write_uint32(Uint32 value)
88 check_attribute_type(ah, Ndbinfo::Number);
89 if (!check_buffer_space(ah))
97 memcpy(curr, &value,
sizeof(Uint32));
98 curr += ah.getDataSize();
105 Ndbinfo::Row::write_uint64(Uint64 value)
109 check_attribute_type(ah, Ndbinfo::Number64);
110 if (!check_buffer_space(ah))
118 memcpy(curr, &value,
sizeof(Uint64));
119 curr += ah.getDataSize();