OmniSciDB
4201147b46
|
Classes | |
struct | StringOpInfo |
Typedefs | |
using | LiteralArgMap = std::map< size_t, std::pair< SQLTypes, Datum >> |
Functions | |
std::ostream & | operator<< (std::ostream &stream, const StringOpInfo &string_op_info) |
std::ostream & | operator<< (std::ostream &stream, const std::vector< StringOpInfo > &string_op_infos) |
std::string | toString (const std::vector< StringOpInfo > &string_op_infos) |
std::unique_ptr< const StringOp > | gen_string_op (const StringOpInfo &string_op_info) |
std::pair< std::string, bool > | apply_string_op_to_literals (const StringOpInfo &string_op_info) |
using StringOps_Namespace::LiteralArgMap = typedef std::map<size_t, std::pair<SQLTypes, Datum>> |
Definition at line 30 of file StringOpInfo.h.
std::pair<std::string, bool > StringOps_Namespace::apply_string_op_to_literals | ( | const StringOpInfo & | string_op_info | ) |
Definition at line 617 of file StringOps.cpp.
References CHECK, gen_string_op(), StringOps_Namespace::StringOpInfo::hasNullLiteralArg(), and StringOps_Namespace::StringOpInfo::hasVarStringLiteral().
Referenced by TransientStringLiteralsVisitor::visitStringOper(), and anonymous_namespace{ExpressionRewrite.cpp}::ConstantFoldingVisitor::visitStringOper().
std::unique_ptr<const StringOp> StringOps_Namespace::gen_string_op | ( | const StringOpInfo & | string_op_info | ) |
Definition at line 467 of file StringOps.cpp.
References CHECK_EQ, CHECK_GE, CHECK_LE, CONCAT, StringOps_Namespace::StringOpInfo::getIntLiteral(), StringOps_Namespace::StringOpInfo::getOpKind(), StringOps_Namespace::StringOpInfo::getStringLiteral(), StringOps_Namespace::StringOpInfo::hasNullLiteralArg(), StringOps_Namespace::StringOpInfo::hasVarStringLiteral(), INITCAP, StringOps_Namespace::StringOpInfo::intLiteralArgAtIdxExists(), LOWER, LPAD, LTRIM, StringOps_Namespace::StringOpInfo::numLiterals(), StringOps_Namespace::StringOpInfo::numNonVariableLiterals(), OVERLAY, RCONCAT, REGEXP_REPLACE, REGEXP_SUBSTR, REPEAT, REPLACE, REVERSE, RPAD, RTRIM, SPLIT_PART, SUBSTRING, TRIM, UNREACHABLE, and UPPER.
Referenced by apply_string_op_to_literals().
std::ostream& StringOps_Namespace::operator<< | ( | std::ostream & | stream, |
const StringOpInfo & | string_op_info | ||
) |
Definition at line 24 of file StringOpInfo.cpp.
References CHECK, extract_int_type_from_datum(), StringOps_Namespace::StringOpInfo::getOpKind(), IS_INTEGER, IS_STRING, StringOps_Namespace::StringOpInfo::isLiteralArgNull(), StringOps_Namespace::StringOpInfo::literal_arg_map_, and toString().
std::ostream & StringOps_Namespace::operator<< | ( | std::ostream & | stream, |
const std::vector< StringOpInfo > & | string_op_infos | ||
) |
Definition at line 52 of file StringOpInfo.cpp.
std::string StringOps_Namespace::toString | ( | const std::vector< StringOpInfo > & | string_op_infos | ) |
Definition at line 67 of file StringOpInfo.cpp.
Referenced by operator<<().