#include <Dblqh.hpp>#include "Dbtup.hpp"#include <RefConvert.hpp>#include <ndb_limits.h>#include <pc.hpp>#include <AttributeDescriptor.hpp>#include "AttributeOffset.hpp"#include <AttributeHeader.hpp>#include <Interpreter.hpp>#include <signaldata/TupCommit.hpp>#include <signaldata/TupKey.hpp>#include <signaldata/AttrInfo.hpp>#include <NdbSqlUtil.hpp>#include <signaldata/TuxMaint.hpp>Include dependency graph for DbtupExecQuery.cpp:

Go to the source code of this file.
Defines | |
| #define | DBTUP_C |
| #define | MAX_READ (sizeof(signal->theData) > MAX_MESSAGE_SIZE ? MAX_MESSAGE_SIZE : sizeof(signal->theData)) |
Functions | |
| Uint32 | brancher (Uint32 TheInstruction, Uint32 TprogramCounter) |
| Uint32 * | expand_var_part (Dbtup::KeyReqStruct::Var_data *dst, const Uint32 *src, const Uint32 *tabDesc, const Uint16 *order) |
| #define DBTUP_C |
Definition at line 18 of file DbtupExecQuery.cpp.
| #define MAX_READ (sizeof(signal->theData) > MAX_MESSAGE_SIZE ? MAX_MESSAGE_SIZE : sizeof(signal->theData)) |
Definition at line 899 of file DbtupExecQuery.cpp.
Referenced by Dbtup::handleReadReq(), and Dbtup::interpreterStartLab().
Definition at line 1769 of file DbtupExecQuery.cpp.
References jam.
Referenced by Dbtup::interpreterNextLab().
01770 { 01771 Uint32 TbranchDirection= TheInstruction >> 31; 01772 Uint32 TbranchLength= (TheInstruction >> 16) & 0x7fff; 01773 TprogramCounter--; 01774 if (TbranchDirection == 1) { 01775 jam(); 01776 /* ---------------------------------------------------------------- */ 01777 /* WE JUMP BACKWARDS. */ 01778 /* ---------------------------------------------------------------- */ 01779 return (TprogramCounter - TbranchLength); 01780 } else { 01781 jam(); 01782 /* ---------------------------------------------------------------- */ 01783 /* WE JUMP FORWARD. */ 01784 /* ---------------------------------------------------------------- */ 01785 return (TprogramCounter + TbranchLength); 01786 } 01787 }
Here is the caller graph for this function:

| Uint32* expand_var_part | ( | Dbtup::KeyReqStruct::Var_data * | dst, | |
| const Uint32 * | src, | |||
| const Uint32 * | tabDesc, | |||
| const Uint16 * | order | |||
| ) |
expand_var_part - copy packed variable attributes to fully expanded size
dst: where to start writing attribute data dst_off_ptr where to write attribute offsets src pointer to packed attributes tabDesc array of attribute descriptors (used for getting max size) no_of_attr no of atributes to expand
Definition at line 2427 of file DbtupExecQuery.cpp.
References ALIGN_WORD(), AttributeDescriptor::getSizeInBytes(), Dbtup::KeyReqStruct::Var_data::m_data_ptr, Dbtup::KeyReqStruct::Var_data::m_offset_array_ptr, Dbtup::KeyReqStruct::Var_data::m_var_len_offset, max_len, and memcpy.
02431 { 02432 char* dst_ptr= dst->m_data_ptr; 02433 Uint32 no_attr= dst->m_var_len_offset; 02434 Uint16* dst_off_ptr= dst->m_offset_array_ptr; 02435 Uint16* dst_len_ptr= dst_off_ptr + no_attr; 02436 const Uint16* src_off_ptr= (const Uint16*)src; 02437 const char* src_ptr= (const char*)(src_off_ptr + no_attr + 1); 02438 02439 Uint16 tmp= *src_off_ptr++, next_pos, len, max_len, dst_off= 0; 02440 for(Uint32 i = 0; i<no_attr; i++) 02441 { 02442 next_pos= *src_off_ptr++; 02443 len= next_pos - tmp; 02444 02445 *dst_off_ptr++ = dst_off; 02446 *dst_len_ptr++ = dst_off + len; 02447 memcpy(dst_ptr, src_ptr, len); 02448 src_ptr += len; 02449 02450 max_len= AttributeDescriptor::getSizeInBytes(tabDesc[* order++]); 02451 dst_ptr += max_len; // Max size 02452 dst_off += max_len; 02453 02454 tmp= next_pos; 02455 } 02456 02457 return ALIGN_WORD(dst_ptr); 02458 }
Here is the call graph for this function:

1.4.7

