Documentation ¶
Index ¶
- Constants
- func NewDataSourceBuilderFactory(dbKey string) physical.DataSourceBuilderFactory
- func NewDataSourceBuilderFactoryFromConfig(dbConfig map[string]interface{}) (physical.DataSourceBuilderFactory, error)
- type And
- type Constant
- type DataSource
- type Equal
- type In
- type KeyFormula
- type Or
- type QueueElement
- func (*QueueElement) Descriptor() ([]byte, []int)
- func (m *QueueElement) GetEndOfStream() bool
- func (m *QueueElement) GetError() string
- func (m *QueueElement) GetRecord() *execution.Record
- func (m *QueueElement) GetType() isQueueElement_Type
- func (*QueueElement) ProtoMessage()
- func (m *QueueElement) Reset()
- func (m *QueueElement) String() string
- func (m *QueueElement) XXX_DiscardUnknown()
- func (m *QueueElement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *QueueElement) XXX_Merge(src proto.Message)
- func (*QueueElement) XXX_OneofWrappers() []interface{}
- func (m *QueueElement) XXX_Size() int
- func (m *QueueElement) XXX_Unmarshal(b []byte) error
- type QueueElement_EndOfStream
- type QueueElement_Error
- type QueueElement_Record
- type RecordStream
- func (rs *RecordStream) Close(ctx context.Context, storage storage.Storage) error
- func (rs *RecordStream) Next(ctx context.Context) (*execution.Record, error)
- func (rs *RecordStream) RunWorker(ctx context.Context) error
- func (rs *RecordStream) RunWorkerInternal(ctx context.Context, tx storage.StateTransaction) error
Constants ¶
const ( DefaultKeys resultType = iota True False )
Variables ¶
This section is empty.
Functions ¶
func NewDataSourceBuilderFactory ¶
func NewDataSourceBuilderFactory(dbKey string) physical.DataSourceBuilderFactory
NewDataSourceBuilderFactory creates a new datasource builder factory for a redis database. dbKey is the name for hard-coded key alias used in future formulas for redis queries
func NewDataSourceBuilderFactoryFromConfig ¶
func NewDataSourceBuilderFactoryFromConfig(dbConfig map[string]interface{}) (physical.DataSourceBuilderFactory, error)
NewDataSourceBuilderFactoryFromConfig creates a data source builder factory using the configuration.
Types ¶
type And ¶
type And struct {
// contains filtered or unexported fields
}
Just like logical operator, the form is like: (formula1 AND formula2) getAllKeys returns intersection of 2 key sets
func NewAnd ¶
func NewAnd(left, right KeyFormula) *And
type Constant ¶
type Constant struct {
// contains filtered or unexported fields
}
Just as with logical constant getAllKeys returns empty map for 'false' (so that AND have empty intersection and doesn't have any impact on OR's union) for 'true' it also returns empty map (no effect on OR), but we need a type condition in AND struct
func NewConstant ¶
type DataSource ¶
type DataSource struct {
// contains filtered or unexported fields
}
func (*DataSource) Get ¶
func (ds *DataSource) Get(ctx context.Context, variables octosql.Variables, streamID *execution.StreamID) (execution.RecordStream, *execution.ExecutionOutput, error)
type Equal ¶
type Equal struct {
// contains filtered or unexported fields
}
The equivalent form is: ("key" = child), where "key" is alias for extracted key from redis database getAllKeys returns expression value of 'child' (only if it's of string type - the only acceptable in redis)
func NewEqual ¶
func NewEqual(child execution.Expression) *Equal
type In ¶
type In struct {
// contains filtered or unexported fields
}
func NewIn ¶
func NewIn(child execution.Expression) *In
type KeyFormula ¶
type KeyFormula interface {
// contains filtered or unexported methods
}
Formula build from physical.Formula, so that it accepts formulas for redis database Also, getAllKeys returns all keys, that will be subject of HGetAll
func NewKeyFormula ¶
func NewKeyFormula(formula physical.Formula, key, alias string, matCtx *physical.MaterializationContext) (KeyFormula, error)
type Or ¶
type Or struct {
// contains filtered or unexported fields
}
Just like logical operator, the form is like: (formula1 OR formula2) getAllKeys returns union of 2 key sets
func NewOr ¶
func NewOr(left, right KeyFormula) *Or
type QueueElement ¶
type QueueElement struct { // Types that are valid to be assigned to Type: // *QueueElement_Record // *QueueElement_EndOfStream // *QueueElement_Error Type isQueueElement_Type `protobuf_oneof:"type"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*QueueElement) Descriptor ¶
func (*QueueElement) Descriptor() ([]byte, []int)
func (*QueueElement) GetEndOfStream ¶
func (m *QueueElement) GetEndOfStream() bool
func (*QueueElement) GetError ¶
func (m *QueueElement) GetError() string
func (*QueueElement) GetRecord ¶
func (m *QueueElement) GetRecord() *execution.Record
func (*QueueElement) GetType ¶
func (m *QueueElement) GetType() isQueueElement_Type
func (*QueueElement) ProtoMessage ¶
func (*QueueElement) ProtoMessage()
func (*QueueElement) Reset ¶
func (m *QueueElement) Reset()
func (*QueueElement) String ¶
func (m *QueueElement) String() string
func (*QueueElement) XXX_DiscardUnknown ¶
func (m *QueueElement) XXX_DiscardUnknown()
func (*QueueElement) XXX_Marshal ¶
func (m *QueueElement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*QueueElement) XXX_Merge ¶
func (m *QueueElement) XXX_Merge(src proto.Message)
func (*QueueElement) XXX_OneofWrappers ¶
func (*QueueElement) XXX_OneofWrappers() []interface{}
XXX_OneofWrappers is for the internal use of the proto package.
func (*QueueElement) XXX_Size ¶
func (m *QueueElement) XXX_Size() int
func (*QueueElement) XXX_Unmarshal ¶
func (m *QueueElement) XXX_Unmarshal(b []byte) error
type QueueElement_EndOfStream ¶
type QueueElement_EndOfStream struct {
EndOfStream bool `protobuf:"varint,2,opt,name=endOfStream,proto3,oneof"`
}
type QueueElement_Error ¶
type QueueElement_Error struct {
Error string `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
}
type QueueElement_Record ¶
type RecordStream ¶
type RecordStream struct {
// contains filtered or unexported fields
}
func (*RecordStream) RunWorkerInternal ¶
func (rs *RecordStream) RunWorkerInternal(ctx context.Context, tx storage.StateTransaction) error