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

Classes

struct  Op
struct  OpIdx
struct  TableDef

Public Types

enum  QueryOption {
  O_LOOKUP = 0x1, O_SCAN = 0x2, O_PK_INDEX = 0x4, O_UNIQUE_INDEX = 0x8,
  O_ORDERED_INDEX = 0x10, O_TABLE_SCAN = 0x20, O_RANDOM_OPTIONS
}
typedef Uint64 OptionMask

Public Member Functions

 HugoQueryBuilder (Ndb *ndb, const NdbDictionary::Table **tabptr, OptionMask om=OM_RANDOM_OPTIONS)
 HugoQueryBuilder (Ndb *ndb, const NdbDictionary::Table *tab, QueryOption o)
void setMinJoinLevel (int level)
int getMinJoinLevel () const
void setMaxJoinLevel (int level)
int getMaxJoinLevel () const
void setJoinLevel (int level)
int getJoinLevel () const
void addTable (Ndb *, const NdbDictionary::Table *)
void removeTable (const NdbDictionary::Table *)
void setOption (QueryOption o)
void clearOption (QueryOption o) const
bool testOption (QueryOption o) const
OptionMask getOptionMask () const
void setOptionMask (OptionMask om)
const NdbQueryDefcreateQuery (bool takeOwnership=false)

Static Public Attributes

static const OptionMask OM_RANDOM_OPTIONS = (OptionMask)O_RANDOM_OPTIONS

Friends

NdbOut & operator<< (NdbOut &out, const HugoQueryBuilder::Op &op)

Detailed Description

Definition at line 25 of file HugoQueryBuilder.hpp.

Member Enumeration Documentation

Options that affects what kind of query is built

Enumerator:
O_LOOKUP 

Query should be a lookup

O_SCAN 

Query should be a scan

O_PK_INDEX 

Query might use primary key index

O_UNIQUE_INDEX 

Query might use unique index

O_ORDERED_INDEX 

Query might use ordered index

O_TABLE_SCAN 

Query might table scan

O_RANDOM_OPTIONS 

If not any options set, random query qill be created

Definition at line 33 of file HugoQueryBuilder.hpp.

Member Function Documentation

const NdbQueryDef * HugoQueryBuilder::createQuery ( bool  takeOwnership = false)

We only don't support table scans as child operations...

Iff root is lookup...ordered index scans are not allowed as children

Definition at line 565 of file HugoQueryBuilder.cpp.

Here is the call graph for this function:


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