MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NdbResultStream::TupleSet Class Reference
Collaboration diagram for NdbResultStream::TupleSet:

Public Attributes

Uint16 m_parentId
Uint16 m_tupleId
Uint16 m_hash_head
Uint16 m_hash_next
bool m_skip
Bitmask
<(NDB_SPJ_MAX_TREE_NODES+31)/32 > 
m_hasMatchingChild

Detailed Description

TupleSet contain two logically distinct set of information:

  • Child/Parent correlation set required to correlate child tuples with its parents. Child/Tuple pairs are indexed by tuple number which is the same as the order in which tuples appear in the NdbReceiver buffers.
  • A HashMap on 'm_parentId' used to locate tuples correlated to a parent tuple. Indexes by hashing the parentId such that:
    • [hash(parentId)].m_hash_head will then index the first TupleSet entry potential containing the parentId to locate.
    • .m_hash_next in the indexed TupleSet may index the next TupleSet to considder.

Both the child/parent correlation set and the parentId HashMap has been folded into the same structure on order to reduce number of objects being dynamically allocated. As an advantage this results in an autoscaling of the hash bucket size .

Structure is only present if 'isScanQuery'

Definition at line 526 of file NdbQueryOperation.cpp.

Member Data Documentation

Bitmask<(NDB_SPJ_MAX_TREE_NODES+31)/32> NdbResultStream::TupleSet::m_hasMatchingChild

If the n'th bit is set, then a matching tuple for the n,th child has been seen. This information is needed when generating left join tuples for those tuples that had no matching children.

Definition at line 540 of file NdbQueryOperation.cpp.


The documentation for this class was generated from the following file: