aboutsummaryrefslogtreecommitdiff
path: root/query.h
diff options
context:
space:
mode:
authortomsmeding <hallo@tomsmeding.nl>2015-05-21 09:51:07 +0200
committertomsmeding <hallo@tomsmeding.nl>2015-05-21 09:51:07 +0200
commit648a47211578617d228c22fac44b1ccc1f8f521d (patch)
treeac25ad470f01140ab959608b500b3d1af83fb488 /query.h
parentce356164bac0f739fea97b8bee61c066b9f2ae87 (diff)
FindQuery
Diffstat (limited to 'query.h')
-rw-r--r--query.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/query.h b/query.h
new file mode 100644
index 0000000..d19494e
--- /dev/null
+++ b/query.h
@@ -0,0 +1,41 @@
+#pragma once
+
+#include "enginedata.h"
+#include <vector>
+#include <string>
+#include <map>
+
+using namespace std;
+
+
+struct WhereClause{
+ int col;
+ RowItem value;
+ WhereClause(void);
+ WhereClause(const int _c,const RowItem &_v);
+};
+
+
+struct QueryResult{
+ int res;
+ vector<Row> rows;
+ QueryResult(void);
+ QueryResult(int);
+ QueryResult(int,const vector<Row>&);
+};
+
+
+struct Query{
+ string from;
+ int limit; //-1=unlimited
+ Query(void);
+ virtual QueryResult execute(const map<string,Table>&);
+};
+
+struct FindQuery : public Query{
+ int sort; //0=no sort, 1=sort, -1=reverse sort
+ vector<WhereClause> where;
+ FindQuery(void);
+ QueryResult execute(const map<string,Table>&);
+};
+