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

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

Inheritance diagram for Vertica::NodeSpecifyingPlanContext:
Inheritance graph
Collaboration diagram for Vertica::NodeSpecifyingPlanContext:
Collaboration graph

Public Member Functions

 NodeSpecifyingPlanContext (ParamWriter &writer, std::vector< std::string > clusterNodes, bool canApportion)
 
 NodeSpecifyingPlanContext (ParamWriter &writer, std::vector< std::string > clusterNodes, std::vector< std::string > targetNodes, bool canApportion)
 
bool canApportionSource () const
 
const std::vector< std::string > & getClusterNodes ()
 
virtual ParamReadergetReader ()
 
const std::vector< std::string > & getTargetNodes () const
 
virtual ParamWritergetWriter ()
 
void setTargetNodes (const std::vector< std::string > &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<std::string>& Vertica::PlanContext::getClusterNodes ( )
inlineinherited

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<std::string>& 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< std::string > &  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.