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

#include <sql_parsetree.hpp>

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

List of all members.

Public Member Functions

 OrCondition (SearchConditionPtr _lvalue, SearchConditionPtr _rvalue)
KNF_Selection_Expression getCNF (TypedNodePtr &io_node)
 Convert a parse tree OR condition into Conjunctive Normal Form.

Public Attributes

SearchConditionPtr lvalue
SearchConditionPtr rvalue

Constructor & Destructor Documentation


Member Function Documentation

Convert a parse tree OR condition into Conjunctive Normal Form.

In an OR condition the CNF of lvalue (lvalue->getCNF()) and rvalue (rvalue->getCNF()) are of the following form:

Remarks:
L1 AND L2 AND L3 ... AND Ln
R1 AND R2 AND R3 ... AND Rm

The disjunction of these terms is equivalent to:

Remarks:
(L1 OR R1) AND (L1 OR R2) ... AND (L1 OR Rm) AND
(L2 OR R1) AND (L2 OR R2) ... AND (L2 OR Rm) AND ...
(Ln OR R1) AND (Ln OR R2) ... AND (Ln OR Rm)
Parameters:
io_nodeReference to node pointer that holds the current chain of algebraic logical operators that is updated during CNF construction.
Returns:
The CNF of the disjunction of the two search conditions

Implements CoGaDB::SQL::ParseTree::SearchCondition.

References CoGaDB::KNF_Selection_Expression::disjunctions.


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