From db4396b95239dfa71083a791844dcd39b8c662a4 Mon Sep 17 00:00:00 2001 From: Rebecca Schofield Date: Thu, 24 Sep 2015 21:15:12 -0500 Subject: [PATCH] remove tuple implemented --- Attribute.cpp | 5 +++++ Attribute.h | 1 + DBEngine.cpp | 18 ++++++++++++++++-- Relation.cpp | 12 ++++++++++++ Relation.h | 2 +- a.out | Bin 0 -> 97311 bytes test.cpp | 8 ++++---- 7 files changed, 39 insertions(+), 7 deletions(-) create mode 100755 a.out diff --git a/Attribute.cpp b/Attribute.cpp index 01437da..5c2a0d6 100755 --- a/Attribute.cpp +++ b/Attribute.cpp @@ -21,6 +21,11 @@ void Attribute::addCell(string v){ size++; } +void Attribute::removeCell(int index){ + values.erase(values.begin() + index); + size--; +} + string Attribute::operator[](int i){ return values[i]; } diff --git a/Attribute.h b/Attribute.h index f721ff7..9bb84fd 100755 --- a/Attribute.h +++ b/Attribute.h @@ -15,6 +15,7 @@ public: Attribute(); Attribute(string n, string t, bool k); void addCell(string v); + void removeCell(int index); string operator[](int i); vector getValues(); string getName(); diff --git a/DBEngine.cpp b/DBEngine.cpp index f622cd5..fb4e210 100755 --- a/DBEngine.cpp +++ b/DBEngine.cpp @@ -87,8 +87,22 @@ void DBEngine::rename(Relation& r, vector oldnames, vector newna Relation DBEngine::setUnion(Relation r1, Relation r2){ if (r1.getAttributeNames() != r2.getAttributeNames()){ - cout << "Failure to union: the relations are not union-compatible"; - return; + vector v1 = r1.getAttributeNames(); + vector v2 = r2.getAttributeNames(); + + for (int i = 0; i < v1.size(); ++i){ + cout << v1[i] << " "; + } + cout << "\n"; + + for (int i = 0; i < v2.size(); ++i){ + cout << v2[i] << " "; + } + cout << "\n"; + + + cout << "Failure to union: the relations are not union-compatible.\nreturning the first relation.\n"; + return r1; } else { diff --git a/Relation.cpp b/Relation.cpp index d2dca12..86a6dad 100755 --- a/Relation.cpp +++ b/Relation.cpp @@ -110,3 +110,15 @@ void Relation::insertFromRelation(Relation r){ } } } + +void Relation::removeTuple(int index){ + if (index >= this->size) { + cout << "Failure to delete: the requested index is out of bounds."; + } + + else { + for (int i = 0; i < att.size(); ++i) { + att[i].removeCell(index); + } + } +} \ No newline at end of file diff --git a/Relation.h b/Relation.h index 7de9d11..2a8846c 100755 --- a/Relation.h +++ b/Relation.h @@ -23,5 +23,5 @@ public: void display(); void insertTuple(vector tuple); //assuming they are in order void insertFromRelation(Relation r); - //void removeTuple(); + void removeTuple(int index); }; \ No newline at end of file diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..c56b01fd09d05495e3e07c266d7bb3f32ed25e2d GIT binary patch literal 97311 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 KJGQcg?EeAH390x1 literal 0 HcmV?d00001 diff --git a/test.cpp b/test.cpp index f21b31b..bf7b4c3 100755 --- a/test.cpp +++ b/test.cpp @@ -29,9 +29,9 @@ int main() { engine.createTable("Food", v); - Attribute att4("SecondBreakfast", "VARCHAR(20)", true); - Attribute att5("SecondLunch", "VARCHAR(20)", false); - Attribute att6("SecondDinner", "VARCHAR(20)", false); + Attribute att4("Breakfast", "VARCHAR(20)", true); + Attribute att5("Lunch", "VARCHAR(20)", false); + Attribute att6("Dinner", "VARCHAR(20)", false); att4.addCell("Pancakes"); att4.addCell("Bacon"); @@ -50,5 +50,5 @@ int main() { engine.createTable("MoarFood", v2); - //engine.setUnion(engine.getTableFromName("Food"), engine.getTableFromName("MoarFood")).display(); + engine.setUnion(engine.getTableFromName("Food"), engine.getTableFromName("MoarFood")).display(); }