67 virtual void extractLambdas(std::map<std::string, GenericLambdaObjectPtr>& returnVal) {}
138 virtual std::string
toTCAPString(std::vector<InputTupleSetSpecifier>& inputTupleSets,
139 int computationLabel,
141 std::vector<std::string>& outputColumnNames,
142 std::string& addedOutputColumnName) = 0;
152 return !
inputs.isNullPtr();
215 inputs->push_back(
nullptr);
225 std::cout <<
"Cannot set output of query node with output of type "
226 << toMe->getOutputType() <<
" to be the input";
227 std::cout <<
" of a query with input type " <<
getIthInputType(whichSlot) <<
".\n";
230 (*inputs)[whichSlot] = toMe;
231 toMe->setNumConsumers(toMe->getNumConsumers() + 1);
303 virtual void setOutput(std::string dbName, std::string setName) {}
320 std::cout <<
"Only aggregation needs to set flag for combiner" << std::endl;
325 std::cout <<
"Only aggregation needs to set flag for combiner" << std::endl;
virtual SinkMergerPtr getSinkMerger(TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan)
virtual void setUsingCombiner(bool useCombinerOrNot)
std::shared_ptr< ComputeSource > ComputeSourcePtr
void setAllocatorPolicy(AllocatorPolicy myPolicy)
AllocatorPolicy getAllocatorPolicy()
virtual int getNumNodesToCollect()
std::shared_ptr< SinkShuffler > SinkShufflerPtr
virtual bool isUsingCombiner()
std::shared_ptr< SinkMerger > SinkMergerPtr
virtual void setBatchSize(int batchSize)
Handle< Computation > & getIthInput(int i) const
void setObjectPolicy(ObjectPolicy myPolicy)
String outputColumnToApply
bool setInput(int whichSlot, Handle< Computation > toMe)
virtual void setNumNodesToCollect(int numNodesToCollect)
AllocatorPolicy myAllocatorPolicy
virtual void setCollectAsMap(bool collectAsMapOrNot)
Handle< Vector< Handle< Computation > > > inputs
void setNumConsumers(int numConsumers)
virtual ComputationTypeID getComputationTypeID()=0
virtual std::string toTCAPString(std::vector< InputTupleSetSpecifier > &inputTupleSets, int computationLabel, std::string &outputTupleSetName, std::vector< std::string > &outputColumnNames, std::string &addedOutputColumnName)=0
ObjectPolicy myObjectPolicy
std::shared_ptr< ComputeSink > ComputeSinkPtr
virtual void extractLambdas(std::map< std::string, GenericLambdaObjectPtr > &returnVal)
virtual std::string getIthInputType(int i)=0
virtual std::string getOutputType()=0
virtual SinkMergerPtr getSinkMerger(TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, ComputePlan &plan)
virtual ComputeSinkPtr getComputeSink(TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, ComputePlan &plan)
virtual SinkShufflerPtr getSinkShuffler(TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, ComputePlan &plan)
void setOutputColumnToApply(std::string outputColumnToApply)
virtual ComputeSinkPtr getComputeSink(TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan)
virtual ComputeSourcePtr getComputeSource(TupleSpec &produceMe, ComputePlan &plan)
virtual SinkShufflerPtr getSinkShuffler(TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan)
JiaNote: add below interface for shuffling multiple join map sinks for hash partitioned join...
virtual int getNumInputs()=0
virtual std::string getSetName()
std::string getOutputColumnToApply()
virtual std::string getComputationType()=0
virtual bool isCollectAsMap()
bool setInput(Handle< Computation > toMe)
virtual std::string getDatabaseName()
void setTraversed(bool traversed)
void setOutputTupleSetName(std::string outputTupleSetName)
virtual bool needsMaterializeOutput()
virtual void setOutput(std::string dbName, std::string setName)
ObjectPolicy getObjectPolicy()
std::string getOutputTupleSetName()
String outputTupleSetName