ErrCode run ( Table& tab_in, std::string input_str, BloomFilter& bf_in, std::string filter_condition, Table& tab_out, std::string output_str, StrategySet params )
gqeFilter run function.
Usage:
err_code = Filter.run(
tab_in,
"l_orderkey",
bf_in,
"19940101<=l_orderdate && l_orderdate<19950101",
tab_c1,
"c1=l_extendedprice, c2=l_discount, c3=o_orderdate, c4=l_orderkey",
params);
Input filter_condition like “19940101<=l_orderdate && l_orderdate<19950101”, l_orderdate must be exsisted in colunm names of the input table, when no filter conditions, input “”
Input key name(s) string like “l_orderkey_0”, when enable dual key join, use comma as seperator, “l_orderkey_0, l_orderkey_1”
Output mapping is like “output_c0 = tab_in_col”, when contains several columns, use comma as seperator
Parameters:
tab_in | input table |
input_str | key column names(s) of the input table to be bloom-filtered |
bf_in | input bloom-filter from which the hash-table used |
filter_condition | filter condition used in dynamic filter |
tab_out | result table |
output_str | output column mapping |
params | StrategySet struct contatins number of sections of the input table. params.sec_l = 0: uses section info from input table; params.sec_l >= 1: separates input table into params.sec_l sections evenly |
Returns:
error code