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.
|
#include <MultiSelectionCompBase.h>
Public Member Functions | |
virtual pdb::Lambda< bool > | getSelection (pdb::Handle< InputClass > checkMe)=0 |
virtual pdb::Lambda < pdb::Vector< pdb::Handle < OutputClass > > > | getProjection (pdb::Handle< InputClass > checkMe)=0 |
void | extractLambdas (std::map< std::string, GenericLambdaObjectPtr > &returnVal) override |
std::string | getComputationType () override |
ComputationTypeID | getComputationTypeID () override |
std::string | getIthInputType (int i) override |
int | getNumInputs () override |
std::string | getOutputType () override |
std::string | toTCAPString (std::vector< InputTupleSetSpecifier > &inputTupleSets, int computationLabel, std::string &outputTupleSetName, std::vector< std::string > &outputColumnNames, std::string &addedOutputColumnName) override |
std::string | toTCAPString (std::string inputTupleSetName, std::vector< std::string > &inputColumnNames, std::vector< std::string > &inputColumnsToApply, std::vector< std::string > &childrenLambdaNames, int computationLabel, std::string &outputTupleSetName, std::vector< std::string > &outputColumnNames, std::string &addedOutputColumnName, std::string &myLambdaName) |
void | setOutput (std::string dbName, std::string setName) override |
void | setBatchSize (int batchSize) override |
std::string | getDatabaseName () override |
std::string | getSetName () override |
ComputeSourcePtr | getComputeSource (TupleSpec &outputScheme, ComputePlan &plan) override |
ComputeSinkPtr | getComputeSink (TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan) override |
bool | needsMaterializeOutput () override |
Handle< ScanUserSet < OutputClass > > & | getOutputSetScanner () |
Public Member Functions inherited from pdb::Computation | |
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) |
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 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) |
Private Attributes | |
bool | materializeSelectionOut = false |
Handle< ScanUserSet < OutputClass > > | outputSetScanner = nullptr |
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) |
TODO add proper description
OutputClass | |
InputClass |
Definition at line 36 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
calls getProjection and getSelection to extract the lambdas
returnVal |
Reimplemented from pdb::Computation.
Definition at line 58 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
this is a MultiSelection computation
Implements pdb::Computation.
Definition at line 71 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
to return the type if of this computation
Implements pdb::Computation.
Definition at line 79 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
likewise, if this particular computation can be used as a compute sink in a pipeline, this method will return the compute sink object associated with the computation. It requires the TupleSpec that should be processed, as well as the projection of that TupleSpec that will be put into the sink
Reimplemented from pdb::Computation.
Definition at line 302 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
If this particular computation can be used as a compute source in a pipeline, this method will return the compute source object associated with the computation...
In the general case, this method accepts the logical plan that this guy is a part of, as well as the actual TupleSpec that this guy is supposed to produce, and then returns a pointer to a ComputeSource object that can actually produce TupleSet objects corresponding to that particular TupleSpec
Reimplemented from pdb::Computation.
Definition at line 291 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
Reimplemented from pdb::Computation.
Definition at line 281 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
gets the name of the i^th input type...
i |
Implements pdb::Computation.
Definition at line 88 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
get the number of inputs to this query type
Implements pdb::Computation.
Definition at line 100 of file MultiSelectionCompBase.h.
|
inline |
Definition at line 316 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
return the output type
Implements pdb::Computation.
Definition at line 108 of file MultiSelectionCompBase.h.
|
pure virtual |
the computation returned by this method is called to produce output tuples from this method
checkMe |
Implemented in pdb::MultiSelectionComp< OutputClass, InputClass >.
|
pure virtual |
the computation returned by this method is called to see if a data item should be returned in the output set
checkMe |
Implemented in pdb::MultiSelectionComp< OutputClass, InputClass >.
|
inlineoverridevirtual |
Reimplemented from pdb::Computation.
Definition at line 286 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
Reimplemented from pdb::Computation.
Definition at line 312 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
Reimplemented from pdb::Computation.
Definition at line 274 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
set user set for output when necessary (e.g. results need to be materialized) by default it do nothing, subclasses shall override this function to handle the case when results need to be materialized.
Reimplemented from pdb::Computation.
Definition at line 267 of file MultiSelectionCompBase.h.
|
inlineoverridevirtual |
below function implements the interface for parsing computation into a TCAP string
inputTupleSets | |
computationLabel | |
outputTupleSetName | |
outputColumnNames | |
addedOutputColumnName |
Implements pdb::Computation.
Definition at line 121 of file MultiSelectionCompBase.h.
|
inline |
|
private |
Definition at line 321 of file MultiSelectionCompBase.h.
|
private |
Definition at line 322 of file MultiSelectionCompBase.h.