19 #ifndef PARTITION_TRANSFORMATION_COMP_BASE_H
20 #define PARTITION_TRANSFORMATION_COMP_BASE_H
30 template<
class KeyClass,
class ValueClass>
49 void extractLambdas(std::map<std::string, GenericLambdaObjectPtr> &returnVal)
override {
53 projectionLambda.
toMap(returnVal, suffix);
62 return std::string(
"PartitionTransformationComp");
77 return getTypeName<KeyClass>();
94 std::vector<std::string> &inputColumnNames,
95 std::vector<std::string> &inputColumnsToApply,
96 std::vector<std::string> &childrenLambdaNames,
99 std::vector<std::string> &outputColumnNames,
100 std::string &addedOutputColumnName,
101 std::string &myLambdaName)
override {
103 PDB_COUT <<
"ABOUT TO GET TCAP STRING FOR SELECTION" << std::endl;
105 std::string tupleSetName;
106 std::vector<std::string> columnNames;
107 std::string addedColumnName;
111 std::string tcapString;
113 PDB_COUT <<
"TO GET TCAP STRING FOR PROJECTION LAMBDA\n";
116 tcapString +=
"\n/* Apply projection */\n";
117 tcapString += projectionLambda.
toTCAPString(inputTupleSetName,
126 addedOutputColumnName,
145 void setOutput(std::string dbName, std::string setName)
override {
198 std::cout <<
"ERROR: get compute source for " << outputScheme <<
" returns nullptr" << std::endl;
215 return std::make_shared<HashPartitionTransformationSink<KeyClass>>(this->
numPartitions, this->
numNodes, consumeMe, projection);
236 #endif //PDB_PARTITIONCOMPBASE_H
std::shared_ptr< ComputeSource > ComputeSourcePtr
void toMap(std::map< std::string, GenericLambdaObjectPtr > &returnVal, int &suffix)
bool materializeSelectionOut
std::shared_ptr< ComputeSink > ComputeSinkPtr
void setOutputColumnToApply(std::string outputColumnToApply)
void setTraversed(bool traversed)
void setOutputTupleSetName(std::string outputTupleSetName)
std::string toTCAPString(std::string inputTupleSetName, std::vector< std::string > &inputColumnNames, std::vector< std::string > &inputColumnsToApply, std::vector< std::string > &childrenLambdaNames, int &lambdaLabel, std::string computationName, int computationLabel, std::string &outputTupleSetName, std::vector< std::string > &outputColumnNames, std::string &addedOutputColumnName, std::string &myLambdaName, bool whetherToRemoveUnusedOutputColumns, MultiInputsBase *multiInputsComp=nullptr, bool amIPartOfJoinPredicate=false)
String outputTupleSetName