C++ SDK Documentation  24.2.0
Vertica::ExecutorPlanContext Class Reference

An ExecutorPlanContext is a PlanContext object whose scope is limited to a single executor node: it and its parameters will never be serialized. In addition to providing information about nodes involved in a query, it indicates how many threads are available and allocated for a load. More...

Inheritance diagram for Vertica::ExecutorPlanContext:
Inheritance graph
Collaboration diagram for Vertica::ExecutorPlanContext:
Collaboration graph

Public Member Functions

 ExecutorPlanContext (ExecutorParamWriter &writer, std::vector< std::string > clusterNodes, std::vector< std::string > targetNodes, bool canApportionSource, size_t maxPossibleThreads, ssize_t actualThreads=-1)
 
bool canApportionSource () const
 
const std::vector< std::string > & getClusterNodes ()
 
ssize_t getLoadConcurrency () const
 
size_t getMaxAllowedThreads () const
 
virtual ParamReadergetReader ()
 
SourceIteratorgetSources () const
 
const std::vector< std::string > & getTargetNodes () const
 
virtual ExecutorParamWritergetWriter () __override__
 
void setSources (SourceIterator *sources)
 
void setTargetNodes (const std::vector< std::string > &nodes)
 

Detailed Description

An ExecutorPlanContext is a PlanContext object whose scope is limited to a single executor node: it and its parameters will never be serialized. In addition to providing information about nodes involved in a query, it indicates how many threads are available and allocated for a load.

Member Function Documentation

◆ canApportionSource()

bool Vertica::NodeSpecifyingPlanContext::canApportionSource ( ) const
inlineinherited

return whether the UDL source can be apportioned among multiple nodes or threads

◆ getClusterNodes()

const std::vector<std::string>& Vertica::PlanContext::getClusterNodes ( )
inlineinherited

Get a list of all of the nodes in the current cluster, by node name

Referenced by Vertica::NodeSpecifyingPlanContext::setTargetNodes().

◆ getReader()

virtual ParamReader& Vertica::PlanContext::getReader ( )
inlinevirtualinherited

Get a read-only instance of the current context

◆ getTargetNodes()

const std::vector<std::string>& Vertica::NodeSpecifyingPlanContext::getTargetNodes ( ) const
inlineinherited

Return the set of nodes that this query is currently set to run on

◆ getWriter()

virtual ExecutorParamWriter& Vertica::ExecutorPlanContext::getWriter ( )
inlinevirtual

Get the current context for writing

Reimplemented from Vertica::PlanContext.

◆ setTargetNodes()

void Vertica::NodeSpecifyingPlanContext::setTargetNodes ( const std::vector< std::string > &  nodes)
inlineinherited

Change the set of nodes that the query is intended to run on. Throws UnknownNodeException if any of the specified node names is not actually the name of any node in the cluster.