class xf::database::gqe::JoinCommand¶
#include "xf_database/join_command.hpp"
Methods¶
JoinCommand¶
JoinCommand ()
construct of JoinCommand .
default: join : on join type : INNER_JOIN bypass : off aggr : off dual key : off
Scan¶
void Scan ( int table_id, std::vector <int8_t> index )
scan valid cols.
Parameters:
table_id | 0 for left table, 1 for right table |
index | |
valid | input column ids |
setJoinType¶
void setJoinType (int jointype)
set join type.
Parameters:
jointype | Join type, default is INNER_JOIN |
setWriteCol¶
void setWriteCol (std::vector <int8_t> index)
set output column ids.
Parameters:
index | output column ids |
setShuffle0¶
void setShuffle0 ( int table_id, std::vector <int8_t> index )
set shuffle0 column ids.
Parameters:
table_id | 0 for left table, 1 for right table |
index | shuffle0 key list, if filter on, move filter keys to first 4 locations |
setShuffle1¶
void setShuffle1 ( int table_id, std::vector <int8_t> index )
set shuffle1 column ids.
Parameters:
table_id | 0 for left table, 1 for right table |
index | shuffle1 key list, if join on, move join key(s) to first 1 (2 when dual key) location(s) |
setShuffle2¶
void setShuffle2 (std::vector <int8_t> index)
set shuffle2 column ids.
Parameters:
index | shuffle2 key list, for evaluation 1, move evaluation keys to first 4 locations |
setShuffle3¶
void setShuffle3 (std::vector <int8_t> index)
set shuffle3 column ids.
Parameters:
index | shuffle3 key list, for evaluation 2, move evaluation keys to first 4 locations |
setShuffle4¶
void setShuffle4 (std::vector <int8_t> index)
set shuffle4 column ids.
Parameters:
index | aggregation key list |
setEvaluation¶
setEvaluation overload (1)¶
void setEvaluation ( int eval_id, std::string s0, std::vector <int32_t> index )
set Evaluation string.
Parameters:
eval_id | |
most | two evaluations |
s0 | |
evaluation | string for special strm format |
index | |
evaluation | constants for each strm, default 0 |
setEvaluation overload (2)¶
void setEvaluation ( int eval_id, std::string eval_str )
set Evaluation string.
Parameters:
eval_id | |
most | two evaluations |
eval_str | |
evaluation | expression string |
setFilter¶
setFilter overload (1)¶
void setFilter ( int table_id, std::string filter_string )
set Filter string.
The string uses a
, b
, c
, d
to refer to first to the fourth column, and supports comparison and logical operator like C++. Parentheses can be used to group logic, but notice that the underlying hardware module does not support comparing one column with multiple constant boundaries in OR relationship. Integral constants will be extracted from expression.
For example, an expression could be (a < 10 && b < 20) || (c >= d)
.
Parameters:
table_id | |
0 | for left table, 1 for right table |
filter_string | filter expression string |