aboutsummaryrefslogtreecommitdiff
path: root/query.h
diff options
context:
space:
mode:
Diffstat (limited to 'query.h')
-rw-r--r--query.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/query.h b/query.h
index 2b4d17d..1e06264 100644
--- a/query.h
+++ b/query.h
@@ -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);
};