23 #ifndef QUERYENGINE_TARGETINFO_H
24 #define QUERYENGINE_TARGETINFO_H
36 const std::shared_ptr<Analyzer::Expr> target_expr) {
45 const std::shared_ptr<Analyzer::Expr> target_expr) {
60 auto result = std::string(
"TargetInfo(");
61 result +=
"is_agg=" + std::string(
is_agg ?
"true" :
"false") +
", ";
84 return shared::is_any<kMIN, kMAX, kSINGLE_VALUE, kSAMPLE, kMODE, kCOUNT_IF>(agg_kind);
87 namespace target_info {
89 const bool bigint_count);
93 const bool bigint_count) {
98 const bool bigint_count) {
108 shared::is_any<kAVG, kSUM, kSUM_IF, kMIN, kMAX, kSINGLE_VALUE, kMODE>(
112 #endif // QUERYENGINE_TARGETINFO_H
Defines data structures for the semantic analysis phase of query processing.
bool is_agg_domain_range_equivalent(const SQLAgg agg_kind)
Constants for Builtin SQL Types supported by HEAVY.AI.
bool takes_float_argument(const TargetInfo &target_info)
HOST DEVICE SQLTypes get_type() const
TargetInfo get_target_info(const Analyzer::Expr *target_expr, const bool bigint_count)
bool target_expr_has_varlen_projection(const Analyzer::Expr *target_expr)
bool is_varlen_projection
std::string to_string() const
std::string toString() const
bool is_distinct_target(const TargetInfo &target_info)
TargetInfo get_target_info_impl(const Analyzer::Expr *target_expr, const bool bigint_count)
const Analyzer::AggExpr * cast_to_agg_expr(const Analyzer::Expr *target_expr)
Common Enum definitions for SQL processing.