Documentation
¶
Index ¶
- Variables
- func GeomInfoFromField(query *ast.Field) map[string]types.GeometryInfo
- type AtInfo
- type Catalog
- type NodeBeforeExecFunc
- type NodeFunc
- type QueryPlan
- type QueryPlanNode
- func (n *QueryPlanNode) Compile(parent *QueryPlanNode, res *Result) (*Result, error)
- func (n *QueryPlanNode) Engine(name string) (engines.Engine, error)
- func (n *QueryPlanNode) Querier() types.Querier
- func (n *QueryPlanNode) SchemaProvider() catalog.Provider
- func (n *QueryPlanNode) TypeDefs() base.DefinitionsSource
- type QueryPlanNodes
- type Result
- type Results
- type Service
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrInternalPlanner = errors.New("internal planner error")
)
Functions ¶
func GeomInfoFromField ¶ added in v0.3.32
func GeomInfoFromField(query *ast.Field) map[string]types.GeometryInfo
GeomInfoFromField extracts per-field geometry metadata from a GraphQL AST field. Same mechanism the IPC handler uses when building the X-Hugr-Geometry-Fields header, but returns structured types.GeometryInfo entries keyed by dotted field path ("" means the whole value).
Used by the planner to attach GeometryInfo to every ArrowTable / *JsonValue leaf it returns, so downstream consumers (RecordToJSON, IPC writer, Arrow scanner) read from a single source of truth.
Format values produced:
- "GeoJSON" — top-level scalar Geometry return (the whole value).
- "GeoJSONString" — nested Geometry inside a struct / row field.
- "WKB" — not produced here; emitted on the IPC wire by the handler when it detects a raw Geometry table column. RecordToJSON discovers WKB via the Arrow extension name directly on the column, not via GeometryInfo.
- "H3Cell" — not a geometry; returned so callers that care (like the IPC header builder) can still see the hint.
Types ¶
type NodeBeforeExecFunc ¶
type QueryPlan ¶
type QueryPlan struct {
Query *ast.Field
RootNode *QueryPlanNode
CompiledQuery string
Params []any
}
func (*QueryPlan) ExecuteStream ¶ added in v0.1.20
type QueryPlanNode ¶
type QueryPlanNode struct {
Name string
Query *ast.Field
Nodes QueryPlanNodes
Comment string
CollectFunc NodeFunc
BeforeParamsLen int
AddedParams int
Parent *QueryPlanNode
Before NodeBeforeExecFunc
// contains filtered or unexported fields
}
QueryPlan represents the execution plan for a query
func (*QueryPlanNode) Compile ¶
func (n *QueryPlanNode) Compile(parent *QueryPlanNode, res *Result) (*Result, error)
func (*QueryPlanNode) Querier ¶ added in v0.1.28
func (n *QueryPlanNode) Querier() types.Querier
func (*QueryPlanNode) SchemaProvider ¶ added in v0.3.0
func (n *QueryPlanNode) SchemaProvider() catalog.Provider
func (*QueryPlanNode) TypeDefs ¶
func (n *QueryPlanNode) TypeDefs() base.DefinitionsSource
type QueryPlanNodes ¶
type QueryPlanNodes []*QueryPlanNode
func (*QueryPlanNodes) Add ¶
func (n *QueryPlanNodes) Add(node *QueryPlanNode)
func (*QueryPlanNodes) ForName ¶
func (n *QueryPlanNodes) ForName(name string) *QueryPlanNode
Click to show internal directories.
Click to hide internal directories.