Documentation ¶
Overview ¶
Defines a common set of filters that can be applied in queries for supported databases types.
Index ¶
- Constants
- Variables
- func GetExecutionName(seed int64) string
- func GetInvalidRepeatedValueFilterErr(expression FilterExpression) error
- func GetInvalidSingleValueFilterErr(expression FilterExpression) error
- func GetNamespaceName(template string, project, domain string) string
- func GetUnrecognizedFilterFunctionErr(function string) error
- func GetUnsupportedFilterExpressionErr(expression FilterExpression) error
- func IsExecutionTerminal(phase core.WorkflowExecution_Phase) bool
- func IsNodeExecutionTerminal(phase core.NodeExecution_Phase) bool
- func IsTaskExecutionTerminal(phase core.TaskExecution_Phase) bool
- func OffloadLiteralMap(ctx context.Context, storageClient *storage.DataStore, ...) (storage.DataReference, error)
- type CloudProvider
- type Entity
- type FilterExpression
- type GormQueryExpr
- type InlineFilter
- func NewInlineFilter(entity Entity, function string, field string, value interface{}) (InlineFilter, error)
- func NewRepeatedValueFilter(entity Entity, function FilterExpression, field string, ...) (InlineFilter, error)
- func NewSingleValueFilter(entity Entity, function FilterExpression, field string, value interface{}) (InlineFilter, error)
- func NewWithDefaultValueFilter(defaultValue interface{}, filter InlineFilter) (InlineFilter, error)
- type MapFilter
- type SortParameter
Constants ¶
const ( AuditFieldsContextKey contextutils.Key = "audit_fields" PrincipalContextKey contextutils.Key = "principal" )
const ( Execution = "e" LaunchPlan = "l" NodeExecution = "ne" NodeExecutionEvent = "nee" Task = "t" TaskExecution = "te" Workflow = "w" NamedEntity = "nen" NamedEntityMetadata = "nem" Project = "p" )
const AllowedExecutionIDStartCharStr = "abcdefghijklmnopqrstuvwxyz"
In kubernetes, resource names must comply with this regex: '[a-z]([-a-z0-9]*[a-z0-9])?'
const AllowedExecutionIDStr = "abcdefghijklmnopqrstuvwxyz1234567890"
const DefaultProducerID = "propeller"
DefaultProducerID is used in older versions of propeller which hard code this producer id. See https://github.com/flyteorg/flytepropeller/blob/eaf084934de5d630cd4c11aae15ecae780cc787e/pkg/controller/nodes/task/transformer.go#L114
const EqualExpression = "eq"
const ExecutionIDLength = 10
const MaxResponseStatusBytes = 32000
Variables ¶
var AllowedExecutionIDChars = []rune(AllowedExecutionIDStr)
var AllowedExecutionIDStartChars = []rune(AllowedExecutionIDStartCharStr)
var ResourceTypeToEntity = map[core.ResourceType]Entity{ core.ResourceType_LAUNCH_PLAN: LaunchPlan, core.ResourceType_TASK: Task, core.ResourceType_WORKFLOW: Workflow, }
ResourceTypeToEntity maps a resource type to an entity suitable for use with Database filters
var RuntimeTypeKey = contextutils.Key("runtime_type")
var RuntimeVersionKey = contextutils.Key("runtime_version")
Functions ¶
func GetInvalidRepeatedValueFilterErr ¶
func GetInvalidRepeatedValueFilterErr(expression FilterExpression) error
func GetInvalidSingleValueFilterErr ¶
func GetInvalidSingleValueFilterErr(expression FilterExpression) error
func GetNamespaceName ¶ added in v0.1.3
GetNamespaceName returns kubernetes namespace name according to user defined template from config
func GetUnrecognizedFilterFunctionErr ¶ added in v0.1.4
func GetUnsupportedFilterExpressionErr ¶
func GetUnsupportedFilterExpressionErr(expression FilterExpression) error
func IsExecutionTerminal ¶
func IsExecutionTerminal(phase core.WorkflowExecution_Phase) bool
func IsNodeExecutionTerminal ¶
func IsNodeExecutionTerminal(phase core.NodeExecution_Phase) bool
func IsTaskExecutionTerminal ¶
func IsTaskExecutionTerminal(phase core.TaskExecution_Phase) bool
func OffloadLiteralMap ¶ added in v0.6.50
func OffloadLiteralMap(ctx context.Context, storageClient *storage.DataStore, literalMap *core.LiteralMap, nestedKeys ...string) (storage.DataReference, error)
Types ¶
type CloudProvider ¶
type CloudProvider = string
const ( AWS CloudProvider = "aws" GCP CloudProvider = "gcp" Local CloudProvider = "local" None CloudProvider = "none" )
type FilterExpression ¶
type FilterExpression int
const ( Contains FilterExpression = iota GreaterThan GreaterThanOrEqual LessThan LessThanOrEqual Equal NotEqual ValueIn )
Complete set of filters available for database queries.
type GormQueryExpr ¶
type GormQueryExpr struct { Query string Args interface{} }
Container for arguments necessary to issue a GORM query.
type InlineFilter ¶
type InlineFilter interface { // Returns the entity for which this filter should be applied. GetEntity() Entity // Returns the column filtered on. GetField() string // Generates fields necessary to add a filter to a gorm database query. GetGormQueryExpr() (GormQueryExpr, error) // Generates fields necessary to add a filter on a gorm database join query. GetGormJoinTableQueryExpr(tableName string) (GormQueryExpr, error) }
Interface for a single filter expression.
func NewInlineFilter ¶
func NewInlineFilter(entity Entity, function string, field string, value interface{}) (InlineFilter, error)
func NewRepeatedValueFilter ¶
func NewRepeatedValueFilter(entity Entity, function FilterExpression, field string, repeatedValue interface{}) (InlineFilter, error)
Returns a filter which uses a repeated argument value.
func NewSingleValueFilter ¶
func NewSingleValueFilter(entity Entity, function FilterExpression, field string, value interface{}) (InlineFilter, error)
Returns a filter which uses a single argument value.
func NewWithDefaultValueFilter ¶ added in v0.3.38
func NewWithDefaultValueFilter(defaultValue interface{}, filter InlineFilter) (InlineFilter, error)
type MapFilter ¶
type MapFilter interface {
GetFilter() map[string]interface{}
}
Interface for a map filter expression.
func NewMapFilter ¶
type SortParameter ¶
type SortParameter interface {
GetGormOrderExpr() string
}
func NewSortParameter ¶
func NewSortParameter(sort admin.Sort) (SortParameter, error)