planbuilder

package
v1.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2019 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Overview

Package planbuilder allows you to build execution plans that describe how to fulfill a query that may span multiple keyspaces or shards. The main entry points for this package are Build and BuildFromStmt.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Build

func Build(query string, vschema ContextVSchema) (*engine.Plan, error)

Build builds a plan for a query based on the specified vschema. It's the main entry point for this package.

func BuildFromStmt

func BuildFromStmt(query string, stmt sqlparser.Statement, vschema ContextVSchema) (*engine.Plan, error)

BuildFromStmt builds a plan based on the AST provided. TODO(sougou): The query input is trusted as the source of the AST. Maybe this function just returns instructions and engine.Plan can be built by the caller.

func ResultFromNumber

func ResultFromNumber(rcs []*resultColumn, val *sqlparser.SQLVal) (int, error)

ResultFromNumber returns the result column index based on the column order expression.

Types

type ContextVSchema

type ContextVSchema interface {
	FindTable(tablename sqlparser.TableName) (*vindexes.Table, string, topodatapb.TabletType, key.Destination, error)
	FindTablesOrVindex(tablename sqlparser.TableName) ([]*vindexes.Table, vindexes.Vindex, string, topodatapb.TabletType, key.Destination, error)
	DefaultKeyspace() (*vindexes.Keyspace, error)
	TargetString() string
}

ContextVSchema defines the interface for this package to fetch info about tables.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL