From 934e7d22b43247ebe7ec5f4990814117baab7fda Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Sat, 23 May 2015 21:38:20 +0200 Subject: UpdateQuery finish --- engine.cpp | 74 +++++++++++++++++++++++++++++++++++++++++++++++----------- enginedata.cpp | 2 +- query.cpp | 9 +++++-- 3 files changed, 68 insertions(+), 17 deletions(-) diff --git a/engine.cpp b/engine.cpp index 568245b..ea81602 100644 --- a/engine.cpp +++ b/engine.cpp @@ -44,6 +44,20 @@ int main(int argc,char **argv){ Table *hoitb=&tables.at("hoi"); + + + //Shitty. Works. +#define FINDQUERYEVERYTHING(PAR_tnm) \ + { \ + FindQuery fqu; \ + fqu.tablename= PAR_tnm ; \ + QueryResult res=fqu.execute(tables); \ + cout<<"Find in \"" PAR_tnm "\", Result: "<20, Result: "<12345, Result: "< &tables){ } +UpdateQuery::UpdateQuery(void){}; + QueryResult UpdateQuery::execute(map &tables){ const map::iterator tit=tables.find(tablename); if(tit==tables.cend())return QueryResult(0,"non-existent table (UQ:ex)"); @@ -136,11 +138,12 @@ QueryResult UpdateQuery::execute(map &tables){ for(i=0;i=table.nc)return QueryResult(0,"invalid col (UQ:ex)"); + if(col==0)return QueryResult(0,"update primary key (UQ:ex)"); } for(i=0;i<(int)ret.first.size();i++){ for(j=0;jsecond.items[col]=updates[j].value.copy(table.header[col]); + ret.first[i]->second.items[col]=updates[j].value.copy(table.header[col]); } } return QueryResult(ret.first.size()); @@ -167,9 +170,11 @@ QueryResult DeleteQuery::execute(map &tables){ } +DropQuery::DropQuery(void){}; + QueryResult DropQuery::execute(map &tables){ const map::iterator tit=tables.find(tablename); - if(tit==tables.cend())return QueryResult(0,"non-existent table (DQ:ex)"); + if(tit==tables.cend())return QueryResult(0,"non-existent table (DrQ:ex)"); tables.erase(tit); return QueryResult(1); } -- cgit v1.2.3-54-g00ecf