From fc0f899568e65ed6d1830e6b509acfa0042bbfbe Mon Sep 17 00:00:00 2001 From: Rebecca Schofield Date: Tue, 15 Sep 2015 22:36:44 -0500 Subject: [PATCH] union comp done --- DBEngine.h | 4 +--- Relation.h | 12 ++++++++++++ a.out | Bin 67444 -> 72106 bytes test.cpp | 38 ++++++++++++++++++++++++++++++-------- 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/DBEngine.h b/DBEngine.h index 64fcef2..ecb9590 100755 --- a/DBEngine.h +++ b/DBEngine.h @@ -43,9 +43,7 @@ public: void product() { /*Brandon*/ } bool unionComp(Relation r1, Relation r2) { - //Two relations are union-compatible if they have the same # of attributes and each attribute must be - //from the same domain - //return (() && ()); + return ((r1.getSize() == r2.getSize()) && (r1.getDomains() == r2.getDomains())); } diff --git a/Relation.h b/Relation.h index 5edec44..525a0d9 100755 --- a/Relation.h +++ b/Relation.h @@ -88,4 +88,16 @@ public: } } + + //make this better + vector getDomains() { + vector ds; + + for (int i = 0; i < size; ++i) + { + ds.push_back(att[i].getType()); + } + + return ds; + } }; diff --git a/a.out b/a.out index 14839936c51fc6bdf006db0a5ae3fea6b3db8a09..428fec69e91141398d3a78fd8715e16fc279e764 100755 GIT binary patch literal 72106 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 JBeB@}{{Wzo9Ap3h diff --git a/test.cpp b/test.cpp index 884021d..93f1781 100755 --- a/test.cpp +++ b/test.cpp @@ -25,16 +25,16 @@ int main() { vec.push_back(att2); Attribute att3("name", "VARCHAR(20)", true); - att1.addRow("Fry"); - att1.addRow("Bender"); - att1.addRow("Leela"); - att1.addRow("Zoidberg"); + att3.addRow("Fry"); + att3.addRow("Bender"); + att3.addRow("Leela"); + att3.addRow("Zoidberg"); Attribute att4("age", "INTEGER", false); - att2.addRow("22"); - att2.addRow("5"); - att2.addRow("22"); - att2.addRow("50"); + att4.addRow("22"); + att4.addRow("5"); + att4.addRow("22"); + att4.addRow("50"); vector vec2; vec2.push_back(att3); @@ -45,4 +45,26 @@ int main() { engine.createTable("table2", vec2); engine.showTables(engine.getTableFromName("table1")); + Attribute att5("name", "VARCHAR(20)", true); + att5.addRow("Yrf"); + att5.addRow("Redneb"); + att5.addRow("Aleel"); + att5.addRow("Grebdoiz"); + + Attribute att6("age", "INTEGER", false); + att6.addRow("44"); + att6.addRow("10"); + att6.addRow("44"); + att6.addRow("100"); + + vector vec3; + vec3.push_back(att5); + vec3.push_back(att6); + + engine.createTable("table3", vec3); + + cout << "a"; + cout << engine.unionComp(engine.getTableFromName("table1"), engine.getTableFromName("table2")); + cout << engine.unionComp(engine.getTableFromName("table2"), engine.getTableFromName("table3")); + }