QueryPlanNode

class QueryPlanNode(    val sequence: Trace.QueryPlanNode.SequenceNode? = null,     val parallel: Trace.QueryPlanNode.ParallelNode? = null,     val fetch: Trace.QueryPlanNode.FetchNode? = null,     val flatten: Trace.QueryPlanNode.FlattenNode? = null,     val defer: Trace.QueryPlanNode.DeferNode? = null,     val condition: Trace.QueryPlanNode.ConditionNode? = null,     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode, Nothing>

represents a node in the query plan, under which there is a trace tree for that service fetch. In particular, each fetch node represents a call to an implementing service, and calls to implementing services may not be unique. See https://github.com/apollographql/federation/blob/main/query-planner-js/src/QueryPlan.ts for more information and details.

Constructors

Link copied to clipboard
constructor(    sequence: Trace.QueryPlanNode.SequenceNode? = null,     parallel: Trace.QueryPlanNode.ParallelNode? = null,     fetch: Trace.QueryPlanNode.FetchNode? = null,     flatten: Trace.QueryPlanNode.FlattenNode? = null,     defer: Trace.QueryPlanNode.DeferNode? = null,     condition: Trace.QueryPlanNode.ConditionNode? = null,     unknownFields: ByteString = ByteString.EMPTY)

Types

Link copied to clipboard
object Companion
Link copied to clipboard
class ConditionNode(    val condition: String = "",     val if_clause: Trace.QueryPlanNode? = null,     val else_clause: Trace.QueryPlanNode? = null,     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.ConditionNode, Nothing>
Link copied to clipboard
class DeferNode(    val primary: Trace.QueryPlanNode.DeferNodePrimary? = null,     deferred: List<Trace.QueryPlanNode.DeferredNode> = emptyList(),     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.DeferNode, Nothing>

A DeferNode corresponds to one or more @defer at the same level of "nestedness" in the planned query.

Link copied to clipboard
class DeferNodePrimary(    val node: Trace.QueryPlanNode? = null,     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.DeferNodePrimary, Nothing>
Link copied to clipboard
class DeferredNode(    depends: List<Trace.QueryPlanNode.DeferredNodeDepends> = emptyList(),     val label: String = "",     path: List<Trace.QueryPlanNode.ResponsePathElement> = emptyList(),     val node: Trace.QueryPlanNode? = null,     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.DeferredNode, Nothing>
Link copied to clipboard
class DeferredNodeDepends(    val id: String = "",     val defer_label: String = "",     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.DeferredNodeDepends, Nothing>
Link copied to clipboard
class FetchNode(    val service_name: String = "",     val trace_parsing_failed: Boolean = false,     val trace: Trace? = null,     val sent_time_offset: Long = 0,     val sent_time: Instant? = null,     val received_time: Instant? = null,     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.FetchNode, Nothing>

This represents a node to send an operation to an implementing service

Link copied to clipboard
class FlattenNode(    response_path: List<Trace.QueryPlanNode.ResponsePathElement> = emptyList(),     val node: Trace.QueryPlanNode? = null,     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.FlattenNode, Nothing>

This node represents a way to reach into the response path and attach related entities. XXX Flatten is really not the right name and this node may be renamed in the query planner.

Link copied to clipboard
class ParallelNode(    nodes: List<Trace.QueryPlanNode> = emptyList(),     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.ParallelNode, Nothing>

This represents a set of nodes to be executed in parallel by the Router/Gateway executor

Link copied to clipboard
class ResponsePathElement(    val field_name: String? = null,     val index: Int? = null,     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.ResponsePathElement, Nothing>
Link copied to clipboard
class SequenceNode(    nodes: List<Trace.QueryPlanNode> = emptyList(),     unknownFields: ByteString = ByteString.EMPTY) : Message<Trace.QueryPlanNode.SequenceNode, Nothing>

This represents a set of nodes to be executed sequentially by the Router/Gateway executor

Properties

Link copied to clipboard
val adapter: ProtoAdapter<Trace.QueryPlanNode>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val unknownFields: ByteString

Functions

Link copied to clipboard
fun copy(    sequence: Trace.QueryPlanNode.SequenceNode? = this.sequence,     parallel: Trace.QueryPlanNode.ParallelNode? = this.parallel,     fetch: Trace.QueryPlanNode.FetchNode? = this.fetch,     flatten: Trace.QueryPlanNode.FlattenNode? = this.flatten,     defer: Trace.QueryPlanNode.DeferNode? = this.defer,     condition: Trace.QueryPlanNode.ConditionNode? = this.condition,     unknownFields: ByteString = this.unknownFields): Trace.QueryPlanNode
Link copied to clipboard
fun encode(sink: BufferedSink)
Link copied to clipboard
fun encodeByteString(): ByteString
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String