18 #ifndef HUGO_QUERY_BUILDER_HPP
19 #define HUGO_QUERY_BUILDER_HPP
23 #include "../../src/ndbapi/NdbQueryBuilder.hpp"
28 typedef Uint64 OptionMask;
74 OptionMask om = OM_RANDOM_OPTIONS){
76 for (; * tabptr != 0; tabptr++)
77 addTable(ndb, * tabptr);
89 void setMinJoinLevel(
int level) { m_joinLevel[0] =
level;}
90 int getMinJoinLevel()
const {
return m_joinLevel[0];}
91 void setMaxJoinLevel(
int level) { m_joinLevel[1] =
level;}
92 int getMaxJoinLevel()
const {
return m_joinLevel[1];}
94 void setJoinLevel(
int level) { setMinJoinLevel(level);setMaxJoinLevel(level);}
95 int getJoinLevel()
const;
100 void setOption(
QueryOption o) { m_options |= (OptionMask)o;}
101 void clearOption(
QueryOption o)
const { m_options &= ~(OptionMask)o;}
102 bool testOption(
QueryOption o)
const {
return (m_options & o) != 0;}
104 OptionMask getOptionMask()
const {
return m_options;}
105 void setOptionMask(OptionMask om) { m_options = om;}
118 mutable OptionMask m_options;
124 struct TableDef getTable() const;
149 bool allow_bind_nullable);
154 bool allow_bind_nullable);
162 bool checkBusyScan(
Op)
const;
163 bool isAncestor(
const Op& parent,
const Op& child)
const;
165 friend NdbOut& operator<<(NdbOut& out,
const HugoQueryBuilder::Op& op);