Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

rdbModel::Query Class Reference

#include <Query.h>

List of all members.

Public Member Functions

Visitor::VisitorState accept (Visitor *v)
Visitor::VisitorState accept (Visitor *v)
void addSelect (const std::string &col)
void addSelect (const std::string &col)
const AssertiongetAssertion () const
const AssertiongetAssertion () const
const TablegetTable () const
const TablegetTable () const
const std::vector< std::string > & getToSelect () const
const std::vector< std::string > & getToSelect () const
 Query (Table *table, const std::vector< std::string > *toSelect=0, Assertion *pAssert=0)
 Query (Table *table, const std::vector< std::string > *toSelect=0, Assertion *pAssert=0)
 ~Query ()
 ~Query ()

Private Attributes

Assertionm_assert
Assertionm_assert
Tablem_myTable
Tablem_myTable
std::vector< std::string > m_toSelect
std::vector< std::string > m_toSelect


Detailed Description

A query consists of a list of columns to be selected from rows in the table satisfying an assertion. For now, all elements in the assertion must refer to the same table.


Constructor & Destructor Documentation

rdbModel::Query::Query Table table,
const std::vector< std::string > *  toSelect = 0,
Assertion pAssert = 0
 

00009                                    : m_myTable(table), m_assert(pAssert) {
00010     m_toSelect.clear();
00011 
00012     if (toSelect != 0) {
00013       unsigned n = toSelect->size();
00014       m_toSelect.reserve(n);
00015       for (unsigned i = 0; i < n; i++) {
00016         m_toSelect.push_back((*toSelect)[i]);
00017       }
00018     }
00019     
00020   }

rdbModel::Query::~Query  ) 
 

00022                 {
00023     m_toSelect.clear();
00024     //    delete pAssert;   // ??   This is probably already done by ~Table
00025   }

rdbModel::Query::Query Table table,
const std::vector< std::string > *  toSelect = 0,
Assertion pAssert = 0
 

rdbModel::Query::~Query  ) 
 


Member Function Documentation

Visitor::VisitorState rdbModel::Query::accept Visitor v  ) 
 

Visitor::VisitorState rdbModel::Query::accept Visitor v  ) 
 

00027                                               {
00028     Visitor::VisitorState state = v->visitQuery(this);
00029     if (state == Visitor::VBRANCHDONE) return Visitor::VCONTINUE;
00030     return state;
00031   }

void rdbModel::Query::addSelect const std::string &  col  )  [inline]
 

00027                                          {
00028       m_toSelect.push_back(col);
00029     }

void rdbModel::Query::addSelect const std::string &  col  )  [inline]
 

00027                                          {
00028       m_toSelect.push_back(col);
00029     }

const Assertion* rdbModel::Query::getAssertion  )  const [inline]
 

00025 {return m_assert;}

const Assertion* rdbModel::Query::getAssertion  )  const [inline]
 

00025 {return m_assert;}

const Table* rdbModel::Query::getTable  )  const [inline]
 

00026 {return m_myTable;}

const Table* rdbModel::Query::getTable  )  const [inline]
 

00026 {return m_myTable;}

const std::vector<std::string>& rdbModel::Query::getToSelect  )  const [inline]
 

00024 {return m_toSelect;}

const std::vector<std::string>& rdbModel::Query::getToSelect  )  const [inline]
 

00024 {return m_toSelect;}


Member Data Documentation

Assertion* rdbModel::Query::m_assert [private]
 

Assertion* rdbModel::Query::m_assert [private]
 

Table* rdbModel::Query::m_myTable [private]
 

Table* rdbModel::Query::m_myTable [private]
 

std::vector<std::string> rdbModel::Query::m_toSelect [private]
 

std::vector<std::string> rdbModel::Query::m_toSelect [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:22:31 2011 for BOSS6.5.5 by  doxygen 1.3.9.1