package extensions
import "github.com/substrait-io/substrait-go/v3/extensions"
Index ¶
- Constants
- func EvaluateTypeExpression(nullHandling NullabilityHandling, returnTypeExpr types.FuncDefArgType, funcParameters FuncParameterList, variadic *VariadicBehavior, argumentTypes []types.Type) (types.Type, error)
- func HasSyncParams(params []types.FuncDefArgType) bool
- type AdvancedExtension
- type AggVariantOptions
- type AggregateFunction
- func (s *AggregateFunction) GetVariants(uri string) []*AggregateFunctionVariant
- func (s *AggregateFunction) ResolveURI(uri string) []FunctionVariant
- type AggregateFunctionImpl
- type AggregateFunctionVariant
- func NewAggFuncVariant(id ID) *AggregateFunctionVariant
- func NewAggFuncVariantOpts(id ID, opts AggVariantOptions) *AggregateFunctionVariant
- func (s *AggregateFunctionVariant) Args() FuncParameterList
- func (s *AggregateFunctionVariant) CompoundName() string
- func (s *AggregateFunctionVariant) Decomposability() DecomposeType
- func (s *AggregateFunctionVariant) Description() string
- func (s *AggregateFunctionVariant) Deterministic() bool
- func (s *AggregateFunctionVariant) ID() ID
- func (s *AggregateFunctionVariant) Intermediate() (types.FuncDefArgType, error)
- func (s *AggregateFunctionVariant) Match(argumentTypes []types.Type) (bool, error)
- func (s *AggregateFunctionVariant) MatchAt(typ types.Type, pos int) (bool, error)
- func (s *AggregateFunctionVariant) MaxArgumentCount() int
- func (s *AggregateFunctionVariant) MaxSet() int
- func (s *AggregateFunctionVariant) MinArgumentCount() int
- func (s *AggregateFunctionVariant) Name() string
- func (s *AggregateFunctionVariant) Nullability() NullabilityHandling
- func (s *AggregateFunctionVariant) Options() map[string]Option
- func (s *AggregateFunctionVariant) Ordered() bool
- func (s *AggregateFunctionVariant) ResolveType(argumentTypes []types.Type) (types.Type, error)
- func (s *AggregateFunctionVariant) SessionDependent() bool
- func (s *AggregateFunctionVariant) URI() string
- func (s *AggregateFunctionVariant) Variadic() *VariadicBehavior
- type Collection
- func GetDefaultCollection() (*Collection, error)
- func GetDefaultCollectionWithNoError() *Collection
- func (c *Collection) GetAggregateFunc(id ID) (*AggregateFunctionVariant, bool)
- func (c *Collection) GetAllAggregateFunctions() []*AggregateFunctionVariant
- func (c *Collection) GetAllScalarFunctions() []*ScalarFunctionVariant
- func (c *Collection) GetAllWindowFunctions() []*WindowFunctionVariant
- func (c *Collection) GetScalarFunc(id ID) (*ScalarFunctionVariant, bool)
- func (c *Collection) GetType(id ID) (t Type, ok bool)
- func (c *Collection) GetTypeVariation(id ID) (tv TypeVariation, ok bool)
- func (c *Collection) GetWindowFunc(id ID) (*WindowFunctionVariant, bool)
- func (c *Collection) Load(uri string, r io.Reader) error
- func (c *Collection) URILoaded(uri string) bool
- type DecomposeType
- type EnumArg
- type FuncParameter
- type FuncParameterList
- type Function
- type FunctionVariant
- type ID
- type NullabilityHandling
- type Option
- type ParamType
- type ParameterConsistency
- type ScalarFunction
- func (s *ScalarFunction) GetVariants(uri string) []*ScalarFunctionVariant
- func (s *ScalarFunction) ResolveURI(uri string) []FunctionVariant
- type ScalarFunctionImpl
- type ScalarFunctionVariant
- func NewScalarFuncVariant(id ID) *ScalarFunctionVariant
- func NewScalarFuncVariantWithProps(id ID, variadic *VariadicBehavior, sessionDependant, deterministic bool) *ScalarFunctionVariant
- func (s *ScalarFunctionVariant) Args() FuncParameterList
- func (s *ScalarFunctionVariant) CompoundName() string
- func (s *ScalarFunctionVariant) Description() string
- func (s *ScalarFunctionVariant) Deterministic() bool
- func (s *ScalarFunctionVariant) ID() ID
- func (s *ScalarFunctionVariant) Match(argumentTypes []types.Type) (bool, error)
- func (s *ScalarFunctionVariant) MatchAt(typ types.Type, pos int) (bool, error)
- func (s *ScalarFunctionVariant) MaxArgumentCount() int
- func (s *ScalarFunctionVariant) MinArgumentCount() int
- func (s *ScalarFunctionVariant) Name() string
- func (s *ScalarFunctionVariant) Nullability() NullabilityHandling
- func (s *ScalarFunctionVariant) Options() map[string]Option
- func (s *ScalarFunctionVariant) ResolveType(argumentTypes []types.Type) (types.Type, error)
- func (s *ScalarFunctionVariant) SessionDependent() bool
- func (s *ScalarFunctionVariant) URI() string
- func (s *ScalarFunctionVariant) Variadic() *VariadicBehavior
- type Set
- type SimpleExtensionFile
- type TopLevel
- type Type
- type TypeArg
- type TypeDef
- type TypeParamDef
- type TypeVariation
- type TypeVariationFunctions
- type ValueArg
- type VariadicBehavior
- func (v *VariadicBehavior) IsValidArgumentCount(count int) bool
- func (v *VariadicBehavior) IsValidArgumentPosition(index int) bool
- type WindowFunction
- func (s *WindowFunction) GetVariants(uri string) []*WindowFunctionVariant
- func (s *WindowFunction) ResolveURI(uri string) []FunctionVariant
- type WindowFunctionImpl
- type WindowFunctionVariant
- func NewWindowFuncVariant(id ID) *WindowFunctionVariant
- func NewWindowFuncVariantOpts(id ID, opts WindowVariantOpts) *WindowFunctionVariant
- func (s *WindowFunctionVariant) Args() FuncParameterList
- func (s *WindowFunctionVariant) CompoundName() string
- func (s *WindowFunctionVariant) Decomposability() DecomposeType
- func (s *WindowFunctionVariant) Description() string
- func (s *WindowFunctionVariant) Deterministic() bool
- func (s *WindowFunctionVariant) ID() ID
- func (s *WindowFunctionVariant) Intermediate() (types.FuncDefArgType, error)
- func (s *WindowFunctionVariant) Match(argumentTypes []types.Type) (bool, error)
- func (s *WindowFunctionVariant) MatchAt(typ types.Type, pos int) (bool, error)
- func (s *WindowFunctionVariant) MaxArgumentCount() int
- func (s *WindowFunctionVariant) MaxSet() int
- func (s *WindowFunctionVariant) MinArgumentCount() int
- func (s *WindowFunctionVariant) Name() string
- func (s *WindowFunctionVariant) Nullability() NullabilityHandling
- func (s *WindowFunctionVariant) Options() map[string]Option
- func (s *WindowFunctionVariant) Ordered() bool
- func (s *WindowFunctionVariant) ResolveType(argumentTypes []types.Type) (types.Type, error)
- func (s *WindowFunctionVariant) SessionDependent() bool
- func (s *WindowFunctionVariant) URI() string
- func (s *WindowFunctionVariant) Variadic() *VariadicBehavior
- func (s *WindowFunctionVariant) WindowType() WindowType
- type WindowType
- type WindowVariantOpts
Constants ¶
const SubstraitDefaultURIPrefix = "https://github.com/substrait-io/substrait/blob/main/extensions/"
Functions ¶
func EvaluateTypeExpression ¶
func EvaluateTypeExpression(nullHandling NullabilityHandling, returnTypeExpr types.FuncDefArgType, funcParameters FuncParameterList, variadic *VariadicBehavior, argumentTypes []types.Type) (types.Type, error)
EvaluateTypeExpression evaluates the function return type given the input argumentTypes
funcParameters: the function parameters as defined in the function signature in the extension argumentTypes: the actual argument types provided to the function
func HasSyncParams ¶
func HasSyncParams(params []types.FuncDefArgType) bool
HasSyncParams This API returns if params share a leaf param name
Types ¶
type AdvancedExtension ¶
type AdvancedExtension = extensions.AdvancedExtension
type AggVariantOptions ¶
type AggVariantOptions struct { Variadic *VariadicBehavior SessionDependant bool Deterministic bool Ordered bool // value of 0 == unlimited MaxSet uint Decomposable DecomposeType // should be a type expression // must not be empty if decomposable is not DecomposeNone IntermediateOutputType string }
type AggregateFunction ¶
type AggregateFunction struct { Name string Description string Impls []AggregateFunctionImpl }
func (*AggregateFunction) GetVariants ¶
func (s *AggregateFunction) GetVariants(uri string) []*AggregateFunctionVariant
func (*AggregateFunction) ResolveURI ¶
func (s *AggregateFunction) ResolveURI(uri string) []FunctionVariant
type AggregateFunctionImpl ¶
type AggregateFunctionImpl struct { ScalarFunctionImpl `yaml:",inline"` Intermediate parser.TypeExpression Ordered bool MaxSet int Decomposable DecomposeType }
type AggregateFunctionVariant ¶
type AggregateFunctionVariant struct {
// contains filtered or unexported fields
}
func NewAggFuncVariant ¶
func NewAggFuncVariant(id ID) *AggregateFunctionVariant
NewAggFuncVariant constructs a variant with the provided name and uri and uses the defaults for everything else.
Return expressions aren't included here as using this variant to construct an expression requires an output type argument. This is for creating an on-the-fly function variant that will not be registered as an extension.
func NewAggFuncVariantOpts ¶
func NewAggFuncVariantOpts(id ID, opts AggVariantOptions) *AggregateFunctionVariant
func (*AggregateFunctionVariant) Args ¶
func (s *AggregateFunctionVariant) Args() FuncParameterList
func (*AggregateFunctionVariant) CompoundName ¶
func (s *AggregateFunctionVariant) CompoundName() string
func (*AggregateFunctionVariant) Decomposability ¶
func (s *AggregateFunctionVariant) Decomposability() DecomposeType
func (*AggregateFunctionVariant) Description ¶
func (s *AggregateFunctionVariant) Description() string
func (*AggregateFunctionVariant) Deterministic ¶
func (s *AggregateFunctionVariant) Deterministic() bool
func (*AggregateFunctionVariant) ID ¶
func (s *AggregateFunctionVariant) ID() ID
func (*AggregateFunctionVariant) Intermediate ¶
func (s *AggregateFunctionVariant) Intermediate() (types.FuncDefArgType, error)
func (*AggregateFunctionVariant) Match ¶
func (s *AggregateFunctionVariant) Match(argumentTypes []types.Type) (bool, error)
func (*AggregateFunctionVariant) MatchAt ¶
func (*AggregateFunctionVariant) MaxArgumentCount ¶
func (s *AggregateFunctionVariant) MaxArgumentCount() int
func (*AggregateFunctionVariant) MaxSet ¶
func (s *AggregateFunctionVariant) MaxSet() int
func (*AggregateFunctionVariant) MinArgumentCount ¶
func (s *AggregateFunctionVariant) MinArgumentCount() int
func (*AggregateFunctionVariant) Name ¶
func (s *AggregateFunctionVariant) Name() string
func (*AggregateFunctionVariant) Nullability ¶
func (s *AggregateFunctionVariant) Nullability() NullabilityHandling
func (*AggregateFunctionVariant) Options ¶
func (s *AggregateFunctionVariant) Options() map[string]Option
func (*AggregateFunctionVariant) Ordered ¶
func (s *AggregateFunctionVariant) Ordered() bool
func (*AggregateFunctionVariant) ResolveType ¶
func (*AggregateFunctionVariant) SessionDependent ¶
func (s *AggregateFunctionVariant) SessionDependent() bool
func (*AggregateFunctionVariant) URI ¶
func (s *AggregateFunctionVariant) URI() string
func (*AggregateFunctionVariant) Variadic ¶
func (s *AggregateFunctionVariant) Variadic() *VariadicBehavior
type Collection ¶
type Collection struct {
// contains filtered or unexported fields
}
func GetDefaultCollection ¶
func GetDefaultCollection() (*Collection, error)
GetDefaultCollection returns a Collection that is loaded with the default Substrait extension definitions.
func GetDefaultCollectionWithNoError ¶
func GetDefaultCollectionWithNoError() *Collection
GetDefaultCollectionWithNoError returns a Collection that is loaded with the default Substrait extension definitions. This version is provided for the ease of use of legacy code. Please use GetDefaultCollection instead.
func (*Collection) GetAggregateFunc ¶
func (c *Collection) GetAggregateFunc(id ID) (*AggregateFunctionVariant, bool)
func (*Collection) GetAllAggregateFunctions ¶
func (c *Collection) GetAllAggregateFunctions() []*AggregateFunctionVariant
func (*Collection) GetAllScalarFunctions ¶
func (c *Collection) GetAllScalarFunctions() []*ScalarFunctionVariant
func (*Collection) GetAllWindowFunctions ¶
func (c *Collection) GetAllWindowFunctions() []*WindowFunctionVariant
func (*Collection) GetScalarFunc ¶
func (c *Collection) GetScalarFunc(id ID) (*ScalarFunctionVariant, bool)
func (*Collection) GetType ¶
func (c *Collection) GetType(id ID) (t Type, ok bool)
func (*Collection) GetTypeVariation ¶
func (c *Collection) GetTypeVariation(id ID) (tv TypeVariation, ok bool)
func (*Collection) GetWindowFunc ¶
func (c *Collection) GetWindowFunc(id ID) (*WindowFunctionVariant, bool)
func (*Collection) Load ¶
func (c *Collection) Load(uri string, r io.Reader) error
func (*Collection) URILoaded ¶
func (c *Collection) URILoaded(uri string) bool
type DecomposeType ¶
type DecomposeType string
const ( DecomposeNone DecomposeType = "NONE" DecomposeOne DecomposeType = "ONE" DecomposeMany DecomposeType = "MANY" )
type EnumArg ¶
type EnumArg struct { Name string `yaml:",omitempty"` Description string `yaml:",omitempty"` Options []string }
func (EnumArg) GetTypeExpression ¶
func (v EnumArg) GetTypeExpression() types.FuncDefArgType
type FuncParameter ¶
type FuncParameter interface { GetTypeExpression() types.FuncDefArgType // contains filtered or unexported methods }
type FuncParameterList ¶
type FuncParameterList []FuncParameter
func (*FuncParameterList) UnmarshalYAML ¶
func (a *FuncParameterList) UnmarshalYAML(fn func(interface{}) error) error
type Function ¶
type Function interface { ResolveURI(uri string) []FunctionVariant }
type FunctionVariant ¶
type FunctionVariant interface { Name() string CompoundName() string Description() string Args() FuncParameterList Options() map[string]Option URI() string ResolveType(argTypes []types.Type) (types.Type, error) Variadic() *VariadicBehavior // Match this function matches input arguments against this functions parameter list // returns (true, nil) if all input argument can type replace the function definition argument // returns (false, err) for invalid input argument. For e.g. if input argument nullability is not correctly // set this function will return error // returns (false, nil) valid input arguments and argument list type replace parameter list Match(argumentTypes []types.Type) (bool, error) // MatchAt this function matches input argument at position against definition of this // functions argument at same position // returns (true, nil) if input argument can type replace the function definition argument // returns (false, err) for invalid input argument. For e.g. if input arg position is negative or // argument nullability is not correctly set this function will return error // returns (false, nil) valid input argument type and argument can't type replace parameter at argPos MatchAt(typ types.Type, pos int) (bool, error) // MinArgumentCount returns minimum number of arguments required for this function MinArgumentCount() int // MaxArgumentCount returns minimum number of arguments accepted by this function MaxArgumentCount() int }
type ID ¶
type ID struct { URI string // Name of the object. For functions, a simple name may be used for lookups, // but as a unique identifier the compound name will be used Name string }
ID is the unique identifier for a substrait object
type NullabilityHandling ¶
type NullabilityHandling string
const ( MirrorNullability NullabilityHandling = "MIRROR" DeclaredOutputNullability NullabilityHandling = "DECLARED_OUTPUT" DiscreteNullability NullabilityHandling = "DISCRETE" )
type Option ¶
type ParamType ¶
type ParamType string
const ( ParamDataType ParamType = "dataType" ParamBool ParamType = "boolean" ParamInteger ParamType = "integer" ParamEnum ParamType = "enumeration" ParamString ParamType = "string" )
type ParameterConsistency ¶
type ParameterConsistency string
const ( ConsistentParams ParameterConsistency = "CONSISTENT" InconsistentParams ParameterConsistency = "INCONSISTENT" )
type ScalarFunction ¶
type ScalarFunction struct { Name string `yaml:",omitempty"` Description string `yaml:",omitempty,flow"` Impls []ScalarFunctionImpl `yaml:",omitempty"` }
func (*ScalarFunction) GetVariants ¶
func (s *ScalarFunction) GetVariants(uri string) []*ScalarFunctionVariant
func (*ScalarFunction) ResolveURI ¶
func (s *ScalarFunction) ResolveURI(uri string) []FunctionVariant
type ScalarFunctionImpl ¶
type ScalarFunctionImpl struct { Args FuncParameterList `yaml:",omitempty"` Options map[string]Option `yaml:",omitempty"` Variadic *VariadicBehavior `yaml:",omitempty"` SessionDependent bool `yaml:"sessionDependent,omitempty"` Deterministic bool `yaml:",omitempty"` Nullability NullabilityHandling `yaml:",omitempty" default:"MIRROR"` Return *parser.TypeExpression `yaml:",omitempty"` Implementation map[string]string `yaml:",omitempty"` }
type ScalarFunctionVariant ¶
type ScalarFunctionVariant struct {
// contains filtered or unexported fields
}
func NewScalarFuncVariant ¶
func NewScalarFuncVariant(id ID) *ScalarFunctionVariant
NewScalarFuncVariant constructs a variant with the provided name and uri and uses the defaults for everything else.
Return expressions aren't included here as using this variant to construct an expression requires an output type argument. This is for creating an on-the-fly function variant that will not be registered as an extension.
func NewScalarFuncVariantWithProps ¶
func NewScalarFuncVariantWithProps(id ID, variadic *VariadicBehavior, sessionDependant, deterministic bool) *ScalarFunctionVariant
NewScalarFuncVariantWithProps is the same as NewScalarFuncVariant but allows setting the values for the SessionDependant, Variadic Behavior and Deterministic properties.
func (*ScalarFunctionVariant) Args ¶
func (s *ScalarFunctionVariant) Args() FuncParameterList
func (*ScalarFunctionVariant) CompoundName ¶
func (s *ScalarFunctionVariant) CompoundName() string
func (*ScalarFunctionVariant) Description ¶
func (s *ScalarFunctionVariant) Description() string
func (*ScalarFunctionVariant) Deterministic ¶
func (s *ScalarFunctionVariant) Deterministic() bool
func (*ScalarFunctionVariant) ID ¶
func (s *ScalarFunctionVariant) ID() ID
func (*ScalarFunctionVariant) Match ¶
func (s *ScalarFunctionVariant) Match(argumentTypes []types.Type) (bool, error)
func (*ScalarFunctionVariant) MatchAt ¶
func (*ScalarFunctionVariant) MaxArgumentCount ¶
func (s *ScalarFunctionVariant) MaxArgumentCount() int
func (*ScalarFunctionVariant) MinArgumentCount ¶
func (s *ScalarFunctionVariant) MinArgumentCount() int
func (*ScalarFunctionVariant) Name ¶
func (s *ScalarFunctionVariant) Name() string
func (*ScalarFunctionVariant) Nullability ¶
func (s *ScalarFunctionVariant) Nullability() NullabilityHandling
func (*ScalarFunctionVariant) Options ¶
func (s *ScalarFunctionVariant) Options() map[string]Option
func (*ScalarFunctionVariant) ResolveType ¶
func (*ScalarFunctionVariant) SessionDependent ¶
func (s *ScalarFunctionVariant) SessionDependent() bool
func (*ScalarFunctionVariant) URI ¶
func (s *ScalarFunctionVariant) URI() string
func (*ScalarFunctionVariant) Variadic ¶
func (s *ScalarFunctionVariant) Variadic() *VariadicBehavior
type Set ¶
type Set interface { DecodeTypeVariation(anchor uint32) (ID, bool) DecodeFunc(anchor uint32) (ID, bool) DecodeType(anchor uint32) (ID, bool) LookupTypeVariation(anchor uint32, c *Collection) (TypeVariation, bool) LookupType(anchor uint32, c *Collection) (Type, bool) LookupScalarFunction(anchor uint32, c *Collection) (*ScalarFunctionVariant, bool) LookupAggregateFunction(anchor uint32, c *Collection) (*AggregateFunctionVariant, bool) LookupWindowFunction(anchor uint32, c *Collection) (*WindowFunctionVariant, bool) FindURI(uri string) (uint32, bool) GetTypeAnchor(id ID) uint32 GetFuncAnchor(id ID) uint32 GetTypeVariationAnchor(id ID) uint32 ToProto() ([]*extensions.SimpleExtensionURI, []*extensions.SimpleExtensionDeclaration) }
func GetExtensionSet ¶
func NewSet ¶
func NewSet() Set
type SimpleExtensionFile ¶
type SimpleExtensionFile struct { Types []Type `yaml:"types,omitempty"` TypeVariations []TypeVariation `yaml:"type_variations,omitempty"` ScalarFunctions []ScalarFunction `yaml:"scalar_functions,omitempty"` AggregateFunctions []AggregateFunction `yaml:"aggregate_functions,omitempty"` WindowFunctions []WindowFunction `yaml:"window_functions,omitempty"` }
type TopLevel ¶
type TopLevel interface { GetExtensionUris() []*extensions.SimpleExtensionURI GetExtensions() []*extensions.SimpleExtensionDeclaration }
type Type ¶
type Type struct { Name string Variadic bool Structure TypeDef `yaml:",omitempty"` Parameters []TypeParamDef }
type TypeArg ¶
type TypeArg struct { Name string `yaml:",omitempty"` Description string `yaml:",omitempty"` Type *parser.TypeExpression }
func (TypeArg) GetTypeExpression ¶
func (v TypeArg) GetTypeExpression() types.FuncDefArgType
type TypeDef ¶
type TypeDef any
should be either a string or map[string]any
type TypeParamDef ¶
type TypeParamDef struct { Name string Description string Type ParamType Min int Max int Options []string Optional bool }
type TypeVariation ¶
type TypeVariation struct { Name string Parent string Description string Functions TypeVariationFunctions }
type TypeVariationFunctions ¶
type TypeVariationFunctions string
const ( TypeVariationInheritsFuncs TypeVariationFunctions = "INHERITS" TypeVariationSeparateFuncs TypeVariationFunctions = "SEPARATE" EnumTypeString = "req" // TODO change this to "enum" )
type ValueArg ¶
type ValueArg struct { Name string `yaml:",omitempty"` Description string `yaml:",omitempty"` Value *parser.TypeExpression Constant bool `yaml:",omitempty"` }
func (ValueArg) GetTypeExpression ¶
func (v ValueArg) GetTypeExpression() types.FuncDefArgType
type VariadicBehavior ¶
type VariadicBehavior struct { Min int `yaml:",omitempty"` Max int `yaml:",omitempty"` ParameterConsistency ParameterConsistency `yaml:"parameterConsistency,omitempty" default:"CONSISTENT"` }
func (*VariadicBehavior) IsValidArgumentCount ¶
func (v *VariadicBehavior) IsValidArgumentCount(count int) bool
func (*VariadicBehavior) IsValidArgumentPosition ¶
func (v *VariadicBehavior) IsValidArgumentPosition(index int) bool
type WindowFunction ¶
type WindowFunction struct { Name string Description string Impls []WindowFunctionImpl }
func (*WindowFunction) GetVariants ¶
func (s *WindowFunction) GetVariants(uri string) []*WindowFunctionVariant
func (*WindowFunction) ResolveURI ¶
func (s *WindowFunction) ResolveURI(uri string) []FunctionVariant
type WindowFunctionImpl ¶
type WindowFunctionImpl struct { AggregateFunctionImpl `yaml:",inline"` WindowType WindowType `yaml:"window_type"` }
type WindowFunctionVariant ¶
type WindowFunctionVariant struct {
// contains filtered or unexported fields
}
func NewWindowFuncVariant ¶
func NewWindowFuncVariant(id ID) *WindowFunctionVariant
func NewWindowFuncVariantOpts ¶
func NewWindowFuncVariantOpts(id ID, opts WindowVariantOpts) *WindowFunctionVariant
func (*WindowFunctionVariant) Args ¶
func (s *WindowFunctionVariant) Args() FuncParameterList
func (*WindowFunctionVariant) CompoundName ¶
func (s *WindowFunctionVariant) CompoundName() string
func (*WindowFunctionVariant) Decomposability ¶
func (s *WindowFunctionVariant) Decomposability() DecomposeType
func (*WindowFunctionVariant) Description ¶
func (s *WindowFunctionVariant) Description() string
func (*WindowFunctionVariant) Deterministic ¶
func (s *WindowFunctionVariant) Deterministic() bool
func (*WindowFunctionVariant) ID ¶
func (s *WindowFunctionVariant) ID() ID
func (*WindowFunctionVariant) Intermediate ¶
func (s *WindowFunctionVariant) Intermediate() (types.FuncDefArgType, error)
func (*WindowFunctionVariant) Match ¶
func (s *WindowFunctionVariant) Match(argumentTypes []types.Type) (bool, error)
func (*WindowFunctionVariant) MatchAt ¶
func (*WindowFunctionVariant) MaxArgumentCount ¶
func (s *WindowFunctionVariant) MaxArgumentCount() int
func (*WindowFunctionVariant) MaxSet ¶
func (s *WindowFunctionVariant) MaxSet() int
func (*WindowFunctionVariant) MinArgumentCount ¶
func (s *WindowFunctionVariant) MinArgumentCount() int
func (*WindowFunctionVariant) Name ¶
func (s *WindowFunctionVariant) Name() string
func (*WindowFunctionVariant) Nullability ¶
func (s *WindowFunctionVariant) Nullability() NullabilityHandling
func (*WindowFunctionVariant) Options ¶
func (s *WindowFunctionVariant) Options() map[string]Option
func (*WindowFunctionVariant) Ordered ¶
func (s *WindowFunctionVariant) Ordered() bool
func (*WindowFunctionVariant) ResolveType ¶
func (*WindowFunctionVariant) SessionDependent ¶
func (s *WindowFunctionVariant) SessionDependent() bool
func (*WindowFunctionVariant) URI ¶
func (s *WindowFunctionVariant) URI() string
func (*WindowFunctionVariant) Variadic ¶
func (s *WindowFunctionVariant) Variadic() *VariadicBehavior
func (*WindowFunctionVariant) WindowType ¶
func (s *WindowFunctionVariant) WindowType() WindowType
type WindowType ¶
type WindowType string
const ( StreamingWindow WindowType = "STREAMING" PartitionWindow WindowType = "PARTITION" )
type WindowVariantOpts ¶
type WindowVariantOpts struct { Variadic *VariadicBehavior SessionDependant bool Deterministic bool Ordered bool // value of 0 == unlimited MaxSet uint Decomposable DecomposeType // should be a type expression // must not be empty if decomposable is not DecomposeNone IntermediateOutputType string WindowType WindowType }
Source Files ¶
extension_mgr.go simple_extension.go variants.go
- Version
- v3.9.1 (latest)
- Published
- Apr 7, 2025
- Platform
- linux/amd64
- Imports
- 17 packages
- Last checked
- now –
Tools for package owners.