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.

Inheritance diagram for Vertica::ExecutorPlanContext:

Collaboration diagram for Vertica::ExecutorPlanContext:

Public Member Functions
ExecutorPlanContext (ExecutorParamWriter &writer, std::vector clusterNodes, std::vector targetNodes, bool canApportionSource, size_t maxPossibleThreads, ssize_t actualThreads=-1)
bool canApportionSource () const
const std::vector & getClusterNodes ()
ssize_t getLoadConcurrency () const
size_t getMaxAllowedThreads () const
virtual ParamReader & getReader ()
SourceIterator * getSources () const
const std::vector & getTargetNodes () const
virtual ExecutorParamWriter & getWriter () override
void setSources (SourceIterator *sources)
void setTargetNodes (const std::vector &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

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

getClusterNodes()

const std::vector& Vertica::PlanContext::getClusterNodes()

inline inherited 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& Vertica::NodeSpecifyingPlanContext::getTargetNodes() const

inline inherited 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 & nodes)

inline inherited 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.