Column-oriented GPU-accelerated Database Management System
CoGaDB
CoGaDB::SQL::ParseTree::BetweenPredicate Struct Reference

#include <sql_parsetree.hpp>

Inheritance diagram for CoGaDB::SQL::ParseTree::BetweenPredicate:
Collaboration diagram for CoGaDB::SQL::ParseTree::BetweenPredicate:

List of all members.

Public Member Functions

 BetweenPredicate (ScalarExpressionPtr _exp, ScalarExpressionPtr _lvalue, ScalarExpressionPtr _rvalue)
 Construct BETWEEN predicate.
KNF_Selection_Expression getCNF (TypedNodePtr &io_node)
 Calculate CNF of a BETWEEN predicate.

Public Attributes

AndConditionPtr and_cond

Constructor & Destructor Documentation

Construct BETWEEN predicate.

Currently the BETWEEN predicate is implemented as a conjunction of to predicates using parse tree nodes. With CoGaDB's current set of supported predicate operators, this results in a CNF like "(exp = val1 OR exp > val1) AND (exp = val2 OR exp < val2)".

In the future, we might represent BETWEEN predicates as entirely distinct nodes with custom implementations of getCNF(). This would allow us to minimize the amount of logical query plan operators for algebraic operations in the predicate.

Parameters:
_expThe value that should be checked
_lvalueThe lower inclusive value
_rvalueThe upper inclusive value
Returns:
A BETWEEN predicate node

References CoGaDB::GREATER_EQUAL, and CoGaDB::LESSER_EQUAL.


Member Function Documentation


Member Data Documentation


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines