142 lines
3.3 KiB
C++
Executable file
142 lines
3.3 KiB
C++
Executable file
#include <iostream>
|
|
#include <vector>
|
|
#include "Parserv3.h"
|
|
//#include "Condition.h"
|
|
#include "DBEngine.h"
|
|
|
|
using namespace std;
|
|
|
|
//still in progress
|
|
/*
|
|
int main() {
|
|
DBEngine engine;
|
|
Attribute att1("Breakfast", "VARCHAR(20)", true);
|
|
Attribute att2("Lunch", "VARCHAR(20)", false);
|
|
Attribute att3("Dinner", "VARCHAR(20)", false);
|
|
|
|
att1.addCell("Pancakes");
|
|
att1.addCell("Waffles");
|
|
att1.addCell("Biscuits");
|
|
att2.addCell("Turkey Sandwich");
|
|
att2.addCell("Caesar Salad");
|
|
att2.addCell("Pizza");
|
|
att3.addCell("Steak");
|
|
att3.addCell("Shrimp");
|
|
att3.addCell("Ribs");
|
|
|
|
vector<Attribute> v;
|
|
v.push_back(att1);
|
|
v.push_back(att2);
|
|
v.push_back(att3);
|
|
|
|
Relation r("Food", v);
|
|
//r.renameAttribute("Breakfast", "BFST");
|
|
//r.display();
|
|
|
|
engine.createTable("Food", v);
|
|
|
|
vector<string> tuple;
|
|
tuple.push_back("Omelette");
|
|
tuple.push_back("Fried Rice");
|
|
tuple.push_back("Grouper");
|
|
|
|
engine.getTableFromName("Food").insertTuple(tuple);
|
|
|
|
vector<string> old;
|
|
vector<string> newa;
|
|
|
|
old.push_back("Breakfast");
|
|
old.push_back("Lunch");
|
|
old.push_back("Dinner");
|
|
|
|
newa.push_back("Tsafkaerb");
|
|
newa.push_back("Hcnul");
|
|
newa.push_back("Rennid");
|
|
|
|
//Projection test
|
|
vector<string> projectTest;
|
|
projectTest.push_back("Breakfast");
|
|
projectTest.push_back("Dinner");
|
|
|
|
cout << "\n***Initiated Projection***\n" << endl;
|
|
|
|
Relation sub_r = engine.projection(projectTest, r);
|
|
sub_r.display();
|
|
|
|
//engine.rename(r, o, n);
|
|
|
|
engine.rename(engine.getTableFromName("Food"), old, newa);
|
|
engine.getTableFromName("Food").display();
|
|
cout << "finished";
|
|
}
|
|
|
|
*/
|
|
int main () {
|
|
|
|
string ss = "INSERT INTO animals VALUES FROM ( Joe , cat , 4 ) ;";
|
|
string ss2 = "SHOW Dogs ;";
|
|
string ss3 = "EXIT ; ";
|
|
|
|
DBEngine engine;
|
|
|
|
// vector<string> listOfTokens = tokenize(ss);
|
|
// vector<string> listOfTokens2 = tokenize(ss2);
|
|
// vector<string> listOfTokens3 = tokenize(ss3);
|
|
|
|
// par_line(listOfTokens);
|
|
// par_line(listOfTokens2);
|
|
// par_line(listOfTokens3);
|
|
|
|
parse(ss, engine);
|
|
parse(ss2, engine);
|
|
parse(ss3, engine);
|
|
|
|
engine.save();
|
|
|
|
Attribute att1("Breakfast", "VARCHAR(20)", true);
|
|
Attribute att2("Lunch", "VARCHAR(20)", false);
|
|
Attribute att3("Dinner", "VARCHAR(20)", false);
|
|
|
|
att1.addCell("Pancakes");
|
|
att1.addCell("Waffles");
|
|
att1.addCell("Biscuits");
|
|
att2.addCell("Turkey Sandwich");
|
|
att2.addCell("Caesar Salad");
|
|
att2.addCell("Pizza");
|
|
att3.addCell("Steak");
|
|
att3.addCell("Shrimp");
|
|
att3.addCell("Ribs");
|
|
|
|
vector<Attribute> v;
|
|
v.push_back(att1);
|
|
v.push_back(att2);
|
|
v.push_back(att3);
|
|
|
|
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<Attribute> v2;
|
|
v2.push_back(att4);
|
|
v2.push_back(att5);
|
|
v2.push_back(att6);
|
|
|
|
engine.createTable("MoarFood", v2);
|
|
|
|
engine.getTableFromName("MoarFood").display();
|
|
|
|
engine.setUnion(engine.getTableFromName("Food"), engine.getTableFromName("MoarFood")).display();
|
|
|
|
}
|