aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--query.cpp8
-rw-r--r--query.h5
2 files changed, 13 insertions, 0 deletions
diff --git a/query.cpp b/query.cpp
index 8f921e3..3226ab0 100644
--- a/query.cpp
+++ b/query.cpp
@@ -165,3 +165,11 @@ QueryResult DeleteQuery::execute(map<string,Table> &tables){
}
return QueryResult(ret.first.size());
}
+
+
+QueryResult DropQuery::execute(map<string,Table> &tables){
+ const map<string,Table>::iterator tit=tables.find(tablename);
+ if(tit==tables.cend())return QueryResult(0,"non-existent table (DQ:ex)");
+ tables.erase(tit);
+ return QueryResult(1);
+}
diff --git a/query.h b/query.h
index 467aa7f..b265496 100644
--- a/query.h
+++ b/query.h
@@ -77,3 +77,8 @@ struct DeleteQuery : public Query{
DeleteQuery(void);
QueryResult execute(map<string,Table> &tables);
};
+
+struct DropQuery : public Query{
+ DropQuery(void);
+ QueryResult execute(map<string,Table> &tables);
+};