BadgerDB
/afs/cs.wisc.edu/u/n/w/nwilliam/private/workspace/Quut/src/query.h
00001 
00008 #pragma once
00009 
00010 #include "catalog.h"
00011 
00012 namespace badgerdb
00013 {
00014 
00018 class Operators
00019 {
00020 
00021 public:
00028   static void Select(const std::string & result,      // name of the output relation
00029                     int projCnt,                      // number of attributes in the projection
00030                     const attrInfo projNames[],       // the list of projection attributes
00031                     const attrInfo *attr,             // attribute used inthe selection predicate 
00032                     Operator op,                      // predicate operation
00033                     const void *attrValue);           // literal value in the predicate
00034 
00040    static void Join(const std::string & result,       // name of the output relation 
00041                     int projCnt,                      // number of attributes in the projection
00042                     const attrInfo projNames[],       // the list of projection attributes
00043                     const attrInfo *attr1,            // left attr in the join predicate
00044                     Operator op,                      // the predicate operation 
00045                     const attrInfo *attr2);           // right attr in the join predicate
00046 
00047  static void IndexSelect(const std::string & result,      // name of the output relation
00048                     int projCnt,                      // number of attributes in the projection
00049                     const attrInfo projNames[],       // the list of projection attributes
00050                     const attrInfo *attr,             // attribute used inthe selection predicate 
00051                     Operator op,                      // predicate operation
00052                     const void *attrValue);           // literal value in the predicate
00053 
00054  static void ScanSelect(const std::string & result,      // name of the output relation
00055                     int projCnt,                      // number of attributes in the projection
00056                     const attrInfo projNames[],       // the list of projection attributes
00057                     const attrInfo *attr,             // attribute used inthe selection predicate 
00058                     Operator op,                      // predicate operation
00059                     const void *attrValue);           // literal value in the predicate
00060 
00061 };
00062 
00063 
00064 
00065 
00066 
00067 }
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends