// SelectQuery.cxx #include "dataset_sql/SelectQuery.h" #include #include #include #include using std::string; using std::ostream; using dset::SelectQuery; //********************************************************************** // Member functions. //********************************************************************** // Constructor. SelectQuery::SelectQuery(string columns, string constraint){ m_columns = columns; m_constraint = constraint; m_validity = true; } //********************************************************************** // Destructor. SelectQuery::~SelectQuery() { } //********************************************************************** // Validity. bool SelectQuery::is_valid() const { return m_validity; } //********************************************************************** // Reset the Sql query to the default selection catalog. SelectQuery& SelectQuery::reset() { set("", ""); return *this; } //********************************************************************** // Set an SQL query SelectQuery& SelectQuery::set(string columns, string constraint) { m_columns = columns; m_constraint = constraint; return *this; } //********************************************************************** // Add 'AND' constraints to a query SelectQuery& SelectQuery::andconstraint(string constraint) { if (m_constraint == "") m_constraint = constraint; else m_constraint = m_constraint + " and " + constraint; return *this; } //********************************************************************** // Add 'OR' constraints to a query SelectQuery& SelectQuery::orconstraint(string constraint) { if (m_constraint == "") m_constraint = constraint; else m_constraint = m_constraint + " or " + constraint; return *this; } //********************************************************************** // Return the constraint on the current query string SelectQuery::get_constraint() const{ return m_constraint; } //********************************************************************** // Return the columns selected on the current query string SelectQuery::get_columns() const{ return m_columns; } //********************************************************************** // Free functions. //********************************************************************** // Output stream. std::ostream& operator<<(std::ostream& lhs, const SelectQuery& rhs) { lhs << "SQL Query: " << rhs.get_columns() << rhs.get_constraint(); return lhs; } //**********************************************************************