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::JoinComp< Out, In1, In2, Args > Class Template Referenceabstract

#include <JoinComp.h>

+ Inheritance diagram for pdb::JoinComp< Out, In1, In2, Args >:
+ Collaboration diagram for pdb::JoinComp< Out, In1, In2, Args >:

Private Member Functions

virtual Lambda< bool > getSelection (Handle< In1 > in1, Handle< In2 > in2, Handle< Args >...otherArgs)=0
 
virtual Lambda< Handle< Out > > getProjection (Handle< In1 > in1, Handle< In2 > in2, Handle< Args >...otherArgs)=0
 

Additional Inherited Members

- Public Member Functions inherited from pdb::JoinCompBase< Out, In1, In2, Args... >
virtual ~JoinCompBase ()
 
void setJoinType (JoinType joinType)
 
JoinType getJoinType ()
 
void setNumPartitions (int numPartitions)
 
int getNumPartitions ()
 
void setNumNodes (int numNodes)
 
int getNumNodes ()
 
void setPartitionId (size_t myPartitionId)
 
size_t getPartitionId ()
 
void setIterator (PageCircularBufferIteratorPtr iterator)
 
void setProxy (DataProxyPtr proxy)
 
void setBatchSize (int batchSize) override
 
int getBatchSize ()
 
MultiInputsBasegetMultiInputsBase ()
 
void setMultiInputsBaseToNull ()
 
void analyzeInputSets (std::vector< std::string > &inputNames)
 
virtual Lambda< bool > getSelection (Handle< In1 > in1, Handle< In2 > in2, Handle< Rest >...otherArgs)=0
 
virtual Lambda< Handle< Out > > getProjection (Handle< In1 > in1, Handle< In2 > in2, Handle< Rest >...otherArgs)=0
 
void extractLambdas (std::map< std::string, GenericLambdaObjectPtr > &returnVal) override
 
std::string getOutputType () override
 
int getNumInputs () final
 
std::enable_if< sizeof...(Others)==0,
std::string >::type 
getIthInputType (int i)
 
std::enable_if< sizeof...(Others)!=0,
std::string >::type 
getIthInputType (int i)
 
std::string getIthInputType (int i) final
 
SinkMergerPtr getSinkMerger (TupleSpec &consumeMe, TupleSpec &attsToOpOn, TupleSpec &projection, ComputePlan &plan) override
 
SinkShufflerPtr getSinkShuffler (TupleSpec &consumeMe, TupleSpec &attsToOpOn, TupleSpec &projection, ComputePlan &plan) override
 
ComputeSinkPtr getComputeSink (TupleSpec &consumeMe, TupleSpec &attsToOpOn, TupleSpec &projection, ComputePlan &plan) override
 
ComputeSourcePtr getComputeSource (TupleSpec &outputScheme, ComputePlan &plan) override
 
std::string getComputationType () override
 
ComputationTypeID getComputationTypeID () override
 
std::string toTCAPString (std::vector< InputTupleSetSpecifier > &inputTupleSets, int computationLabel, std::string &outputTupleSetName, std::vector< std::string > &outputColumnNames, std::string &addedOutputColumnName) override
 
ComputeExecutorPtr getExecutor (bool needToSwapAtts, TupleSpec &hashedInputSchema, TupleSpec &pipelinedInputSchema, TupleSpec &pipelinedAttsToOperateOn, TupleSpec &pipelinedAttsToIncludeInOutput, ComputeInfoPtr arg) override
 
ComputeExecutorPtr getExecutor (bool needToSwapAtts, TupleSpec &hashedInputSchema, TupleSpec &pipelinedInputSchema, TupleSpec &pipelinedAttsToOperateOn, TupleSpec &pipelinedAttsToIncludeInOutput) override
 
- Public Member Functions inherited from pdb::Computation
virtual ComputeSinkPtr getComputeSink (TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan)
 
virtual SinkMergerPtr getSinkMerger (TupleSpec &consumeMe, 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...
 
bool hasInput ()
 
Handle< Computation > & getIthInput (int i) const
 
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 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)
 
- 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

template<typename Out, typename In1, typename In2, typename... Args>
class pdb::JoinComp< Out, In1, In2, Args >

// TODO Add proper description

Template Parameters
Out- the output type
In1- the first input type
In2- the second input type
Rest- the rest of the input types

Definition at line 43 of file JoinComp.h.

Member Function Documentation

template<typename Out , typename In1 , typename In2 , typename... Args>
virtual Lambda<Handle<Out> > pdb::JoinComp< Out, In1, In2, Args >::getProjection ( Handle< In1 >  in1,
Handle< In2 >  in2,
Handle< Args >...  otherArgs 
)
privatepure virtual

The computation returned by this method is called to produce output tuples from this method

Parameters
in1- first input
in2- second input
otherArgs- the rest of the inputs
Returns
the projection lambda
template<typename Out , typename In1 , typename In2 , typename... Args>
virtual Lambda<bool> pdb::JoinComp< Out, In1, In2, Args >::getSelection ( Handle< In1 >  in1,
Handle< In2 >  in2,
Handle< Args >...  otherArgs 
)
privatepure virtual

The computation returned by this method is called to see if a data item should be returned in the output set

Parameters
in1- first input
in2- second input
otherArgs- the rest of the inputs
Returns
the projection lambda

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