MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ndb_pushed_join Class Reference

#include <ha_ndbcluster_push.h>

Public Member Functions

 ndb_pushed_join (const ndb_pushed_builder_ctx &builder_ctx, const NdbQueryDef *query_def)
bool match_definition (int type, const NDB_INDEX_DATA *idx, bool needSorted) const
NdbQuerymake_query_instance (NdbTransaction *trans, const NdbQueryParamValue *keyFieldParams, uint paramCnt) const
uint get_operation_count () const
uint get_field_referrences_count () const
const NdbQueryDefget_query_def () const
TABLEget_table (uint i) const

Static Public Attributes

static const uint MAX_KEY_PART = MAX_KEY
static const uint MAX_REFERRED_FIELDS = 16
static const uint MAX_LINKED_KEYS = MAX_KEY
static const uint MAX_PUSHED_OPERATIONS = MAX_TABLES

Detailed Description

This class represents a prepared pushed (N-way) join operation.

It might be instantiated multiple times whenever the query, or this subpart of the query, is being (re-)executed by ::createQuery() or it's wrapper method ha_ndbcluster::create_pushed_join().

Definition at line 88 of file ha_ndbcluster_push.h.

Member Function Documentation

uint ndb_pushed_join::get_field_referrences_count ( ) const
inline

In a pushed join, fields in lookup keys and scan bounds may refer to result fields of table access operation that execute prior to the pushed join. This method returns the number of such references.

Definition at line 119 of file ha_ndbcluster_push.h.

uint ndb_pushed_join::get_operation_count ( ) const
inline

Get the number of pushed table access operations.

Definition at line 111 of file ha_ndbcluster_push.h.

TABLE* ndb_pushed_join::get_table ( uint  i) const
inline

Get the table that is accessed by the i'th table access operation.

Definition at line 126 of file ha_ndbcluster_push.h.

NdbQuery* ndb_pushed_join::make_query_instance ( NdbTransaction trans,
const NdbQueryParamValue keyFieldParams,
uint  paramCnt 
) const

Create an executable instance of this defined query.

bool ndb_pushed_join::match_definition ( int  type,
const NDB_INDEX_DATA idx,
bool  needSorted 
) const

Check that this prepared pushed query matches the type of operation specified by the arguments.

Member Data Documentation

const uint ndb_pushed_join::MAX_KEY_PART = MAX_KEY
static

This is the maximal number of fields in the key of any pushed table access operation.

Definition at line 136 of file ha_ndbcluster_push.h.

const uint ndb_pushed_join::MAX_LINKED_KEYS = MAX_KEY
static

For each table access operation in a pushed join, this is the maximal number of key fields that may refer to the fields of the parent operation.

Definition at line 148 of file ha_ndbcluster_push.h.

const uint ndb_pushed_join::MAX_PUSHED_OPERATIONS = MAX_TABLES
static

This is the maximal number of table access operations there can be in a single pushed join.

Definition at line 153 of file ha_ndbcluster_push.h.

const uint ndb_pushed_join::MAX_REFERRED_FIELDS = 16
static

In a pushed join, fields in lookup keys and scan bounds may refer to result fields of table access operation that execute prior to the pushed join. This constant specifies the maximal number of such references for a query.

Definition at line 143 of file ha_ndbcluster_push.h.


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