Vertica::NodeSpecifyingPlanContext Class Reference

Interface that allows storage of query-plan state, when different parts of query planning take place on different computers.

Inheritance diagram for Vertica::NodeSpecifyingPlanContext:

Collaboration diagram for Vertica::NodeSpecifyingPlanContext:

Public Member Functions
NodeSpecifyingPlanContext (ParamWriter &writer, std::vector clusterNodes, bool canApportion)
NodeSpecifyingPlanContext (ParamWriter &writer, std::vector clusterNodes, std::vector targetNodes, bool canApportion)
bool canApportionSource () const
const std::vector & getClusterNodes ()
virtual ParamReader & getReader ()
const std::vector & getTargetNodes () const
virtual ParamWriter & getWriter ()
void setTargetNodes (const std::vector &nodes)

Detailed Description

Interface that allows storage of query-plan state, when different parts of query planning take place on different computers.

For example, if some work is done on the query initiator node and some is done on each node executing the query.

In addition to the functionality provided by PlanContext, NodeSpecifyingPlanContext allows you to specify which nodes the query should run on. This is used for UDLs.

Member Function Documentation

canApportionSource()

bool Vertica::NodeSpecifyingPlanContext::canApportionSource() const

inline 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 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 Return the set of nodes that this query is currently set to run on

getWriter()

virtual ParamWriter& Vertica::PlanContext::getWriter()

inlinevirtualinherited

Get the current context for writing

Reimplemented in Vertica::ExecutorPlanContext.

Referenced by Vertica::ExecutorPlanContext::getWriter().

setTargetNodes()

void Vertica::NodeSpecifyingPlanContext::setTargetNodes(const std::vector & nodes)

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