A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
pdb::AbstractJoinComp Class Referenceabstract

#include <AbstractJoinComp.h>

+ Inheritance diagram for pdb::AbstractJoinComp:
+ Collaboration diagram for pdb::AbstractJoinComp:

Public Member Functions

virtual ComputeExecutorPtr getExecutor (bool needToSwapAtts, TupleSpec &hashedInputSchema, TupleSpec &pipelinedInputSchema, TupleSpec &pipelinedAttsToOperateOn, TupleSpec &pipelinedAttsToIncludeInOutput, ComputeInfoPtr arg)=0
 
virtual ComputeExecutorPtr getExecutor (bool needToSwapAtts, TupleSpec &hashedInputSchema, TupleSpec &pipelinedInputSchema, TupleSpec &pipelinedAttsToOperateOn, TupleSpec &pipelinedAttsToIncludeInOutput)=0
 
ComputationTypeID getComputationTypeID () override
 
- Public Member Functions inherited from pdb::Computation
virtual void extractLambdas (std::map< std::string, GenericLambdaObjectPtr > &returnVal)
 
virtual ComputeSourcePtr getComputeSource (TupleSpec &produceMe, ComputePlan &plan)
 
virtual ComputeSinkPtr getComputeSink (TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan)
 
virtual ComputeSinkPtr getComputeSink (TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, ComputePlan &plan)
 
virtual SinkMergerPtr getSinkMerger (TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan)
 
virtual SinkMergerPtr getSinkMerger (TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, 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. More...
 
virtual SinkShufflerPtr getSinkShuffler (TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, ComputePlan &plan)
 
virtual std::string getComputationType ()=0
 
virtual std::string toTCAPString (std::vector< InputTupleSetSpecifier > &inputTupleSets, int computationLabel, std::string &outputTupleSetName, std::vector< std::string > &outputColumnNames, std::string &addedOutputColumnName)=0
 
virtual std::string getIthInputType (int i)=0
 
bool hasInput ()
 
Handle< Computation > & getIthInput (int i) const
 
virtual int getNumInputs ()=0
 
virtual std::string getOutputType ()=0
 
int getNumConsumers ()
 
void setNumConsumers (int numConsumers)
 
bool setInput (Handle< Computation > toMe)
 
bool setInput (int whichSlot, Handle< Computation > toMe)
 
bool isTraversed ()
 
void setTraversed (bool traversed)
 
std::string getOutputTupleSetName ()
 
void setOutputTupleSetName (std::string outputTupleSetName)
 
std::string getOutputColumnToApply ()
 
void setOutputColumnToApply (std::string outputColumnToApply)
 
virtual void setOutput (std::string dbName, std::string setName)
 
virtual std::string getDatabaseName ()
 
virtual std::string getSetName ()
 
virtual bool needsMaterializeOutput ()
 
virtual void setBatchSize (int batchSize)
 
virtual bool isUsingCombiner ()
 
virtual void setUsingCombiner (bool useCombinerOrNot)
 
void setAllocatorPolicy (AllocatorPolicy myPolicy)
 
void setObjectPolicy (ObjectPolicy myPolicy)
 
AllocatorPolicy getAllocatorPolicy ()
 
ObjectPolicy getObjectPolicy ()
 
virtual void setCollectAsMap (bool collectAsMapOrNot)
 
virtual bool isCollectAsMap ()
 
virtual int getNumNodesToCollect ()
 
virtual void setNumNodesToCollect (int numNodesToCollect)
 
- Public Member Functions inherited from pdb::Object
void setVTablePtr (void *setToMe)
 
void * getVTablePtr ()
 
virtual void setUpAndCopyFrom (void *target, void *source) const
 
virtual void deleteObject (void *deleteMe)
 
virtual size_t getSize (void *ofMe)
 

Additional Inherited Members

- Static Public Member Functions inherited from pdb::Object
static void * operator new (size_t sz, const std::nothrow_t &tag)
 
static void * operator new (size_t sz)
 
static void operator delete (void *me)
 
static void * operator new (std::size_t count, void *ptr)
 

Detailed Description

This class defines the interfaces for AggregateComp This class is used in backend when type information is unknown

Definition at line 28 of file AbstractJoinComp.h.

Member Function Documentation

ComputationTypeID pdb::AbstractJoinComp::getComputationTypeID ( )
inlineoverridevirtual

Used to return the type if of this computation

Returns

Implements pdb::Computation.

Reimplemented in pdb::JoinCompBase< Out, In1, In2, Rest >, and pdb::JoinCompBase< Out, In1, In2, Args... >.

Definition at line 77 of file AbstractJoinComp.h.

virtual ComputeExecutorPtr pdb::AbstractJoinComp::getExecutor ( bool  needToSwapAtts,
TupleSpec hashedInputSchema,
TupleSpec pipelinedInputSchema,
TupleSpec pipelinedAttsToOperateOn,
TupleSpec pipelinedAttsToIncludeInOutput,
ComputeInfoPtr  arg 
)
pure virtual

Gets an execute that can run a scan join...

Parameters
needToSwapAtts- is true if the atts that are currently stored in the hash table need to come SECOND in the output tuple sets...
hashedInputSchema- hashedInputSchema tells us the schema for the attributes that are currently stored in the hash table...
pipelinedInputSchema- tells us the schema for the attributes that will be coming through the pipeline...
pipelinedAttsToOperateOn- is the identity of the hash attribute...
pipelinedAttsToIncludeInOutput- tells us the set of attributes that are coming through the pipeline that we actually have to write to the output stream
arg- parameters that are sent into a pipeline when it is built
Returns
- the executor

Implemented in pdb::JoinCompBase< Out, In1, In2, Rest >, and pdb::JoinCompBase< Out, In1, In2, Args... >.

+ Here is the caller graph for this function:

virtual ComputeExecutorPtr pdb::AbstractJoinComp::getExecutor ( bool  needToSwapAtts,
TupleSpec hashedInputSchema,
TupleSpec pipelinedInputSchema,
TupleSpec pipelinedAttsToOperateOn,
TupleSpec pipelinedAttsToIncludeInOutput 
)
pure virtual

Gets an execute that can run a scan join...

Parameters
needToSwapAtts- is true if the atts that are currently stored in the hash table need to come SECOND in the output tuple sets...
hashedInputSchema- hashedInputSchema tells us the schema for the attributes that are currently stored in the hash table...
pipelinedInputSchema- tells us the schema for the attributes that will be coming through the pipeline...
pipelinedAttsToOperateOn- is the identity of the hash attribute...
pipelinedAttsToIncludeInOutput- tells us the set of attributes that are coming through the pipeline that we actually have to write to the output stream
arg- parameters that are sent into a pipeline when it is built
Returns
- the executor

Implemented in pdb::JoinCompBase< Out, In1, In2, Rest >, and pdb::JoinCompBase< Out, In1, In2, Args... >.


The documentation for this class was generated from the following file: