substrait

package
v0.0.0-...-ca2a57d Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoMatchingImplementation = errors.New("function: no implementation matching the provided arguments")

Functions

func NewAnonymousFunctionRepository

func NewAnonymousFunctionRepository(signature string, returnType bonobo.Type) *anonymousRepository

func NewFunctionRepository

func NewFunctionRepository() *functionRepository

func RawFileFromGithubURL

func RawFileFromGithubURL(url string) (string, error)

func ReadScalarFunctionImplementations

func ReadScalarFunctionImplementations(r io.Reader, uri string) ([]*extensions.ScalarFunctionVariant, error)

func RegisterImplementationsFromURI

func RegisterImplementationsFromURI(repo *functionRepository, uri string, getterOpts ...getter.ClientOption) error

Types

type Extension

type Extension struct {
	Name, URI string
	Kind      ExtensionKind
}

type ExtensionDeclaration

type ExtensionDeclaration struct {
	Reference uint32
	Anchor    uint32
	Name      string
	Kind      ExtensionKind
}

type ExtensionKind

type ExtensionKind int
const (
	ExtensionKindType ExtensionKind = iota
	ExtensionKindTypeVariation
	ExtensionKindFunction
)

type ExtensionRegistry

type ExtensionRegistry struct {
	// contains filtered or unexported fields
}

func NewExtensionRegistryFromProto

func NewExtensionRegistryFromProto(plan *proto.Plan) (ExtensionRegistry, error)

func (*ExtensionRegistry) Extensions

func (reg *ExtensionRegistry) Extensions() ([]ExtensionURI, []ExtensionDeclaration)

func (*ExtensionRegistry) GetExtensionByReference

func (reg *ExtensionRegistry) GetExtensionByReference(ref uint32) (ExtensionDeclaration, string, error)

func (*ExtensionRegistry) RegisterFunction

func (reg *ExtensionRegistry) RegisterFunction(uri, signature string) uint32

func (*ExtensionRegistry) ToProto

type ExtensionURI

type ExtensionURI struct {
	URI    string
	Anchor uint32
}

type FunctionDeclaration

type FunctionDeclaration interface {
	Implementations() ([]FunctionImplementation, error)
}

type FunctionImplementation

type FunctionImplementation interface {
	Name() string
	Signature() string
	ReturnType(inputs ...bonobo.Type) (typ bonobo.Type, err error)
}

type FunctionRepository

type FunctionRepository interface {
	GetImplementation(uri, name string, args ...bonobo.Type) (FunctionImplementation, error)
}

Jump to

Keyboard shortcuts

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