storage

package
v2.0.3 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2020 License: MIT Imports: 22 Imported by: 0

Documentation

Overview

Package storage is a generated protocol buffer package.

It is generated from these files:

source.proto

It has these top-level messages:

ReadSource

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthSource = fmt.Errorf("proto: negative length found during unmarshalling")
	ErrIntOverflowSource   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrMissingReadSource = errors.New("missing ReadSource")
)

Functions

func HasFieldKeyOrValue

func HasFieldKeyOrValue(expr influxql.Expr) (bool, bool)

func HasSingleMeasurementNoOR

func HasSingleMeasurementNoOR(expr influxql.Expr) (string, bool)

HasSingleMeasurementNoOR determines if an index optimisation is available.

Typically the read service will use the query engine to retrieve all field keys for all measurements that match the expression, which can be very inefficient if it can be proved that only one measurement matches the expression.

This condition is determined when the following is true:

  • there is only one occurrence of the tag key `_measurement`.
  • there are no OR operators in the expression tree.
  • the operator for the `_measurement` binary expression is ==.

func NewContextWithReadOptions

func NewContextWithReadOptions(ctx context.Context, opts *ReadOptions) context.Context

NewContextWithRequestOptions returns a new Context with nodeID added.

func RewriteExprRemoveFieldKeyAndValue

func RewriteExprRemoveFieldKeyAndValue(expr influxql.Expr) influxql.Expr

Types

type MetaClient

type MetaClient interface {
	Database(name string) *meta.DatabaseInfo
	ShardGroupsByTimeRange(database, policy string, min, max time.Time) (a []meta.ShardGroupInfo, err error)
}

type ReadOptions

type ReadOptions struct {
	NodeID uint64
}

ReadOptions are additional options that may be passed with context.Context to configure the behavior of a storage read request.

func ReadOptionsFromContext

func ReadOptionsFromContext(ctx context.Context) *ReadOptions

ReadOptionsFromContext returns the ReadOptions associated with the context or nil if no additional options have been specified.

type ReadSource

type ReadSource struct {
	// Database identifies which database to query.
	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
	// RetentionPolicy identifies which retention policy to query.
	RetentionPolicy string `protobuf:"bytes,2,opt,name=retention_policy,json=retentionPolicy,proto3" json:"retention_policy,omitempty"`
}

func GetReadSource

func GetReadSource(any types.Any) (*ReadSource, error)

getReadSource will attempt to unmarshal a ReadSource from the ReadRequest or return an error if no valid resource is present.

func (*ReadSource) Descriptor

func (*ReadSource) Descriptor() ([]byte, []int)

func (*ReadSource) Marshal

func (m *ReadSource) Marshal() (dAtA []byte, err error)

func (*ReadSource) MarshalTo

func (m *ReadSource) MarshalTo(dAtA []byte) (int, error)

func (*ReadSource) ProtoMessage

func (*ReadSource) ProtoMessage()

func (*ReadSource) Reset

func (m *ReadSource) Reset()

func (*ReadSource) Size

func (m *ReadSource) Size() (n int)

func (*ReadSource) String

func (m *ReadSource) String() string

func (*ReadSource) Unmarshal

func (m *ReadSource) Unmarshal(dAtA []byte) error

type Store

type Store struct {
	TSDBStore  TSDBStore
	MetaClient MetaClient
	Logger     *zap.Logger
}

func NewStore

func NewStore(store TSDBStore, metaClient MetaClient) *Store

func (*Store) GetSource

func (s *Store) GetSource(orgID, bucketID uint64) proto.Message

func (*Store) MeasurementNames

func (s *Store) MeasurementNames(ctx context.Context, mqAttrs *metaqueryAttributes) (cursors.StringIterator, error)

func (*Store) ReadFilter

func (s *Store) ReadFilter(ctx context.Context, req *datatypes.ReadFilterRequest) (reads.ResultSet, error)

func (*Store) ReadGroup

func (*Store) TagKeys

func (*Store) TagValues

func (*Store) WindowAggregate

func (s *Store) WindowAggregate(ctx context.Context, req *datatypes.ReadWindowAggregateRequest) (reads.ResultSet, error)

func (*Store) WithLogger

func (s *Store) WithLogger(log *zap.Logger)

WithLogger sets the logger for the service.

type TSDBStore

type TSDBStore interface {
	MeasurementNames(auth query.Authorizer, database string, cond influxql.Expr) ([][]byte, error)
	ShardGroup(ids []uint64) tsdb.ShardGroup
	Shards(ids []uint64) []*tsdb.Shard
	TagKeys(auth query.Authorizer, shardIDs []uint64, cond influxql.Expr) ([]tsdb.TagKeys, error)
	TagValues(auth query.Authorizer, shardIDs []uint64, cond influxql.Expr) ([]tsdb.TagValues, error)
}

Jump to

Keyboard shortcuts

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