23 #ifndef _IGNITE_CACHE_QUERY_QUERY_SQL_FIELDS 24 #define _IGNITE_CACHE_QUERY_QUERY_SQL_FIELDS 30 #include <ignite/impl/cache/query/query_argument.h> 55 distributedJoins(false),
56 enforceJoinOrder(false),
74 distributedJoins(false),
75 enforceJoinOrder(false),
90 pageSize(other.pageSize),
92 distributedJoins(other.distributedJoins),
93 enforceJoinOrder(other.enforceJoinOrder),
97 args.reserve(other.args.size());
99 typedef std::vector<impl::cache::query::QueryArgumentBase*>::const_iterator Iter;
101 for (Iter i = other.args.begin(); i != other.args.end(); ++i)
102 args.push_back((*i)->Copy());
127 typedef std::vector<impl::cache::query::QueryArgumentBase*>::const_iterator Iter;
129 for (Iter it = args.begin(); it != args.end(); ++it)
144 swap(sql, other.sql);
145 swap(schema, other.schema);
146 swap(pageSize, other.pageSize);
147 swap(loc, other.loc);
148 swap(distributedJoins, other.distributedJoins);
149 swap(enforceJoinOrder, other.enforceJoinOrder);
150 swap(lazy, other.lazy);
151 swap(args, other.args);
192 this->pageSize = pageSize;
254 return enforceJoinOrder;
269 enforceJoinOrder = enforce;
279 return distributedJoins;
292 distributedJoins = enabled;
306 args.push_back(
new impl::cache::query::QueryArgument<T>(arg));
317 args.push_back(
new impl::cache::query::QueryInt8ArrayArgument(src, len));
325 std::vector<impl::cache::query::QueryArgumentBase*>::iterator iter;
326 for (iter = args.begin(); iter != args.end(); ++iter)
341 this->schema = schema;
368 writer.
WriteInt32(static_cast<int32_t>(args.size()));
370 std::vector<impl::cache::query::QueryArgumentBase*>::const_iterator it;
372 for (it = args.begin(); it != args.end(); ++it)
373 (*it)->Write(writer);
402 bool distributedJoins;
405 bool enforceJoinOrder;
411 std::vector<impl::cache::query::QueryArgumentBase*> args;
417 #endif //_IGNITE_CACHE_QUERY_QUERY_SQL_FIELDS void SetPageSize(int32_t pageSize)
Set page size.
Definition: query_sql_fields.h:190
void SetLazy(bool lazy)
Sets lazy query execution flag.
Definition: query_sql_fields.h:242
void WriteNull()
Write NULL value.
Definition: binary_raw_writer.cpp:172
void Swap(SqlFieldsQuery &other)
Efficiently swaps contents with another SqlQuery instance.
Definition: query_sql_fields.h:138
Declares ignite::binary::BinaryRawWriter class.
void WriteInt32(int32_t val)
Write 32-byte signed integer.
Definition: binary_raw_writer.cpp:72
void AddArgument(const T &arg)
Add argument.
Definition: query_sql_fields.h:304
const std::string & GetSchema() const
Get schema name for the query.
Definition: query_sql_fields.h:352
void SetEnforceJoinOrder(bool enforce)
Sets flag to enforce join order of tables in the query.
Definition: query_sql_fields.h:267
const std::string & GetSql() const
Get SQL string.
Definition: query_sql_fields.h:160
SqlFieldsQuery(const std::string &sql, bool loc)
Constructor.
Definition: query_sql_fields.h:69
void SetSql(const std::string &sql)
Set SQL string.
Definition: query_sql_fields.h:170
void AddInt8ArrayArgument(const int8_t *src, int32_t len)
Add array of bytes as an argument.
Definition: query_sql_fields.h:315
void SetLocal(bool loc)
Set local flag.
Definition: query_sql_fields.h:210
Sql fields query.
Definition: query_sql_fields.h:42
bool IsLazy() const
Gets lazy query execution flag.
Definition: query_sql_fields.h:222
bool IsLocal() const
Get local flag.
Definition: query_sql_fields.h:200
void WriteString(const char *val)
Write string.
Definition: binary_raw_writer.cpp:152
bool IsEnforceJoinOrder() const
Checks if join order of tables if enforced.
Definition: query_sql_fields.h:252
void ClearArguments()
Remove all added arguments.
Definition: query_sql_fields.h:323
Binary raw writer.
Definition: binary_raw_writer.h:55
void WriteBool(bool val)
Write bool.
Definition: binary_raw_writer.cpp:42
SqlFieldsQuery(const std::string &sql)
Constructor.
Definition: query_sql_fields.h:50
void SetSchema(const std::string &schema)
Set schema name for the query.
Definition: query_sql_fields.h:339
~SqlFieldsQuery()
Destructor.
Definition: query_sql_fields.h:125
bool IsDistributedJoins() const
Check if distributed joins are enabled for this query.
Definition: query_sql_fields.h:277
int32_t GetPageSize() const
Get page size.
Definition: query_sql_fields.h:180
void Write(binary::BinaryRawWriter &writer) const
Write query info to the stream.
Definition: query_sql_fields.h:362
Apache Ignite API.
Definition: cache.h:48
SqlFieldsQuery(const SqlFieldsQuery &other)
Copy constructor.
Definition: query_sql_fields.h:87
void SetDistributedJoins(bool enabled)
Specify if distributed joins are enabled for this query.
Definition: query_sql_fields.h:290
SqlFieldsQuery & operator=(const SqlFieldsQuery &other)
Assignment operator.
Definition: query_sql_fields.h:110