diff --git a/DBEngine.cpp b/DBEngine.cpp index 04bc35f..5944173 100755 --- a/DBEngine.cpp +++ b/DBEngine.cpp @@ -285,10 +285,6 @@ Relation DBEngine::crossProduct(Relation r1, Relation r2){ return new_r; } - -//UPDATE Senator -//SET Party = ‘Independent’ -//WHERE Name = ‘Joseph Lieberman’ Relation DBEngine::updateCmd(Relation r, string attNameSet, string attSet, string attNameWhere, string attWhere){ //brute forcing this, sorry universe @@ -318,3 +314,18 @@ Relation DBEngine::updateCmd(Relation r, string attNameSet, string attSet, strin r.setAttributes(atts); return r; } + +Relation DBEngine::deleteCmd(Relation r, string attName, string att){ + for (int i = 0; i < r.getSize(); ++i){ + if (r[i].getName() == attName){ + for (int j = 0; j < r[i].getSize(); ++j){ + if (r[i][j] == att){ + r.removeTuple(j); + } + } + } + } + + //r.setAttributes(atts); + return r; +} diff --git a/DBEngine.h b/DBEngine.h index 2c857c3..35eb187 100755 --- a/DBEngine.h +++ b/DBEngine.h @@ -32,5 +32,5 @@ public: Relation setDiff(Relation r1, Relation r2); Relation crossProduct(Relation r1, Relation r2); Relation updateCmd(Relation r, string attNameSet, string attSet, string attNameWhere, string attWhere); - //Relation deleteCmd(); + Relation deleteCmd(Relation r, string attName, string att); }; diff --git a/a.out b/a.out index 833637f..969efbb 100755 Binary files a/a.out and b/a.out differ diff --git a/test.cpp b/test.cpp index 4bbd43b..bf74e7b 100755 --- a/test.cpp +++ b/test.cpp @@ -33,6 +33,6 @@ int main () { v.push_back(att3); engine.createTable("Food", v); - Relation temp = engine.updateCmd(engine.getTableFromName("Food"), "Dinner", "SUCCESS", "Breakfast", "Pancakes"); + Relation temp = engine.deleteCmd(engine.getTableFromName("Food"), "Breakfast", "Pancakes"); temp.display(); }