From b4c4dfd448042d1d9661543a3ac8e32eb26f6cfa Mon Sep 17 00:00:00 2001 From: Alexander Huddleston Date: Sat, 26 Sep 2015 23:24:24 -0500 Subject: [PATCH] Fixing commit issues --- Attribute.cpp | 9 ++++++++ Attribute.h | 3 +++ Condition.h | 14 ++++--------- DBEngine.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ DBEngine.h | 4 ++++ Parserv3.h | 29 +++++++++++++++++++++++++ README.txt | 9 ++++++++ Relation.cpp | 32 ++++++++++++++++++++++++++++ Relation.h | 6 +++++- a.out | Bin 38917 -> 0 bytes test.cpp | 31 +++++++++++++++++++++++++++ 11 files changed, 183 insertions(+), 11 deletions(-) delete mode 100755 a.out diff --git a/Attribute.cpp b/Attribute.cpp index eb35167..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]; } @@ -60,4 +65,8 @@ void Attribute::display(){ } cout << "-------------\n"; +} + +void Attribute::clearAllValues(){ + values.clear(); } \ No newline at end of file diff --git a/Attribute.h b/Attribute.h index 0e92a40..9bb84fd 100755 --- a/Attribute.h +++ b/Attribute.h @@ -1,3 +1,4 @@ +#pragma once #include #include @@ -14,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(); @@ -22,4 +24,5 @@ public: bool isKey(); int getSize(); void display(); + void clearAllValues(); }; \ No newline at end of file diff --git a/Condition.h b/Condition.h index cc06978..51c031e 100755 --- a/Condition.h +++ b/Condition.h @@ -1,13 +1,7 @@ -#include -#include "Attribute.h" +#pragma once +#include "Relation.h" using namespace std; -class Condition{ - Attribute att; - -public: - //currently only implemented for comparison - Condition(Attribute a); - Condition(Attribute a); -}; \ No newline at end of file +//currently only implementing for comparison +Relation equality(string attName, string s, Relation r); diff --git a/DBEngine.cpp b/DBEngine.cpp index 26e15f2..21ba967 100755 --- a/DBEngine.cpp +++ b/DBEngine.cpp @@ -45,6 +45,10 @@ vector DBEngine::getRelations(){ return tables; } +<<<<<<< HEAD +======= + +>>>>>>> master Relation& DBEngine::getTableFromName(string n){ for(int i = 0; i < tables.size(); i++){ if (tables[i].getTableName() == n){ @@ -53,6 +57,11 @@ Relation& DBEngine::getTableFromName(string n){ } } +Relation DBEngine::selection(string attName, string s, Relation r){ + equality(attName, s, r); +} + + Relation DBEngine::selection(string attName, string s, Relation r){ equality(attName, s, r); } @@ -73,6 +82,7 @@ Relation DBEngine::projection(vector input, Relation r){ Relation temp(new_name, v); return temp; +<<<<<<< HEAD } Relation DBEngine::product(string new_name, Relation r1, Relation r2){ @@ -95,6 +105,8 @@ Relation DBEngine::product(string new_name, Relation r1, Relation r2){ vector result_tuple; return temp; +======= +>>>>>>> master } //test error matching @@ -116,6 +128,7 @@ void DBEngine::rename(Relation& r, vector oldnames, vector newna } } +<<<<<<< HEAD /*Relation DBEngine::setUnion(Relation r1, Relation r2){ @@ -126,6 +139,44 @@ void DBEngine::rename(Relation& r, vector oldnames, vector newna else { vector r1_atts = r1.getAttributes(); +======= +Relation DBEngine::setUnion(Relation r1, Relation r2){ + if (r1.getAttributeNames() != r2.getAttributeNames()){ + cout << "Failure to union: the relations are not union-compatible.\nreturning the first relation.\n"; + return r1; + } + + else { + //currently all returned relations are called TEMP + Relation new_r = r1; + vector temp; + bool duplicate = false; + + for (int i = 0; i < r2.getAttributes()[0].getSize(); ++i) { + temp = r2.getTuple(i); + + for (int j = 0; j < new_r.getAttributes()[0].getSize(); ++j){ + if (temp == new_r.getTuple(j)){ + duplicate = true; + break; + } + } + + if (!duplicate) { + new_r.insertTuple(temp); + } + + duplicate = false; + } + + return new_r; + + + + + + /*vector r1_atts = r1.getAttributes(); +>>>>>>> master vector r2_atts = r2.getAttributes(); vector new_atts = r1_atts; @@ -146,6 +197,12 @@ void DBEngine::rename(Relation& r, vector oldnames, vector newna //currently all returned relations are called TEMP Relation new_r("TEMP", new_atts); +<<<<<<< HEAD return new_r; } }*/ +======= + return new_r;*/ + } +} +>>>>>>> master diff --git a/DBEngine.h b/DBEngine.h index d5ae85a..ce1702c 100755 --- a/DBEngine.h +++ b/DBEngine.h @@ -23,9 +23,13 @@ public: Relation projection(vector input, Relation r); Relation product(string s1, Relation r1, Relation r2); void rename(Relation& r, vector oldnames, vector newnames); +<<<<<<< HEAD void save(); void storeCommands(string s); //Relation setUnion(Relation r1, Relation r2); +======= + Relation setUnion(Relation r1, Relation r2); +>>>>>>> master //void setDiff(); //void crossProduct(); }; diff --git a/Parserv3.h b/Parserv3.h index dea692c..0ddb5a7 100644 --- a/Parserv3.h +++ b/Parserv3.h @@ -7,6 +7,10 @@ using namespace std; +<<<<<<< HEAD +======= + +>>>>>>> master class PRelation { string name; @@ -262,6 +266,15 @@ class PComparison public: PComparison() +<<<<<<< HEAD + { + op.setPOp("~"); + operand1.setPOperand("~"); + operand2.setPOperand("~"); + } + + PComparison(string str1, string str2, string str3) +======= { op.setPOp("~"); operand1.setPOperand("~"); @@ -276,6 +289,15 @@ class PComparison } void setPComparison(string str1, string str2, string str3) +>>>>>>> master + { + operand1.setPOperand(str1); + op.setPOp(str2); + operand2.setPOperand(str3); + } + +<<<<<<< HEAD + void setPComparison(string str1, string str2, string str3) { operand1.setPOperand(str1); op.setPOp(str2); @@ -284,6 +306,10 @@ class PComparison string getPComparison() { +======= + string getPComparison() + { +>>>>>>> master return operand1.getPOperand() + " " + op.getPOp() + " " + operand2.getPOperand(); } }; @@ -391,6 +417,7 @@ class PExpression return temp; } }; +<<<<<<< HEAD vector tokenize(string ss) @@ -880,3 +907,5 @@ void parse(string input, DBEngine &engine) par_line(listOfTokens); } +======= +>>>>>>> master diff --git a/README.txt b/README.txt index bc38460..f4baea9 100755 --- a/README.txt +++ b/README.txt @@ -1,3 +1,12 @@ +//---IMPORTANT---// + +The function stoi() is used in the parser .cpp file to parse integers from the input. +When compiling things with the parser included, make sure you compile using: + +g++ -std=c++11 *.cpp + +//---------------// + I changed the name of the repo. To make everything pretty, rename your working folder, and type this line: git remote set-url origin https://github.tamu.edu/USERNAME/DMS.git diff --git a/Relation.cpp b/Relation.cpp index f81adee..86a6dad 100755 --- a/Relation.cpp +++ b/Relation.cpp @@ -13,10 +13,30 @@ Relation::Relation(string n, vector a){ size = a.size(); } +void Relation::insertAttributes(vector a){ + for (int i = 0; i < a.size(); ++i){ + att.push_back(a[i]); + } +} + string Relation::getTableName(){ return name; } +Attribute Relation::operator[](int i){ + return att[i]; +} + +vector Relation::getTuple(int index){ + vector temp; + + for (int i = 0; i < att.size(); ++i){ + temp.push_back(att[i][index]); + } + + return temp; +} + vector Relation::getAttributes(){ return att; } @@ -90,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 faa89ea..2a8846c 100755 --- a/Relation.h +++ b/Relation.h @@ -1,3 +1,4 @@ +#pragma once #include #include #include "Attribute.h" @@ -10,7 +11,10 @@ class Relation{ public: Relation(string n); Relation(string n, vector a); + void insertAttributes(vector a); string getTableName(); + Attribute operator[](int i); + vector getTuple(int index); vector getAttributes(); vector getAttributeNames(); Attribute& getAttributeByName(string s); @@ -19,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 deleted file mode 100755 index 6a77a3df2bea8473f5f60940f721d90c854fadc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38917 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 ZKX7r$9%5-6L>Eeo#$bJu!9R%^{|#1L+kyZ9 diff --git a/test.cpp b/test.cpp index 0d7ee26..8ff77f2 100755 --- a/test.cpp +++ b/test.cpp @@ -1,6 +1,10 @@ #include #include +<<<<<<< HEAD #include "Parserv3.h" +======= +#include "Condition.h" +>>>>>>> master #include "DBEngine.h" using namespace std; @@ -28,6 +32,7 @@ int main() { v.push_back(att2); v.push_back(att3); +<<<<<<< HEAD Relation r("Food", v); //r.renameAttribute("Breakfast", "BFST"); //r.display(); @@ -93,4 +98,30 @@ int main () { engine.save(); +======= + engine.createTable("Food", v); + + Attribute att4("Breakfast", "VARCHAR(20)", true); + Attribute att5("Lunch", "VARCHAR(20)", false); + Attribute att6("Dinner", "VARCHAR(20)", false); + + att4.addCell("Pancakes"); + att4.addCell("Bacon"); + att4.addCell("Eggs"); + att5.addCell("Turkey Sandwich"); + att5.addCell("Pasta Salad"); + att5.addCell("Taco"); + att6.addCell("Steak"); + att6.addCell("Fajitas"); + att6.addCell("Spaghetti"); + + vector v2; + v2.push_back(att4); + v2.push_back(att5); + v2.push_back(att6); + + engine.createTable("MoarFood", v2); + + engine.setUnion(engine.getTableFromName("Food"), engine.getTableFromName("MoarFood")).display(); +>>>>>>> master }