16 #ifndef IMPALA_EXPRS_IN_PREDICATE_H_
17 #define IMPALA_EXPRS_IN_PREDICATE_H_
275 template<
typename SetType>
291 template<
typename T,
typename SetType,
bool not_in, Strategy strategy>
296 template<
typename T,
typename SetType>
300 template<
typename SetType>
305 template<
typename T,
typename SetType>
const FunctionContext::TypeDesc * type
The type of the arguments.
static impala_udf::BooleanVal InIterate(impala_udf::FunctionContext *context, const impala_udf::BooleanVal &val, int num_args, const impala_udf::BooleanVal *args)
Functions for every type.
static void SetLookupClose_int(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupPrepare_timestamp(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupClose_bigint(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupPrepare_bigint(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupClose_float(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static impala_udf::BooleanVal NotInSetLookup(impala_udf::FunctionContext *context, const impala_udf::BooleanVal &val, int num_args, const impala_udf::BooleanVal *args)
static void SetLookupPrepare_boolean(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static BooleanVal Iterate(const FunctionContext::TypeDesc *type, const T &val, int num_args, const T *args)
Iterates through each vararg looking for val. 'type' is the type of 'val' and 'args'.
static void SetLookupPrepare_string(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupPrepare_tinyint(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupPrepare_int(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupClose_string(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupClose_double(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
This object has a compatible storage format with boost::ptime.
Indicates we should use Iterate().
static BooleanVal SetLookup(SetLookupState< SetType > *state, const T &v)
Looks up v in state->val_set.
static void SetLookupClose_boolean(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupClose_smallint(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupPrepare_double(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupPrepare_decimal(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupClose(FunctionContext *ctx, FunctionContext::FunctionStateScope scope)
static void SetLookupClose_decimal(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
bool contains_null
If true, there is at least one NULL constant in the IN list.
static impala_udf::BooleanVal NotInIterate(impala_udf::FunctionContext *context, const impala_udf::BooleanVal &val, int num_args, const impala_udf::BooleanVal *args)
const ColumnType & type() const
static void SetLookupClose_tinyint(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
static void SetLookupClose_timestamp(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
std::set< SetType > val_set
Predicate for evaluating expressions of the form "val [NOT] IN (x1, x2, x3...)".
static void SetLookupPrepare(FunctionContext *ctx, FunctionContext::FunctionStateScope scope)
Initializes an SetLookupState in ctx.
static impala_udf::BooleanVal InSetLookup(impala_udf::FunctionContext *context, const impala_udf::BooleanVal &val, int num_args, const impala_udf::BooleanVal *args)
static void SetLookupPrepare_smallint(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)
Indicates we should use SetLookUp().
static impala_udf::BooleanVal TemplatedIn(impala_udf::FunctionContext *context, const T &val, int num_args, const T *args)
static void SetLookupPrepare_float(impala_udf::FunctionContext *ctx, impala_udf::FunctionContext::FunctionStateScope scope)