My Project
|
#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 |
NdbQuery * | make_query_instance (NdbTransaction *trans, const NdbQueryParamValue *keyFieldParams, uint paramCnt) const |
uint | get_operation_count () const |
uint | get_field_referrences_count () const |
const NdbQueryDef & | get_query_def () const |
TABLE * | get_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 |
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().
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.
uint ndb_pushed_join::get_operation_count | ( | ) | const [inline] |
Get the number of pushed table access operations.
TABLE* ndb_pushed_join::get_table | ( | uint | i | ) | const [inline] |
Get the table that is accessed by the i'th table access operation.
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.
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.
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.
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.
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.