OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FilterPushdownTestTableFunctions.cpp File Reference
+ Include dependency graph for FilterPushdownTestTableFunctions.cpp:

Go to the source code of this file.

Enumerations

enum  TFAggType { MIN, MAX }
 

Functions

template<typename T >
TEMPLATE_INLINEget_min_or_max (const Column< T > &col, const TFAggType min_or_max)
 
template<typename T >
TEMPLATE_INLINEget_min_or_max_union (const Column< T > &col1, const Column< T > &col2, const TFAggType min_or_max)
 
template<typename K , typename T , typename Z >
NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< K > &input_id, const Column< T > &input_x, const Column< T > &input_y, const Column< Z > &input_z, Column< int32_t > &output_row_count, Column< K > &output_id, Column< T > &output_x, Column< T > &output_y, Column< Z > &output_z)
 
template<typename K , typename T , typename Z >
NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< K > &input_id, const Column< T > &input_x, const Column< T > &input_y, const Column< Z > &input_z, Column< K > &output_id, Column< T > &output_x, Column< T > &output_y, Column< Z > &output_z)
 
template<typename K , typename T , typename Z >
NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< K > &input1_id, const Column< T > &input1_x, const Column< T > &input1_y, const Column< Z > &input1_z, const Column< K > &input2_id, const Column< T > &input2_x, const Column< T > &input2_y, const Column< Z > &input2_z, const Column< T > &input2_w, Column< int32_t > &output_row_count, Column< K > &output_id, Column< T > &output_x, Column< T > &output_y, Column< Z > &output_z, Column< T > &output_w)
 
template<typename K , typename T , typename Z >
NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< K > &input1_id, const Column< T > &input1_x, const Column< T > &input1_y, const Column< Z > &input1_z, const Column< K > &input2_id, const Column< T > &input2_x, const Column< T > &input2_y, const Column< Z > &input2_z, const Column< T > &input2_w, Column< K > &output_id, Column< T > &output_x, Column< T > &output_y, Column< Z > &output_z, Column< T > &output_w)
 
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< int64_t > &input_id, const Column< int64_t > &input_x, const Column< int64_t > &input_y, const Column< int64_t > &input_z, Column< int32_t > &output_row_count, Column< int64_t > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< int64_t > &output_z)
 
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< int64_t > &input_id, const Column< int64_t > &input_x, const Column< int64_t > &input_y, const Column< int64_t > &input_z, Column< int64_t > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< int64_t > &output_z)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< int64_t > &input1_id, const Column< int64_t > &input1_x, const Column< int64_t > &input1_y, const Column< int64_t > &input1_z, const Column< int64_t > &input2_id, const Column< int64_t > &input2_x, const Column< int64_t > &input2_y, const Column< int64_t > &input2_z, const Column< int64_t > &input2_w, Column< int32_t > &output_row_count, Column< int64_t > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< int64_t > &output_z, Column< int64_t > &output_w)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< int64_t > &input1_id, const Column< int64_t > &input1_x, const Column< int64_t > &input1_y, const Column< int64_t > &input1_z, const Column< int64_t > &input2_id, const Column< int64_t > &input2_x, const Column< int64_t > &input2_y, const Column< int64_t > &input2_z, const Column< int64_t > &input2_w, Column< int64_t > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< int64_t > &output_z, Column< int64_t > &output_w)
 
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< int64_t > &input_id, const Column< int64_t > &input_x, const Column< int64_t > &input_y, const Column< double > &input_z, Column< int32_t > &output_row_count, Column< int64_t > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< double > &output_z)
 
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< int64_t > &input_id, const Column< int64_t > &input_x, const Column< int64_t > &input_y, const Column< double > &input_z, Column< int64_t > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< double > &output_z)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< int64_t > &input1_id, const Column< int64_t > &input1_x, const Column< int64_t > &input1_y, const Column< double > &input1_z, const Column< int64_t > &input2_id, const Column< int64_t > &input2_x, const Column< int64_t > &input2_y, const Column< double > &input2_z, const Column< int64_t > &input2_w, Column< int32_t > &output_row_count, Column< int64_t > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< double > &output_z, Column< int64_t > &output_w)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< int64_t > &input1_id, const Column< int64_t > &input1_x, const Column< int64_t > &input1_y, const Column< double > &input1_z, const Column< int64_t > &input2_id, const Column< int64_t > &input2_x, const Column< int64_t > &input2_y, const Column< double > &input2_z, const Column< int64_t > &input2_w, Column< int64_t > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< double > &output_z, Column< int64_t > &output_w)
 
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< TextEncodingDict > &input_id, const Column< int64_t > &input_x, const Column< int64_t > &input_y, const Column< int64_t > &input_z, Column< int32_t > &output_row_count, Column< TextEncodingDict > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< int64_t > &output_z)
 
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< TextEncodingDict > &input_id, const Column< int64_t > &input_x, const Column< int64_t > &input_y, const Column< int64_t > &input_z, Column< TextEncodingDict > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< int64_t > &output_z)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< TextEncodingDict > &input1_id, const Column< int64_t > &input1_x, const Column< int64_t > &input1_y, const Column< int64_t > &input1_z, const Column< TextEncodingDict > &input2_id, const Column< int64_t > &input2_x, const Column< int64_t > &input2_y, const Column< int64_t > &input2_z, const Column< int64_t > &input2_w, Column< int32_t > &output_row_count, Column< TextEncodingDict > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< int64_t > &output_z, Column< int64_t > &output_w)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< TextEncodingDict > &input1_id, const Column< int64_t > &input1_x, const Column< int64_t > &input1_y, const Column< int64_t > &input1_z, const Column< TextEncodingDict > &input2_id, const Column< int64_t > &input2_x, const Column< int64_t > &input2_y, const Column< int64_t > &input2_z, const Column< int64_t > &input2_w, Column< TextEncodingDict > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< int64_t > &output_z, Column< int64_t > &output_w)
 
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< TextEncodingDict > &input_id, const Column< int64_t > &input_x, const Column< int64_t > &input_y, const Column< double > &input_z, Column< int32_t > &output_row_count, Column< TextEncodingDict > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< double > &output_z)
 
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< TextEncodingDict > &input_id, const Column< int64_t > &input_x, const Column< int64_t > &input_y, const Column< double > &input_z, Column< TextEncodingDict > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< double > &output_z)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< TextEncodingDict > &input1_id, const Column< int64_t > &input1_x, const Column< int64_t > &input1_y, const Column< double > &input1_z, const Column< TextEncodingDict > &input2_id, const Column< int64_t > &input2_x, const Column< int64_t > &input2_y, const Column< double > &input2_z, const Column< int64_t > &input2_w, Column< int32_t > &output_row_count, Column< TextEncodingDict > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< double > &output_z, Column< int64_t > &output_w)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< TextEncodingDict > &input1_id, const Column< int64_t > &input1_x, const Column< int64_t > &input1_y, const Column< double > &input1_z, const Column< TextEncodingDict > &input2_id, const Column< int64_t > &input2_x, const Column< int64_t > &input2_y, const Column< double > &input2_z, const Column< int64_t > &input2_w, Column< TextEncodingDict > &output_id, Column< int64_t > &output_x, Column< int64_t > &output_y, Column< double > &output_z, Column< int64_t > &output_w)
 
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< int64_t > &input_id, const Column< double > &input_x, const Column< double > &input_y, const Column< int64_t > &input_z, Column< int32_t > &output_row_count, Column< int64_t > &output_id, Column< double > &output_x, Column< double > &output_y, Column< int64_t > &output_z)
 
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< int64_t > &input_id, const Column< double > &input_x, const Column< double > &input_y, const Column< int64_t > &input_z, Column< int64_t > &output_id, Column< double > &output_x, Column< double > &output_y, Column< int64_t > &output_z)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< int64_t > &input1_id, const Column< double > &input1_x, const Column< double > &input1_y, const Column< int64_t > &input1_z, const Column< int64_t > &input2_id, const Column< double > &input2_x, const Column< double > &input2_y, const Column< int64_t > &input2_z, const Column< double > &input2_w, Column< int32_t > &output_row_count, Column< int64_t > &output_id, Column< double > &output_x, Column< double > &output_y, Column< int64_t > &output_z, Column< double > &output_w)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< int64_t > &input1_id, const Column< double > &input1_x, const Column< double > &input1_y, const Column< int64_t > &input1_z, const Column< int64_t > &input2_id, const Column< double > &input2_x, const Column< double > &input2_y, const Column< int64_t > &input2_z, const Column< double > &input2_w, Column< int64_t > &output_id, Column< double > &output_x, Column< double > &output_y, Column< int64_t > &output_z, Column< double > &output_w)
 
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< int64_t > &input_id, const Column< double > &input_x, const Column< double > &input_y, const Column< double > &input_z, Column< int32_t > &output_row_count, Column< int64_t > &output_id, Column< double > &output_x, Column< double > &output_y, Column< double > &output_z)
 
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< int64_t > &input_id, const Column< double > &input_x, const Column< double > &input_y, const Column< double > &input_z, Column< int64_t > &output_id, Column< double > &output_x, Column< double > &output_y, Column< double > &output_z)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< int64_t > &input1_id, const Column< double > &input1_x, const Column< double > &input1_y, const Column< double > &input1_z, const Column< int64_t > &input2_id, const Column< double > &input2_x, const Column< double > &input2_y, const Column< double > &input2_z, const Column< double > &input2_w, Column< int32_t > &output_row_count, Column< int64_t > &output_id, Column< double > &output_x, Column< double > &output_y, Column< double > &output_z, Column< double > &output_w)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< int64_t > &input1_id, const Column< double > &input1_x, const Column< double > &input1_y, const Column< double > &input1_z, const Column< int64_t > &input2_id, const Column< double > &input2_x, const Column< double > &input2_y, const Column< double > &input2_z, const Column< double > &input2_w, Column< int64_t > &output_id, Column< double > &output_x, Column< double > &output_y, Column< double > &output_z, Column< double > &output_w)
 
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< TextEncodingDict > &input_id, const Column< double > &input_x, const Column< double > &input_y, const Column< int64_t > &input_z, Column< int32_t > &output_row_count, Column< TextEncodingDict > &output_id, Column< double > &output_x, Column< double > &output_y, Column< int64_t > &output_z)
 
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< TextEncodingDict > &input_id, const Column< double > &input_x, const Column< double > &input_y, const Column< int64_t > &input_z, Column< TextEncodingDict > &output_id, Column< double > &output_x, Column< double > &output_y, Column< int64_t > &output_z)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< TextEncodingDict > &input1_id, const Column< double > &input1_x, const Column< double > &input1_y, const Column< int64_t > &input1_z, const Column< TextEncodingDict > &input2_id, const Column< double > &input2_x, const Column< double > &input2_y, const Column< int64_t > &input2_z, const Column< double > &input2_w, Column< int32_t > &output_row_count, Column< TextEncodingDict > &output_id, Column< double > &output_x, Column< double > &output_y, Column< int64_t > &output_z, Column< double > &output_w)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< TextEncodingDict > &input1_id, const Column< double > &input1_x, const Column< double > &input1_y, const Column< int64_t > &input1_z, const Column< TextEncodingDict > &input2_id, const Column< double > &input2_x, const Column< double > &input2_y, const Column< int64_t > &input2_z, const Column< double > &input2_w, Column< TextEncodingDict > &output_id, Column< double > &output_x, Column< double > &output_y, Column< int64_t > &output_z, Column< double > &output_w)
 
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< TextEncodingDict > &input_id, const Column< double > &input_x, const Column< double > &input_y, const Column< double > &input_z, Column< int32_t > &output_row_count, Column< TextEncodingDict > &output_id, Column< double > &output_x, Column< double > &output_y, Column< double > &output_z)
 
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< TextEncodingDict > &input_id, const Column< double > &input_x, const Column< double > &input_y, const Column< double > &input_z, Column< TextEncodingDict > &output_id, Column< double > &output_x, Column< double > &output_y, Column< double > &output_z)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template (TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< TextEncodingDict > &input1_id, const Column< double > &input1_x, const Column< double > &input1_y, const Column< double > &input1_z, const Column< TextEncodingDict > &input2_id, const Column< double > &input2_x, const Column< double > &input2_y, const Column< double > &input2_z, const Column< double > &input2_w, Column< int32_t > &output_row_count, Column< TextEncodingDict > &output_id, Column< double > &output_x, Column< double > &output_y, Column< double > &output_z, Column< double > &output_w)
 
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template (TableFunctionManager &mgr, const Column< TextEncodingDict > &input1_id, const Column< double > &input1_x, const Column< double > &input1_y, const Column< double > &input1_z, const Column< TextEncodingDict > &input2_id, const Column< double > &input2_x, const Column< double > &input2_y, const Column< double > &input2_z, const Column< double > &input2_w, Column< TextEncodingDict > &output_id, Column< double > &output_x, Column< double > &output_y, Column< double > &output_z, Column< double > &output_w)
 

Enumeration Type Documentation

enum TFAggType
Enumerator
MIN 
MAX 

Definition at line 32 of file FilterPushdownTestTableFunctions.cpp.

Function Documentation

template<typename K , typename T , typename Z >
NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< K > &  input_id,
const Column< T > &  input_x,
const Column< T > &  input_y,
const Column< Z > &  input_z,
Column< K > &  output_id,
Column< T > &  output_x,
Column< T > &  output_y,
Column< Z > &  output_z 
)

Definition at line 84 of file FilterPushdownTestTableFunctions.cpp.

References TableFunctionManager::set_output_row_size(), and Column< T >::size().

92  {
93  const int64_t input_size = input_id.size();
94  mgr.set_output_row_size(input_size);
95  for (int64_t input_idx = 0; input_idx < input_size; ++input_idx) {
96  output_id[input_idx] = input_id[input_idx];
97  output_x[input_idx] = input_x[input_idx];
98  output_y[input_idx] = input_y[input_idx];
99  output_z[input_idx] = input_z[input_idx];
100  }
101  return input_size;
102 }
void set_output_row_size(int64_t num_rows)
Definition: heavydbTypes.h:373
DEVICE int64_t size() const

+ Here is the call graph for this function:

template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< int64_t > &  input_id,
const Column< int64_t > &  input_x,
const Column< int64_t > &  input_y,
const Column< int64_t > &  input_z,
Column< int64_t > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< int64_t > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< int64_t > &  input_id,
const Column< int64_t > &  input_x,
const Column< int64_t > &  input_y,
const Column< double > &  input_z,
Column< int64_t > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< double > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< TextEncodingDict > &  input_id,
const Column< int64_t > &  input_x,
const Column< int64_t > &  input_y,
const Column< int64_t > &  input_z,
Column< TextEncodingDict > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< int64_t > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< TextEncodingDict > &  input_id,
const Column< int64_t > &  input_x,
const Column< int64_t > &  input_y,
const Column< double > &  input_z,
Column< TextEncodingDict > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< double > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< int64_t > &  input_id,
const Column< double > &  input_x,
const Column< double > &  input_y,
const Column< int64_t > &  input_z,
Column< int64_t > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< int64_t > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< int64_t > &  input_id,
const Column< double > &  input_x,
const Column< double > &  input_y,
const Column< double > &  input_z,
Column< int64_t > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< double > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< TextEncodingDict > &  input_id,
const Column< double > &  input_x,
const Column< double > &  input_y,
const Column< int64_t > &  input_z,
Column< TextEncodingDict > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< int64_t > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< TextEncodingDict > &  input_id,
const Column< double > &  input_x,
const Column< double > &  input_y,
const Column< double > &  input_z,
Column< TextEncodingDict > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< double > &  output_z 
)
template<typename K , typename T , typename Z >
NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< K > &  input_id,
const Column< T > &  input_x,
const Column< T > &  input_y,
const Column< Z > &  input_z,
Column< int32_t > &  output_row_count,
Column< K > &  output_id,
Column< T > &  output_x,
Column< T > &  output_y,
Column< Z > &  output_z 
)

Definition at line 61 of file FilterPushdownTestTableFunctions.cpp.

References get_min_or_max(), TextEncodingNone::getString(), MAX, MIN, TableFunctionManager::set_output_row_size(), and Column< T >::size().

71  {
72  const std::string agg_type_str = agg_type.getString();
73  const TFAggType min_or_max = agg_type_str == "MIN" ? TFAggType::MIN : TFAggType::MAX;
74  mgr.set_output_row_size(1);
75  output_row_count[0] = input_id.size();
76  output_id[0] = get_min_or_max(input_id, min_or_max);
77  output_x[0] = get_min_or_max(input_x, min_or_max);
78  output_y[0] = get_min_or_max(input_y, min_or_max);
79  output_z[0] = get_min_or_max(input_z, min_or_max);
80  return 1;
81 }
void set_output_row_size(int64_t num_rows)
Definition: heavydbTypes.h:373
std::string getString() const
Definition: heavydbTypes.h:641
DEVICE int64_t size() const
TEMPLATE_INLINE T get_min_or_max(const Column< T > &col, const TFAggType min_or_max)

+ Here is the call graph for this function:

template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< int64_t > &  input_id,
const Column< int64_t > &  input_x,
const Column< int64_t > &  input_y,
const Column< int64_t > &  input_z,
Column< int32_t > &  output_row_count,
Column< int64_t > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< int64_t > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< int64_t > &  input_id,
const Column< int64_t > &  input_x,
const Column< int64_t > &  input_y,
const Column< double > &  input_z,
Column< int32_t > &  output_row_count,
Column< int64_t > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< double > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< TextEncodingDict > &  input_id,
const Column< int64_t > &  input_x,
const Column< int64_t > &  input_y,
const Column< int64_t > &  input_z,
Column< int32_t > &  output_row_count,
Column< TextEncodingDict > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< int64_t > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< TextEncodingDict > &  input_id,
const Column< int64_t > &  input_x,
const Column< int64_t > &  input_y,
const Column< double > &  input_z,
Column< int32_t > &  output_row_count,
Column< TextEncodingDict > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< double > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< int64_t > &  input_id,
const Column< double > &  input_x,
const Column< double > &  input_y,
const Column< int64_t > &  input_z,
Column< int32_t > &  output_row_count,
Column< int64_t > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< int64_t > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< int64_t > &  input_id,
const Column< double > &  input_x,
const Column< double > &  input_y,
const Column< double > &  input_z,
Column< int32_t > &  output_row_count,
Column< int64_t > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< double > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< TextEncodingDict > &  input_id,
const Column< double > &  input_x,
const Column< double > &  input_y,
const Column< int64_t > &  input_z,
Column< int32_t > &  output_row_count,
Column< TextEncodingDict > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< int64_t > &  output_z 
)
template NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< TextEncodingDict > &  input_id,
const Column< double > &  input_x,
const Column< double > &  input_y,
const Column< double > &  input_z,
Column< int32_t > &  output_row_count,
Column< TextEncodingDict > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< double > &  output_z 
)
template<typename K , typename T , typename Z >
NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< K > &  input1_id,
const Column< T > &  input1_x,
const Column< T > &  input1_y,
const Column< Z > &  input1_z,
const Column< K > &  input2_id,
const Column< T > &  input2_x,
const Column< T > &  input2_y,
const Column< Z > &  input2_z,
const Column< T > &  input2_w,
Column< K > &  output_id,
Column< T > &  output_x,
Column< T > &  output_y,
Column< Z > &  output_z,
Column< T > &  output_w 
)

Definition at line 142 of file FilterPushdownTestTableFunctions.cpp.

References TableFunctionManager::set_output_row_size(), Column< T >::setNull(), and Column< T >::size().

156  {
157  const int64_t input1_size = input1_id.size();
158  const int64_t input2_size = input2_id.size();
159  int64_t output_size = input1_size + input2_size;
160  mgr.set_output_row_size(output_size);
161  for (int64_t input1_idx = 0; input1_idx < input1_size; ++input1_idx) {
162  output_id[input1_idx] = input1_id[input1_idx];
163  output_x[input1_idx] = input1_x[input1_idx];
164  output_y[input1_idx] = input1_y[input1_idx];
165  output_z[input1_idx] = input1_z[input1_idx];
166  output_w.setNull(input1_idx);
167  }
168  for (int64_t input2_idx = 0; input2_idx < input2_size; ++input2_idx) {
169  output_id[input1_size + input2_idx] = input2_id[input2_idx];
170  output_x[input1_size + input2_idx] = input2_x[input2_idx];
171  output_y[input1_size + input2_idx] = input2_y[input2_idx];
172  output_z[input1_size + input2_idx] = input2_z[input2_idx];
173  output_w[input1_size + input2_idx] = input2_w[input2_idx];
174  }
175  return output_size;
176 }
void set_output_row_size(int64_t num_rows)
Definition: heavydbTypes.h:373
DEVICE int64_t size() const
DEVICE void setNull(int64_t index)

+ Here is the call graph for this function:

template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< int64_t > &  input1_id,
const Column< int64_t > &  input1_x,
const Column< int64_t > &  input1_y,
const Column< int64_t > &  input1_z,
const Column< int64_t > &  input2_id,
const Column< int64_t > &  input2_x,
const Column< int64_t > &  input2_y,
const Column< int64_t > &  input2_z,
const Column< int64_t > &  input2_w,
Column< int64_t > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< int64_t > &  output_z,
Column< int64_t > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< int64_t > &  input1_id,
const Column< int64_t > &  input1_x,
const Column< int64_t > &  input1_y,
const Column< double > &  input1_z,
const Column< int64_t > &  input2_id,
const Column< int64_t > &  input2_x,
const Column< int64_t > &  input2_y,
const Column< double > &  input2_z,
const Column< int64_t > &  input2_w,
Column< int64_t > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< double > &  output_z,
Column< int64_t > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< TextEncodingDict > &  input1_id,
const Column< int64_t > &  input1_x,
const Column< int64_t > &  input1_y,
const Column< int64_t > &  input1_z,
const Column< TextEncodingDict > &  input2_id,
const Column< int64_t > &  input2_x,
const Column< int64_t > &  input2_y,
const Column< int64_t > &  input2_z,
const Column< int64_t > &  input2_w,
Column< TextEncodingDict > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< int64_t > &  output_z,
Column< int64_t > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< TextEncodingDict > &  input1_id,
const Column< int64_t > &  input1_x,
const Column< int64_t > &  input1_y,
const Column< double > &  input1_z,
const Column< TextEncodingDict > &  input2_id,
const Column< int64_t > &  input2_x,
const Column< int64_t > &  input2_y,
const Column< double > &  input2_z,
const Column< int64_t > &  input2_w,
Column< TextEncodingDict > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< double > &  output_z,
Column< int64_t > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< int64_t > &  input1_id,
const Column< double > &  input1_x,
const Column< double > &  input1_y,
const Column< int64_t > &  input1_z,
const Column< int64_t > &  input2_id,
const Column< double > &  input2_x,
const Column< double > &  input2_y,
const Column< int64_t > &  input2_z,
const Column< double > &  input2_w,
Column< int64_t > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< int64_t > &  output_z,
Column< double > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< int64_t > &  input1_id,
const Column< double > &  input1_x,
const Column< double > &  input1_y,
const Column< double > &  input1_z,
const Column< int64_t > &  input2_id,
const Column< double > &  input2_x,
const Column< double > &  input2_y,
const Column< double > &  input2_z,
const Column< double > &  input2_w,
Column< int64_t > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< double > &  output_z,
Column< double > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< TextEncodingDict > &  input1_id,
const Column< double > &  input1_x,
const Column< double > &  input1_y,
const Column< int64_t > &  input1_z,
const Column< TextEncodingDict > &  input2_id,
const Column< double > &  input2_x,
const Column< double > &  input2_y,
const Column< int64_t > &  input2_z,
const Column< double > &  input2_w,
Column< TextEncodingDict > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< int64_t > &  output_z,
Column< double > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template ( TableFunctionManager mgr,
const Column< TextEncodingDict > &  input1_id,
const Column< double > &  input1_x,
const Column< double > &  input1_y,
const Column< double > &  input1_z,
const Column< TextEncodingDict > &  input2_id,
const Column< double > &  input2_x,
const Column< double > &  input2_y,
const Column< double > &  input2_z,
const Column< double > &  input2_w,
Column< TextEncodingDict > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< double > &  output_z,
Column< double > &  output_w 
)
template<typename K , typename T , typename Z >
NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< K > &  input1_id,
const Column< T > &  input1_x,
const Column< T > &  input1_y,
const Column< Z > &  input1_z,
const Column< K > &  input2_id,
const Column< T > &  input2_x,
const Column< T > &  input2_y,
const Column< Z > &  input2_z,
const Column< T > &  input2_w,
Column< int32_t > &  output_row_count,
Column< K > &  output_id,
Column< T > &  output_x,
Column< T > &  output_y,
Column< Z > &  output_z,
Column< T > &  output_w 
)

Definition at line 106 of file FilterPushdownTestTableFunctions.cpp.

References get_column_min_max(), get_min_or_max_union(), TextEncodingNone::getString(), MAX, MIN, TableFunctionManager::set_output_row_size(), Column< T >::setNull(), and Column< T >::size().

122  {
123  mgr.set_output_row_size(1);
124  const std::string agg_type_str = agg_type.getString();
125  const TFAggType min_or_max = agg_type_str == "MIN" ? TFAggType::MIN : TFAggType::MAX;
126  output_row_count[0] = input1_id.size() + input2_id.size();
127  output_id[0] = get_min_or_max_union(input1_id, input2_id, min_or_max);
128  output_x[0] = get_min_or_max_union(input1_x, input2_x, min_or_max);
129  output_y[0] = get_min_or_max_union(input1_y, input2_y, min_or_max);
130  output_z[0] = get_min_or_max_union(input1_z, input2_z, min_or_max);
131  if (input2_w.size() > 0) {
132  const auto w_min_max = get_column_min_max(input2_w);
133  output_w[0] = agg_type_str == "MIN" ? w_min_max.first : w_min_max.second;
134  } else {
135  output_w.setNull(0);
136  }
137  return 1;
138 }
void set_output_row_size(int64_t num_rows)
Definition: heavydbTypes.h:373
std::string getString() const
Definition: heavydbTypes.h:641
NEVER_INLINE HOST std::pair< T, T > get_column_min_max(const Column< T > &col)
DEVICE int64_t size() const
TEMPLATE_INLINE T get_min_or_max_union(const Column< T > &col1, const Column< T > &col2, const TFAggType min_or_max)
DEVICE void setNull(int64_t index)

+ Here is the call graph for this function:

template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< int64_t > &  input1_id,
const Column< int64_t > &  input1_x,
const Column< int64_t > &  input1_y,
const Column< int64_t > &  input1_z,
const Column< int64_t > &  input2_id,
const Column< int64_t > &  input2_x,
const Column< int64_t > &  input2_y,
const Column< int64_t > &  input2_z,
const Column< int64_t > &  input2_w,
Column< int32_t > &  output_row_count,
Column< int64_t > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< int64_t > &  output_z,
Column< int64_t > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< int64_t > &  input1_id,
const Column< int64_t > &  input1_x,
const Column< int64_t > &  input1_y,
const Column< double > &  input1_z,
const Column< int64_t > &  input2_id,
const Column< int64_t > &  input2_x,
const Column< int64_t > &  input2_y,
const Column< double > &  input2_z,
const Column< int64_t > &  input2_w,
Column< int32_t > &  output_row_count,
Column< int64_t > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< double > &  output_z,
Column< int64_t > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< TextEncodingDict > &  input1_id,
const Column< int64_t > &  input1_x,
const Column< int64_t > &  input1_y,
const Column< int64_t > &  input1_z,
const Column< TextEncodingDict > &  input2_id,
const Column< int64_t > &  input2_x,
const Column< int64_t > &  input2_y,
const Column< int64_t > &  input2_z,
const Column< int64_t > &  input2_w,
Column< int32_t > &  output_row_count,
Column< TextEncodingDict > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< int64_t > &  output_z,
Column< int64_t > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< TextEncodingDict > &  input1_id,
const Column< int64_t > &  input1_x,
const Column< int64_t > &  input1_y,
const Column< double > &  input1_z,
const Column< TextEncodingDict > &  input2_id,
const Column< int64_t > &  input2_x,
const Column< int64_t > &  input2_y,
const Column< double > &  input2_z,
const Column< int64_t > &  input2_w,
Column< int32_t > &  output_row_count,
Column< TextEncodingDict > &  output_id,
Column< int64_t > &  output_x,
Column< int64_t > &  output_y,
Column< double > &  output_z,
Column< int64_t > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< int64_t > &  input1_id,
const Column< double > &  input1_x,
const Column< double > &  input1_y,
const Column< int64_t > &  input1_z,
const Column< int64_t > &  input2_id,
const Column< double > &  input2_x,
const Column< double > &  input2_y,
const Column< int64_t > &  input2_z,
const Column< double > &  input2_w,
Column< int32_t > &  output_row_count,
Column< int64_t > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< int64_t > &  output_z,
Column< double > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< int64_t > &  input1_id,
const Column< double > &  input1_x,
const Column< double > &  input1_y,
const Column< double > &  input1_z,
const Column< int64_t > &  input2_id,
const Column< double > &  input2_x,
const Column< double > &  input2_y,
const Column< double > &  input2_z,
const Column< double > &  input2_w,
Column< int32_t > &  output_row_count,
Column< int64_t > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< double > &  output_z,
Column< double > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< TextEncodingDict > &  input1_id,
const Column< double > &  input1_x,
const Column< double > &  input1_y,
const Column< int64_t > &  input1_z,
const Column< TextEncodingDict > &  input2_id,
const Column< double > &  input2_x,
const Column< double > &  input2_y,
const Column< int64_t > &  input2_z,
const Column< double > &  input2_w,
Column< int32_t > &  output_row_count,
Column< TextEncodingDict > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< int64_t > &  output_z,
Column< double > &  output_w 
)
template NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template ( TableFunctionManager mgr,
const TextEncodingNone agg_type,
const Column< TextEncodingDict > &  input1_id,
const Column< double > &  input1_x,
const Column< double > &  input1_y,
const Column< double > &  input1_z,
const Column< TextEncodingDict > &  input2_id,
const Column< double > &  input2_x,
const Column< double > &  input2_y,
const Column< double > &  input2_z,
const Column< double > &  input2_w,
Column< int32_t > &  output_row_count,
Column< TextEncodingDict > &  output_id,
Column< double > &  output_x,
Column< double > &  output_y,
Column< double > &  output_z,
Column< double > &  output_w 
)
template<typename T >
TEMPLATE_INLINE T get_min_or_max ( const Column< T > &  col,
const TFAggType  min_or_max 
)

Definition at line 35 of file FilterPushdownTestTableFunctions.cpp.

References get_column_min_max(), and MIN.

Referenced by ct_pushdown_stats__cpu_template().

35  {
36  const auto input_min_max = get_column_min_max(col);
37  if (min_or_max == TFAggType::MIN) {
38  return input_min_max.first;
39  }
40  return input_min_max.second;
41 }
NEVER_INLINE HOST std::pair< T, T > get_column_min_max(const Column< T > &col)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
TEMPLATE_INLINE T get_min_or_max_union ( const Column< T > &  col1,
const Column< T > &  col2,
const TFAggType  min_or_max 
)

Definition at line 44 of file FilterPushdownTestTableFunctions.cpp.

References get_column_min_max(), and MIN.

Referenced by ct_union_pushdown_stats__cpu_template().

46  {
47  const auto input1_min_max = get_column_min_max(col1);
48  const auto input2_min_max = get_column_min_max(col2);
49  if (min_or_max == TFAggType::MIN) {
50  return input1_min_max.first < input2_min_max.first ? input1_min_max.first
51  : input2_min_max.first;
52  }
53  return input1_min_max.second > input2_min_max.second ? input1_min_max.second
54  : input2_min_max.second;
55 }
NEVER_INLINE HOST std::pair< T, T > get_column_min_max(const Column< T > &col)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: