19 #ifndef COMP_CLASSES_H
20 #define COMP_CLASSES_H
52 std::string lambdaNameIn)
69 std::string lambdaNameIn,
77 return std::string(
"Apply");
84 std::pair<std::string, std::string>
findSource(std::string attName,
97 if (counter ==
getOutput().getAtts().size() - 1) {
103 ->findSource((
getProjection().getAtts())[counter], allComps);
126 std::string nodeName,
127 std::string lambdaNameIn)
134 std::string nodeName,
135 std::string lambdaNameIn,
143 return std::string(
"HashLeft");
155 std::pair<std::string, std::string>
findSource(std::string attName,
169 if (counter ==
getOutput().getAtts().size() - 1) {
170 std::cout <<
"Why are you trying to find the origin of a hash value??\n";
176 ->findSource((
getProjection().getAtts())[counter], allComps);
194 std::string nodeName,
195 std::string lambdaNameIn)
202 std::string nodeName,
203 std::string lambdaNameIn,
212 return std::string(
"HashRight");
224 std::pair<std::string, std::string>
findSource(std::string attName,
238 if (counter ==
getOutput().getAtts().size() - 1) {
239 std::cout <<
"Why are you trying to find the origin of a hash value??\n";
245 ->findSource((
getProjection().getAtts())[counter], allComps);
271 return std::string(
"HashOne");
278 std::pair<std::string, std::string>
findSource(std::string attName,
291 ->findSource((
getProjection().getAtts())[counter], allComps);
313 std::string nodeName,
323 return std::string(
"Flatten");
330 std::pair<std::string, std::string>
findSource(std::string attName,
341 if (counter ==
getOutput().getAtts().size() - 1) {
351 ->findSource((
getProjection().getAtts())[counter], allComps);
377 return std::string(
"Filter");
384 std::pair<std::string, std::string>
findSource(std::string attName,
393 ->findSource((
getProjection().getAtts())[counter], allComps);
415 return std::string(
"Aggregate");
422 std::pair<std::string, std::string>
findSource(std::string attName,
437 std::cout <<
"How did we ever get here trying to find an attribute produced by an agg??\n";
465 return std::string(
"Scan");
480 std::pair<std::string, std::string>
findSource(std::string attName,
496 <<
"How did we ever get here trying to find an attribute produced by a scan set??\n";
515 std::string nodeName)
526 std::string nodeName,
528 AtomicComputation(input, output, projection, nodeName), dbName(dbName), setName(setName) {
535 return std::string(
"WriteSet");
550 std::pair<std::string, std::string>
findSource(std::string attName,
552 std::cout <<
"How did we ever get to a write set trying to find an attribute??\n";
574 std::string nodeName)
588 std::string nodeName,
609 return std::string(
"JoinSets");
632 std::pair<std::string, std::string>
findSource(std::string attName,
645 ->findSource((
getProjection().getAtts())[counter], allComps);
655 std::cout <<
"Why in the heck did we not find the producer when checking a join!!??\n";
679 return std::string(
"Partition");
686 std::pair<std::string, std::string>
findSource(std::string attName,
701 std::cout <<
"How did we ever get here trying to find an attribute produced by an agg??\n";
ApplyLambda(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, std::string lambdaNameIn, KeyValueList &useMe)
HashOne(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName)
std::string getAtomicComputationType() override
ApplyJoin(TupleSpec &output, TupleSpec &lInput, TupleSpec &rInput, TupleSpec &lProjection, TupleSpec &rProjection, std::string nodeName, KeyValueList &useMe)
std::shared_ptr< std::map< std::string, std::string > > keyValuePairs
ApplyFilter(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName)
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
std::string getAtomicComputationType() override
std::vector< std::string > & getAtts()
TupleSpec & getRightInput()
std::string & getComputationName()
Flatten(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, KeyValueList &useMe)
std::string getAtomicComputationType() override
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
AtomicComputationTypeID getAtomicComputationTypeID() override
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
ApplyPartition(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName)
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
ApplyJoin(TupleSpec &output, TupleSpec &lInput, TupleSpec &rInput, TupleSpec &lProjection, TupleSpec &rProjection, std::string nodeName)
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
TupleSpec rightProjection
AtomicComputationTypeID getAtomicComputationTypeID() override
std::shared_ptr< std::map< std::string, std::string > > & getKeyValuePairs()
AtomicComputationTypeID getAtomicComputationTypeID() override
friend std::ostream & operator<<(std::ostream &os, const AtomicComputationList &printMe)
std::string & getSetName()
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
std::string getAtomicComputationType() override
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
AtomicComputationTypeID getAtomicComputationTypeID() override
AtomicComputationPtr getProducingAtomicComputation(std::string outputName)
ApplyAgg(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, KeyValueList &useMe)
HashLeft(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, std::string lambdaNameIn, KeyValueList &useMe)
std::string getAtomicComputationType() override
std::string getAtomicComputationType() override
AtomicComputationTypeID getAtomicComputationTypeID() override
int findPosInOutputAtts(std::string &findMe)
std::string getAtomicComputationType() override
AtomicComputationTypeID getAtomicComputationTypeID() override
AtomicComputationTypeID getAtomicComputationTypeID() override
std::string & getSetName()
AtomicComputationTypeID getAtomicComputationTypeID() override
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
std::string getAtomicComputationType() override
Flatten(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName)
friend std::ostream & operator<<(std::ostream &os, const AtomicComputationList &printMe)
HashOne(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, KeyValueList &useMe)
std::string getAtomicComputationType() override
friend std::ostream & operator<<(std::ostream &os, const AtomicComputationList &printMe)
TupleSpec & getProjection()
AtomicComputationTypeID getAtomicComputationTypeID() override
std::string & getLambdaToApply()
std::string & getLambdaToApply()
friend std::ostream & operator<<(std::ostream &os, const AtomicComputationList &printMe)
ApplyAgg(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName)
ApplyFilter(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, KeyValueList &useMe)
std::string & getDBName()
std::string & getSetName()
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
TupleSpec & getRightProjection()
std::string getAtomicComputationType() override
std::pair< std::string, std::string > findSource(std::string attName, AtomicComputationList &allComps) override
AtomicComputationTypeID getAtomicComputationTypeID() override
std::string getAtomicComputationType() override
std::string & getDBName()
HashLeft(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, std::string lambdaNameIn)
ApplyPartition(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, KeyValueList &useMe)
ScanSet(TupleSpec &output, std::string dbName, std::string setName, std::string nodeName, KeyValueList &useMe)
ApplyLambda(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, std::string lambdaNameIn)
HashRight(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, std::string lambdaNameIn)
AtomicComputationTypeID getAtomicComputationTypeID() override
friend std::ostream & operator<<(std::ostream &os, const AtomicComputationList &printMe)
WriteSet(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string dbName, std::string setName, std::string nodeName, KeyValueList &useMe)
void setTraversed(bool traversed)
HashRight(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string nodeName, std::string lambdaNameIn, KeyValueList &useMe)
WriteSet(TupleSpec &input, TupleSpec &output, TupleSpec &projection, std::string dbName, std::string setName, std::string nodeName)
ScanSet(TupleSpec &output, std::string dbName, std::string setName, std::string nodeName)
void setPartitioningLHS(bool toPartitionLHS)
std::string & getLambdaToApply()