diff options
Diffstat (limited to 'query.h')
-rw-r--r-- | query.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -11,6 +11,7 @@ using namespace std; struct WhereClause{ int col; RowItem value; + WhereClause(void); WhereClause(const int _c,const RowItem &_v); }; @@ -20,6 +21,7 @@ struct QueryResult{ int res; vector<Row> rows; string msg; //empty message indicates success + QueryResult(void); QueryResult(int); QueryResult(int,const vector<Row>&); @@ -30,12 +32,14 @@ struct QueryResult{ struct Query{ string tablename; + virtual QueryResult execute(map<string,Table>&); }; struct CreateQuery : public Query{ int nc; ColHeader *header; + CreateQuery(void); void setHeader(const ColHeader *hd); QueryResult execute(map<string,Table> &tables); @@ -44,13 +48,16 @@ struct CreateQuery : public Query{ struct FindQuery : public Query{ unsigned int limit; //-1=unlimited vector<WhereClause> where; + FindQuery(void); pair<vector<map<string,Row>::const_iterator>,string> executeIterators(map<string,Table> &tables); + pair<vector<map<string,Row>::const_iterator>,string> executeIterators(const Table &table); QueryResult execute(map<string,Table> &tables); }; struct InsertQuery : public Query{ Row row; + InsertQuery(const Row &_r); InsertQuery(Row &&_r); QueryResult execute(map<string,Table> &tables); @@ -58,6 +65,7 @@ struct InsertQuery : public Query{ struct DeleteQuery : public Query{ vector<WhereClause> where; + DeleteQuery(void); QueryResult execute(map<string,Table> &tables); }; |