meta

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2024 License: Apache-2.0, MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultRetentionPolicyReplicaN is the default value of RetentionPolicyInfo.ReplicaN.
	DefaultRetentionPolicyReplicaN = 1

	// DefaultRetentionPolicyDuration is the default value of RetentionPolicyInfo.Duration.
	DefaultRetentionPolicyDuration = time.Duration(0)

	// DefaultRetentionPolicyWarmDuration is the default value of RetentionPolicyInfo.WarmDuration.
	DefaultRetentionPolicyWarmDuration = time.Duration(0)

	// DefaultRetentionPolicyName is the default name for auto generated retention policies.
	DefaultRetentionPolicyName = "autogen"

	// MinRetentionPolicyDuration represents the minimum duration for a policy.
	MinRetentionPolicyDuration = time.Hour

	// MinRetentionPolicyWarmDuration represents the minimum warm duration for a policy.
	MinRetentionPolicyWarmDuration = time.Hour

	// QueryIDSpan is the default id range span.
	QueryIDSpan = 100000000 // 100 million
)
View Source
const (
	HASH  = "hash"
	RANGE = "range"

	DATANODE = "data"
	METANODE = "meta"
)
View Source
const (
	NodeDefault string = "" // prioritize as writer. If no reader in cluster, NodeDeafult is both a writer and a reader.
	NodeReader  string = "reader"
	NodeWriter  string = "writer"
)
View Source
const (
	Normal uint64 = iota
	Segregating
	Segregated
)

Variables

View Source
var (
	// ErrStoreOpen is returned when opening an already open store.
	ErrStoreOpen = errors.New("store already open")

	// ErrStoreClosed is returned when closing an already closed store.
	ErrStoreClosed = errors.New("raft store already closed")

	ErrClientInited = errors.New("aready inited")

	ErrClientClosed = errors.New("client already closed")

	ErrConflictWithIo = errors.New("conflict with io")

	ErrDBPTClose = errors.New("DBPT is being closing")
)
View Source
var (
	// ErrNodeExists is returned when creating an already existing node.
	ErrNodeExists = errors.New("node already exists")

	// ErrNodeNotFound is returned when mutating a node that doesn't exist.
	ErrNodeNotFound = errors.New("node not found")

	// ErrNodesRequired is returned when at least one node is required for an operation.
	// This occurs when creating a shard group.
	ErrNodesRequired = errors.New("at least one node required")

	// ErrNodeIDRequired is returned when using a zero node id.
	ErrNodeIDRequired = errors.New("node id must be greater than 0")

	// ErrDatabaseExists is returned when creating an already existing database.
	ErrDatabaseExists = errors.New("database already exists")

	// ErrDatabaseNotExists is returned when operating on a not existing database.
	ErrDatabaseNotExists = errors.New("database does not exist")

	// ErrDatabaseNameRequired is returned when creating a database without a name.
	ErrDatabaseNameRequired = errors.New("database name required")

	// ErrInvalidName is returned when attempting to create a database or retention policy with an invalid name
	ErrInvalidName = errors.New("invalid name")

	// ErrNodeUnableToDropFinalNode is returned if the node being dropped is the last
	// node in the cluster
	ErrNodeUnableToDropFinalNode = errors.New("unable to drop the final node in a cluster")

	ErrInvalidPtView     = errors.New("invalid ptView number")
	ErrDataViewBootStrap = errors.New("cluster is bootstrapping for initial data view")
	ErrDuplicateShardKey = errors.New("duplicate shard key")
	ErrInvalidShardKey   = errors.New("invalid shard key")
)
View Source
var (
	// ErrRetentionPolicyExists is returned when creating an already existing policy.
	ErrRetentionPolicyExists = errors.New("retention policy already exists")

	ErrRetentionPolicyIsBeingDelete = errors.New("retention policy is being delete")

	// ErrRetentionPolicyDefault is returned when attempting a prohibited operation
	// on a default retention policy.
	ErrRetentionPolicyDefault = errors.New("retention policy is default")

	// ErrRetentionPolicyRequired is returned when a retention policy is required
	// by an operation, but a nil policy was passed.
	ErrRetentionPolicyRequired = errors.New("retention policy required")

	// ErrRetentionPolicyNameRequired is returned when creating a policy without a name.
	ErrRetentionPolicyNameRequired = errors.New("retention policy name required")

	ErrMeasurementNameRequired = errors.New("measurement name required")

	ErrShardKeyRequired = errors.New("shard key required")

	ErrMeasurementExists = errors.New("measurement already exists")

	ErrMeasurementIsBeingDelete = errors.New("measurement is being delete")

	// ErrRetentionPolicyNameExists is returned when renaming a policy to
	// the same name as another existing policy.
	ErrRetentionPolicyNameExists = errors.New("retention policy name already exists")

	// ErrRetentionPolicyDurationTooLow is returned when updating a retention
	// policy that has a duration lower than the allowed minimum.
	ErrRetentionPolicyDurationTooLow = fmt.Errorf("retention policy duration must be at least %s", MinRetentionPolicyDuration)

	// ErrRetentionPolicyConflict is returned when creating a retention policy conflicts
	// with an existing policy.
	ErrRetentionPolicyConflict = errors.New("retention policy conflicts with an existing policy")

	ErrReplicaNConflict = errors.New("retention policy replicaN conflicts with database replicaN")

	// ErrIncompatibleDurations is returned when creating or updating a
	// retention policy that has a duration lower than the current shard
	// duration.
	ErrIncompatibleDurations = errors.New("retention policy duration must be greater than the shard duration")

	// ErrReplicationFactorTooLow is returned when the replication factor is not in an
	// acceptable range.
	ErrReplicationFactorTooLow = errors.New("replication factor must be greater than 0")

	ErrIncompatibleHotDurations = errors.New("retention policy hot duration must be greater than the shard duration and lower than the duration")
	// ErrIncompatibleWarmDurations is returned when creating or updating a
	// retention policy that has a warm duration lower than the current shard duration
	// or greater than the current duration.
	ErrIncompatibleWarmDurations = errors.New("retention policy warm duration must be greater than the shard duration and lower than the duration")

	ErrIncompatibleIndexGroupDuration = errors.New("retention policy index group duration must be greater than the shard duration and lower than the duration")

	// ErrIncompatibleShardGroupDurations is returned when creating or updating a
	// retention policy that has a warm duration not equal n * shard duration
	ErrIncompatibleShardGroupDurations = errors.New("retention policy hot duration/warm duration/index duration should be equal n * shard duration and n>=1")
)
View Source
var (
	// ErrShardGroupExists is returned when creating an already existing shard group.
	ErrShardGroupExists = errors.New("shard group already exists")

	// ErrShardGroupNotFound is returned when mutating a shard group that doesn't exist.
	ErrShardGroupNotFound = errors.New("shard group not found")

	// ErrShardNotReplicated is returned if the node requested to be dropped has
	// the last copy of a shard present and the force keyword was not used
	ErrShardNotReplicated = errors.New("shard not replicated")

	ErrIndexGroupNotFound = errors.New("index group not found")

	ErrMeasurementNotFound = errno.NewError(errno.ErrMeasurementNotFound)

	ErrMeasurementsNotFound = errno.NewError(errno.ErrMeasurementsNotFound)
)
View Source
var (
	// ErrContinuousQueryExists is returned when creating an already existing continuous query.
	ErrContinuousQueryExists = errors.New("continuous query already exists")

	// ErrContinuousQueryNotFound is returned when removing/finding a continuous query that doesn't exist.
	ErrContinuousQueryNotFound = errors.New("continuous query not found")

	// ErrContinuousQueryIsBeingDelete is returned when removing/finding a continuous query that is marked as deleted.
	ErrContinuousQueryIsBeingDelete = errors.New("continuous query is being delete")

	// ErrSameContinuousQueryName is returned when creating an already existing continuous query name.
	ErrSameContinuousQueryName = errors.New("continuous query name already exists")

	// ErrContinuosQueryConflict is returned when creating an already existing continuous query.
	ErrContinuosQueryConflict = errors.New("continuous query conflicts with an existing continuous query")
)
View Source
var (
	// ErrSubscriptionExists is returned when creating an already existing subscription.
	ErrSubscriptionExists = errors.New("subscription already exists")

	// ErrSubscriptionNotFound is returned when removing a subscription that doesn't exist.
	ErrSubscriptionNotFound = errors.New("subscription not found")
)
View Source
var (
	// ErrUserExists is returned when creating an already existing GetUser.
	ErrUserExists = errors.New("user already exists")

	// ErrUserNotFound is returned when mutating a GetUser that doesn't exist.
	ErrUserNotFound = errors.New("user not found")

	// ErrUserLocked is returned when a user that is locked.
	ErrUserLocked = errors.New("user is locked")

	// ErrUserForbidden is returned when create the second admin user.
	ErrUserForbidden = errors.New("admin user is existed, forbidden to create new admin user")

	// ErrGrantAdmin is to forbidden grant or revoke privileges
	ErrGrantOrRevokeAdmin = errors.New("forbidden to grant or revoke privileges, because only one admin is allowed for the database")

	// ErrUserDropSelf is returned when delete the only admin
	ErrUserDropSelf = errors.New("forbidden to delete admin user")

	// ErrPwdUsed is returned when use an old password
	ErrPwdUsed = errors.New("the password is the same as the old one, please enter a new password")

	// ErrHashedLength is returned when hashed length err.
	ErrHashedLength         = errors.New("hashedSecret too short to be a hashed password")
	ErrMismatchedHashAndPwd = errors.New("hashedPassword is not the hash of the given password")
	ErrUnsupportedVer       = errors.New("do not support the hash version")

	// ErrUsernameRequired is returned when creating a GetUser without a username.
	ErrUsernameRequired = errors.New("username required")

	// ErrAuthenticate is returned when authentication fails.
	ErrAuthenticate = errors.New("authentication failed")

	ErrFieldTypeConflict = errors.New("field type conflict")

	ErrUnsupportCommand = errors.New("unsupported command")

	ErrCommandTimeout = errors.New("execute command timeout")

	ErrStorageNodeNotReady = errors.New("storage node has not open")
)
View Source
var DataLogger *zap.Logger
View Source
var DownSampleSupportAgg = map[string]bool{"first": true, "last": true, "min": true, "max": true, "sum": true, "count": true, "mean": true}

Functions

func DecodeIndexOption

func DecodeIndexOption(pb *proto2.IndexOption) *influxql.IndexOption

func DecodeIndexRelation

func DecodeIndexRelation(pb *proto2.IndexRelation) *influxql.IndexRelation

func EncodeIndexOption

func EncodeIndexOption(o *influxql.IndexOption) *proto2.IndexOption

func EncodeIndexRelation

func EncodeIndexRelation(indexR *influxql.IndexRelation) *proto2.IndexRelation

func ErrInvalidSubscriptionURL

func ErrInvalidSubscriptionURL(url string) error

ErrInvalidSubscriptionURL is returned when the subscription's destination URL is invalid.

func ErrInvalidTierType

func ErrInvalidTierType(tier, minTier, maxTier uint64) error

func ErrRetentionPolicyNotFound

func ErrRetentionPolicyNotFound(name string) error

ErrRetentionPolicyNotFound indicates that the named retention policy could not be found in the database.

func ErrShardGroupAlreadyReSharding

func ErrShardGroupAlreadyReSharding(id uint64) error

func ErrShardingTypeNotEqual

func ErrShardingTypeNotEqual(rp, existType, inputType string) error

func GetDuration

func GetDuration(d *int64) *time.Duration

func GetInt64Duration

func GetInt64Duration(duration *time.Duration) *int64

func GetNodeDBPts

func GetNodeDBPts(pi DBPtInfos, nodeId uint64) []uint32

func HashID

func HashID(key []byte) uint64

func IsNodeReader

func IsNodeReader(role string) bool

func IsNodeWriter

func IsNodeWriter(role string) bool

func LoadDurationOrDefault

func LoadDurationOrDefault(duration *time.Duration, existDuration *time.Duration) *time.Duration

func MarshalObsOptions

func MarshalObsOptions(cro *obs.ObsOptions) *proto2.ObsOptions

func MarshalTime

func MarshalTime(t time.Time) int64

MarshalTime converts t to nanoseconds since epoch. A zero time returns 0.

func NewSchemaInfo

func NewSchemaInfo(tags, fields map[string]int32) []*proto2.FieldSchema

func StringToTier

func StringToTier(tier string) uint64

func TierToString

func TierToString(tier uint64) string

func TransSplitChar

func TransSplitChar(splitChar string) string

func UnmarshalObsOptions

func UnmarshalObsOptions(pb *proto2.ObsOptions) *obs.ObsOptions

func UnmarshalTime

func UnmarshalTime(v int64) time.Time

UnmarshalTime converts nanoseconds since epoch to time. A zero value returns a zero time.

func ValidMeasurementName

func ValidMeasurementName(name string) bool

func ValidName

func ValidName(name string) bool

ValidName checks to see if the given name can would be valid for DB/RP name

func ValidShardKey

func ValidShardKey(shardKeys []string) error

Types

type CardinalityInfo

type CardinalityInfo struct {
	TimeRange   TimeRangeInfo
	Cardinality uint64
}

type CardinalityInfos

type CardinalityInfos []CardinalityInfo

func (*CardinalityInfos) Len

func (cis *CardinalityInfos) Len() int

Len implements sort.Interface.

func (*CardinalityInfos) Less

func (cis *CardinalityInfos) Less(i, j int) bool

Less implements sort.Interface.

func (*CardinalityInfos) SortAndMerge

func (cis *CardinalityInfos) SortAndMerge()

func (*CardinalityInfos) Swap

func (cis *CardinalityInfos) Swap(i, j int)

Swap implements sort.Interface.

type CardinalityResponse

type CardinalityResponse struct {
	CardinalityInfos []MeasurementCardinalityInfo
	Err              error
}

func (*CardinalityResponse) Error

func (r *CardinalityResponse) Error() error

func (*CardinalityResponse) MarshalBinary

func (r *CardinalityResponse) MarshalBinary() ([]byte, error)

func (*CardinalityResponse) UnmarshalBinary

func (r *CardinalityResponse) UnmarshalBinary(buf []byte) error

type ColStoreInfo

type ColStoreInfo struct {
	PrimaryKey          []string
	SortKey             []string
	PropertyKey         []string
	PropertyValue       []string
	TimeClusterDuration time.Duration
	CompactionType      config.CompactionType
}

func NewColStoreInfo

func NewColStoreInfo(PrimaryKey []string, SortKey []string, Property [][]string, Duration time.Duration,
	CompactType string) *ColStoreInfo

func (*ColStoreInfo) IsBlockCompact

func (h *ColStoreInfo) IsBlockCompact() bool

func (*ColStoreInfo) Marshal

func (h *ColStoreInfo) Marshal() *proto2.ColStoreInfo

func (*ColStoreInfo) Unmarshal

func (h *ColStoreInfo) Unmarshal(pb *proto2.ColStoreInfo)

type ContinuousQueryInfo

type ContinuousQueryInfo struct {
	// Name of the continuous query to be created.
	Name string

	// String corresponding to continuous query statement
	Query string

	// Last successful run time
	LastRunTime time.Time
}

ContinuousQueryInfo represents metadata about a continuous query.

func (ContinuousQueryInfo) Clone

Clone returns a deep copy of cqi.

func (*ContinuousQueryInfo) Marshal

Marshal serializes to a protobuf representation.

func (*ContinuousQueryInfo) UpdateContinuousQueryStat

func (cqi *ContinuousQueryInfo) UpdateContinuousQueryStat(lastRun int64)

type DBPtInfos

type DBPtInfos []PtInfo

type Data

type Data struct {
	Term         uint64 // associated raft term
	Index        uint64 // associated raft index
	ClusterID    uint64
	ClusterPtNum uint32 // default number is the total cpu number of 16 nodes.
	PtNumPerNode uint32

	MetaNodes     []NodeInfo
	DataNodes     []DataNode                // data nodes
	PtView        map[string]DBPtInfos      // PtView's key is dbname, value is PtInfo's slice.
	ReplicaGroups map[string][]ReplicaGroup // key is dbname, value is the replication group of the database

	Databases     map[string]*DatabaseInfo
	Streams       map[string]*StreamInfo
	Users         []UserInfo
	MigrateEvents map[string]*MigrateEventInfo

	// Query ID range segment allocated by all sql nodes
	QueryIDInit map[SQLHost]uint64 // {"127.0.0.1:8086": 0, "127.0.0.2:8086": 10w, "127.0.0.3:8086": 20w}, span is QueryIDSpan

	// adminUserExists provides a constant time mechanism for determining
	// if there is at least one admin GetUser.
	AdminUserExists    bool
	TakeOverEnabled    bool // set by syscontrol command
	BalancerEnabled    bool
	ExpandShardsEnable bool // set by config (not persistence)

	MaxNodeID         uint64
	MaxShardGroupID   uint64
	MaxShardID        uint64
	MaxIndexGroupID   uint64
	MaxIndexID        uint64
	MaxEventOpId      uint64
	MaxDownSampleID   uint64
	MaxStreamID       uint64
	MaxConnID         uint64
	MaxSubscriptionID uint64 // +1 for any changes to subscriptions
	MaxCQChangeID     uint64 // +1 for any changes to continuous queries
}

Data represents the top level collection of all metadata.

func (*Data) AdminUserExist

func (data *Data) AdminUserExist() bool

AdminUserExist returns true if an admin GetUser exists.

func (*Data) AlterShardKey

func (data *Data) AlterShardKey(database string, rpName string, mst string, shardKey *proto2.ShardKeyInfo) error

func (*Data) BatchUpdateContinuousQueryStat

func (data *Data) BatchUpdateContinuousQueryStat(cqStates []*proto2.CQState) error

func (*Data) CheckCanCreateDatabase

func (data *Data) CheckCanCreateDatabase(name string) error

func (*Data) CheckCanCreateRetentionPolicy

func (data *Data) CheckCanCreateRetentionPolicy(dbi *DatabaseInfo, rpi *RetentionPolicyInfo, makeDefault bool) error

func (*Data) CheckCanMoveDb

func (data *Data) CheckCanMoveDb(db string) error

func (*Data) CheckDataNodeAlive

func (data *Data) CheckDataNodeAlive(nodeId uint64) error

func (*Data) CheckStreamExistInDatabase

func (data *Data) CheckStreamExistInDatabase(database string) error

func (*Data) CheckStreamExistInMst

func (data *Data) CheckStreamExistInMst(database, rp, mst string) error

func (*Data) CheckStreamExistInRetention

func (data *Data) CheckStreamExistInRetention(database, rp string) error

func (*Data) Clone

func (data *Data) Clone() *Data

Clone returns a copy of data with a new version.

func (*Data) CloneDBPtView

func (data *Data) CloneDBPtView() map[string]DBPtInfos

CloneDatabases returns a copy of the DatabaseInfo.

func (*Data) CloneDataNodes

func (data *Data) CloneDataNodes() []DataNode

CloneDataNodes returns a copy of the NodeInfo.

func (*Data) CloneDatabases

func (data *Data) CloneDatabases() map[string]*DatabaseInfo

CloneDatabases returns a copy of the DatabaseInfo.

func (*Data) CloneMetaNodes

func (data *Data) CloneMetaNodes() []NodeInfo

CloneMetaNodes returns a copy of the NodeInfo.

func (*Data) CloneMigrateEvents

func (data *Data) CloneMigrateEvents() map[string]*MigrateEventInfo

func (*Data) CloneQueryIDInit

func (data *Data) CloneQueryIDInit() map[SQLHost]uint64

func (*Data) CloneStreams

func (data *Data) CloneStreams() map[string]*StreamInfo

func (*Data) CloneUsers

func (data *Data) CloneUsers() []UserInfo

CloneUsers returns a copy of the GetUser infos.

func (*Data) ClusterChangeState

func (data *Data) ClusterChangeState(nodeID uint64, newState serf.MemberStatus) bool

Change data node state and Data nodes view version.

func (*Data) CreateContinuousQuery

func (data *Data) CreateContinuousQuery(dbName, cqName, cqQuery string) error

func (*Data) CreateDBPtView

func (data *Data) CreateDBPtView(name string) error

func (*Data) CreateDataNode

func (data *Data) CreateDataNode(host, tcpHost, role string) (error, uint64)

CreateDataNode adds a node to the metadata.

func (*Data) CreateDatabase

func (data *Data) CreateDatabase(dbName string, rpi *RetentionPolicyInfo, shardKey *proto2.ShardKeyInfo, enableTagArray bool, replicaN uint32,
	options *proto2.ObsOptions) error

CreateDatabase creates a new database. It returns an error if name is blank or if a database with the same name already exists.

func (*Data) CreateDownSamplePolicy

func (data *Data) CreateDownSamplePolicy(database, rpName string, info *DownSamplePolicyInfo) error

func (*Data) CreateIndexGroup

func (data *Data) CreateIndexGroup(rpi *RetentionPolicyInfo, timestamp time.Time, engineType config.EngineType, ptNum uint32) *IndexGroupInfo

func (*Data) CreateMeasurement

func (data *Data) CreateMeasurement(database string, rpName string, mst string,
	shardKey *proto2.ShardKeyInfo, indexR *proto2.IndexRelation, engineType config.EngineType,
	colStoreInfo *proto2.ColStoreInfo, schemaInfo []*proto2.FieldSchema, options *proto2.Options) error

func (*Data) CreateMetaNode

func (data *Data) CreateMetaNode(httpAddr, rpcAddr, tcpAddr string) error

CreateMetaNode will add a new meta node to the metastore

func (*Data) CreateMigrateEvent

func (data *Data) CreateMigrateEvent(e *proto2.MigrateEventInfo) error

func (*Data) CreateReplication

func (data *Data) CreateReplication(db string, replicaN uint32) error

func (*Data) CreateRetentionPolicy

func (data *Data) CreateRetentionPolicy(dbName string, rpi *RetentionPolicyInfo, makeDefault bool) error

func (*Data) CreateShardGroup

func (data *Data) CreateShardGroup(database, policy string, timestamp time.Time, tier uint64, engineType config.EngineType, version uint32) error

CreateShardGroup creates a shard group on a database and policy for a given timestamp.

func (*Data) CreateShardGroupWithBounds

func (data *Data) CreateShardGroupWithBounds(db string, rp *RetentionPolicyInfo, startTime time.Time, bounds []string, engineType config.EngineType) error

func (*Data) CreateStream

func (data *Data) CreateStream(info *StreamInfo) error

func (*Data) CreateSubscription

func (data *Data) CreateSubscription(database, rp, name, mode string, destinations []string) error

CreateSubscription adds a named subscription to a database and retention policy.

func (*Data) CreateUser

func (data *Data) CreateUser(name, hash string, admin, rwuser bool) error

CreateUser creates a new GetUser.

func (*Data) DBPtView

func (data *Data) DBPtView(name string) DBPtInfos

Database returns PtInfo by the database name.

func (*Data) DBRepGroups

func (data *Data) DBRepGroups(name string) []ReplicaGroup

func (*Data) DBReplicaN

func (data *Data) DBReplicaN(db string) int

func (*Data) DataNode

func (data *Data) DataNode(id uint64) *DataNode

DataNode returns a node by id.

func (*Data) DataNodeByHttpHost

func (data *Data) DataNodeByHttpHost(httpAddr string) *DataNode

func (*Data) DataNodeByIp

func (data *Data) DataNodeByIp(nodeIp string) *DataNode

DataNode returns a node by id.

func (*Data) DataNodeIDs

func (data *Data) DataNodeIDs() []int

func (*Data) Database

func (data *Data) Database(name string) *DatabaseInfo

func (*Data) DeleteDataNode

func (data *Data) DeleteDataNode(id uint64) error

func (*Data) DeleteIndexGroup

func (data *Data) DeleteIndexGroup(database, policy string, id uint64) error

func (*Data) DeleteMetaNode

func (data *Data) DeleteMetaNode(id uint64) error

DeleteMetaNode will remove the meta node from the store

func (*Data) DeleteShardGroup

func (data *Data) DeleteShardGroup(database, policy string, id uint64) error

DeleteShardGroup removes a shard group from a database and retention policy by id.

func (*Data) DropContinuousQuery

func (data *Data) DropContinuousQuery(cqName string, database string) (bool, error)

DropContinuousQuery drops one continuous query and notify ALL sql nodes that CQ has been changed.

func (*Data) DropDatabase

func (data *Data) DropDatabase(name string)

DropDatabase removes a database by name. It does not return an error if the database cannot be found.

func (*Data) DropDownSamplePolicy

func (data *Data) DropDownSamplePolicy(database, rpName string, dropAll bool)

func (*Data) DropMeasurement

func (data *Data) DropMeasurement(database, policy, nameWithVer string) error

func (*Data) DropRetentionPolicy

func (data *Data) DropRetentionPolicy(database, name string) error

DropRetentionPolicy removes a retention policy from a database by name.

func (*Data) DropShard

func (data *Data) DropShard(id uint64)

DropShard removes a shard by ID.

DropShard won't return an error if the shard can't be found, which allows the command to be re-run in the case that the meta store succeeds but a data node fails.

func (*Data) DropStream

func (data *Data) DropStream(name string) error

func (*Data) DropSubscription

func (data *Data) DropSubscription(database, rp, name string) error

DropSubscription removes a subscription.

func (*Data) DropUser

func (data *Data) DropUser(name string) error

DropUser removes an existing GetUser by name.

func (*Data) DurationInfos

func (data *Data) DurationInfos(dbPtIds map[string][]uint32) *ShardDurationResponse

func (*Data) ExpandGroups

func (data *Data) ExpandGroups()

func (*Data) GetAliveDataNodeNum

func (data *Data) GetAliveDataNodeNum() int

func (*Data) GetAliveWriteNode

func (data *Data) GetAliveWriteNode() []DataNode

func (*Data) GetAllNodeSegregateStatus

func (data *Data) GetAllNodeSegregateStatus() []uint64

func (*Data) GetClusterPtNum

func (data *Data) GetClusterPtNum() uint32

func (*Data) GetDBBriefInfo

func (data *Data) GetDBBriefInfo(name string) *DatabaseBriefInfo

func (*Data) GetDatabase

func (data *Data) GetDatabase(name string) (*DatabaseInfo, error)

func (*Data) GetDbPtOwners

func (data *Data) GetDbPtOwners(database string, ptIds []uint32) []uint64

func (*Data) GetEffectivePtNum

func (data *Data) GetEffectivePtNum(db string) uint32

func (*Data) GetFailedPtInfos

func (data *Data) GetFailedPtInfos(id uint64, status PtStatus) []*DbPtInfo

func (*Data) GetNodeIDs

func (data *Data) GetNodeIDs() []uint64

func (*Data) GetNodeIdsByNodeLst

func (data *Data) GetNodeIdsByNodeLst(nodeLst []string) ([]uint64, []string, error)

func (*Data) GetNodeIndex

func (data *Data) GetNodeIndex(nodeId uint64) (uint64, error)

func (*Data) GetNodeSegregateStatus

func (data *Data) GetNodeSegregateStatus(nodeIds []uint64) ([]uint64, error)

func (*Data) GetPtInfo

func (data *Data) GetPtInfo(name string, ptID uint32) *PtInfo

func (*Data) GetPtInfosByDbname

func (data *Data) GetPtInfosByDbname(name string, enableTagArray bool) ([]*DbPtInfo, error)

func (*Data) GetPtInfosByNodeId

func (data *Data) GetPtInfosByNodeId(id uint64) []*DbPtInfo

func (*Data) GetReplicaGroup

func (data *Data) GetReplicaGroup(db string, groupID uint32) *ReplicaGroup

func (*Data) GetSegregateStatusByNodeId

func (data *Data) GetSegregateStatusByNodeId(nodeId uint64) uint64

func (*Data) GetShardDurationsByDbPt

func (data *Data) GetShardDurationsByDbPt(db string, pt uint32) map[uint64]*ShardDurationInfo

func (*Data) GetTierOfShardGroup

func (data *Data) GetTierOfShardGroup(database, policy string, timestamp time.Time, defaultTier uint64, engineType config.EngineType) (*ShardGroupInfo, uint64, error)

func (*Data) GetUser

func (data *Data) GetUser(username string) *UserInfo

func (*Data) GetWriteNode

func (data *Data) GetWriteNode() []DataNode

func (*Data) GetWriteNodeNum

func (data *Data) GetWriteNodeNum() uint32

func (*Data) HasAdminUser

func (data *Data) HasAdminUser() bool

HasAdminUser exhaustively checks for the presence of at least one admin GetUser.

func (*Data) ImportData

func (data *Data) ImportData(other Data, backupDBName, restoreDBName, backupRPName, restoreRPName string) (map[uint64]uint64, []string, error)

ImportData imports selected data into the current metadata. if non-empty, backupDBName, restoreDBName, backupRPName, restoreRPName can be used to select DB metadata from other, and to assign a new name to the imported data. Returns a map of shard ID's in the old metadata to new shard ID's in the new metadata, along with a list of new databases created, both of which can assist in the import of existing shard data during a database restore.

func (*Data) MarkBalancer

func (data *Data) MarkBalancer(enable bool)

func (*Data) MarkDatabaseDelete

func (data *Data) MarkDatabaseDelete(name string) error

func (*Data) MarkMeasurementDelete

func (data *Data) MarkMeasurementDelete(database, policy, measurement string) error

func (*Data) MarkRetentionPolicyDelete

func (data *Data) MarkRetentionPolicyDelete(database, name string) error

func (*Data) MarkTakeover

func (data *Data) MarkTakeover(enable bool)

func (*Data) Marshal

func (data *Data) Marshal() *proto2.Data

Marshal serializes data to a protobuf representation.

func (*Data) MarshalBinary

func (data *Data) MarshalBinary() ([]byte, error)

MarshalBinary encodes the metadata to a binary format.

func (*Data) MarshalBinaryUser

func (data *Data) MarshalBinaryUser() ([]byte, error)

MarshalBinary encodes the metadata to a binary format.

func (*Data) MarshalUsers

func (data *Data) MarshalUsers() *proto2.Data

Marshal serializes data to a protobuf representation.

func (*Data) Measurement

func (data *Data) Measurement(database, retentionPolicy, mst string) (*MeasurementInfo, error)

func (*Data) Measurements

func (data *Data) Measurements(database, retentionPolicy string) (*MeasurementsInfo, error)

func (*Data) NewestShardGroup

func (data *Data) NewestShardGroup(database, retentionPolicy string) (sg *ShardGroupInfo)

func (*Data) PruneGroups

func (data *Data) PruneGroups(shardGroup bool, id uint64) error

func (*Data) ReSharding

func (data *Data) ReSharding(info *ReShardingInfo) error

func (*Data) RegisterQueryIDOffset

func (data *Data) RegisterQueryIDOffset(host SQLHost) error

RegisterQueryIDOffset register the mapping relationship between its host and query id offset for ts-sql

func (*Data) RemoveEventInfo

func (data *Data) RemoveEventInfo(eventId string) error

func (*Data) RemoveNode

func (data *Data) RemoveNode(nodeIds []uint64)

func (*Data) RetentionPolicy

func (data *Data) RetentionPolicy(database, name string) (*RetentionPolicyInfo, error)

RetentionPolicy returns a retention policy for a database by name.

func (*Data) SetAdminPrivilege

func (data *Data) SetAdminPrivilege(name string, admin bool) error

SetAdminPrivilege sets the admin privilege for a GetUser.

func (*Data) SetClusterPtNum

func (data *Data) SetClusterPtNum(ptNum uint32)

func (*Data) SetDataNode

func (data *Data) SetDataNode(nodeID uint64, host, tcpHost string) error

setDataNode adds a data node with a pre-specified nodeID. this should only be used when the cluster is upgrading from 0.9 to 0.10

func (*Data) SetDatabase

func (data *Data) SetDatabase(dbi *DatabaseInfo) error

func (*Data) SetDefaultRetentionPolicy

func (data *Data) SetDefaultRetentionPolicy(database, name string) error

SetDefaultRetentionPolicy sets the default retention policy for a database.

func (*Data) SetMetaNode

func (data *Data) SetMetaNode(httpAddr, rpcAddr, tcpAddr string) error

SetMetaNode will update the information for the single meta node or create a new metanode. If there are more than 1 meta nodes already, an error will be returned

func (*Data) SetPrivilege

func (data *Data) SetPrivilege(name, database string, p originql.Privilege) error

SetPrivilege sets a privilege for a GetUser on a database.

func (*Data) SetRetentionPolicy

func (data *Data) SetRetentionPolicy(dbi *DatabaseInfo, rpi *RetentionPolicyInfo, makeDefault bool)

func (*Data) SetSegregateNodeStatus

func (data *Data) SetSegregateNodeStatus(status []uint64, nodeIds []uint64)

func (*Data) SetStream

func (data *Data) SetStream(info *StreamInfo) error

func (*Data) ShardGroupByTimestampAndEngineType

func (data *Data) ShardGroupByTimestampAndEngineType(database, policy string, timestamp time.Time, engineType config.EngineType) (*ShardGroupInfo, error)

ShardGroupByTimestampAndEngineType returns the shard group on a database and policy for a given timestamp and engine type.

func (*Data) ShardGroups

func (data *Data) ShardGroups(database, policy string) ([]ShardGroupInfo, error)

ShardGroups returns a list of all shard groups on a database and retention policy.

func (*Data) ShardGroupsByTimeRange

func (data *Data) ShardGroupsByTimeRange(database, policy string, tmin, tmax time.Time) ([]ShardGroupInfo, error)

ShardGroupsByTimeRange returns a list of all shard groups on a database and policy that may contain data for the specified time range. Shard groups are sorted by start time.

func (*Data) ShowCluster

func (data *Data) ShowCluster() models.Rows

func (*Data) ShowClusterWithCondition

func (data *Data) ShowClusterWithCondition(nodeType string, ID uint64) (models.Rows, error)

func (*Data) ShowContinuousQueries

func (data *Data) ShowContinuousQueries() (models.Rows, error)

ShowContinuousQueries shows all continuous queries group by db.

func (*Data) ShowDownSamplePolicies

func (data *Data) ShowDownSamplePolicies(database string) (models.Rows, error)

func (*Data) ShowRetentionPolicies

func (data *Data) ShowRetentionPolicies(database string) (models.Rows, error)

func (*Data) ShowShardGroups

func (data *Data) ShowShardGroups() models.Rows

func (*Data) ShowShards

func (data *Data) ShowShards() models.Rows

func (*Data) ShowStreams

func (data *Data) ShowStreams(database string, showAll bool) (models.Rows, error)

func (*Data) ShowSubscriptions

func (data *Data) ShowSubscriptions() models.Rows

func (*Data) Unmarshal

func (data *Data) Unmarshal(pb *proto2.Data)

unmarshal deserializes from a protobuf representation.

func (*Data) UnmarshalBinary

func (data *Data) UnmarshalBinary(buf []byte) error

UnmarshalBinary decodes the object from a binary format.

func (*Data) UpdateMeasurement

func (data *Data) UpdateMeasurement(db, rp, mst string, options *proto2.Options) error

func (*Data) UpdateMigrateEvent

func (data *Data) UpdateMigrateEvent(e *proto2.MigrateEventInfo) error

func (*Data) UpdateNodeStatus

func (data *Data) UpdateNodeStatus(id uint64, status int32, lTime uint64, gossipPort string) error

func (*Data) UpdatePtInfo

func (data *Data) UpdatePtInfo(db string, info *proto2.PtInfo, ownerId uint64, status uint32) error

func (*Data) UpdatePtVersion

func (data *Data) UpdatePtVersion(db string, ptId uint32) error

func (*Data) UpdateReplication

func (data *Data) UpdateReplication(database string, rgId, masterId uint32, peers []*proto2.Peer, status uint32) error

func (*Data) UpdateRetentionPolicy

func (data *Data) UpdateRetentionPolicy(database, name string, rpu *RetentionPolicyUpdate, makeDefault bool) error

UpdateRetentionPolicy updates an existing retention policy.

func (*Data) UpdateSchema

func (data *Data) UpdateSchema(database string, retentionPolicy string, mst string, fieldToCreate []*proto2.FieldSchema) error

func (*Data) UpdateShardDownSampleInfo

func (data *Data) UpdateShardDownSampleInfo(ident *ShardIdentifier) error

func (*Data) UpdateShardInfoTier

func (data *Data) UpdateShardInfoTier(shardID uint64, shardTier uint64, dbName, rpName string) error

func (*Data) UpdateUser

func (data *Data) UpdateUser(name, hash string) error

UpdateUser updates the password hash of an existing GetUser.

func (*Data) User

func (data *Data) User(username string) User

User returns a GetUser by username.

func (*Data) UserPrivilege

func (data *Data) UserPrivilege(name, database string) (*originql.Privilege, error)

UserPrivilege gets the privilege for a GetUser on a database.

func (*Data) UserPrivileges

func (data *Data) UserPrivileges(name string) (map[string]originql.Privilege, error)

UserPrivileges gets the privileges for a GetUser.

func (*Data) WalkDataNodes

func (data *Data) WalkDataNodes(fn func(node *DataNode))

func (*Data) WalkDatabases

func (data *Data) WalkDatabases(fn func(db *DatabaseInfo))

func (*Data) WalkDatabasesOrderly

func (data *Data) WalkDatabasesOrderly(fn func(db *DatabaseInfo))

func (*Data) WalkMetaNodes

func (data *Data) WalkMetaNodes(fn func(node *NodeInfo))

type DataNode

type DataNode struct {
	NodeInfo
	ConnID      uint64 // after joined raft cluster. ConnID will +1 when restart
	AliveConnID uint64 // after joined gossip cluster, AliveConnID will set by ConnID
}

func (*DataNode) MarshalBinary

func (n *DataNode) MarshalBinary() ([]byte, error)

func (*DataNode) UnmarshalBinary

func (n *DataNode) UnmarshalBinary(buf []byte) error

type DataNodeInfos

type DataNodeInfos []DataNode

NodeInfos is a slice of NodeInfo used for sorting

func (DataNodeInfos) Len

func (n DataNodeInfos) Len() int

Len implements sort.Interface.

func (DataNodeInfos) Less

func (n DataNodeInfos) Less(i, j int) bool

Less implements sort.Interface.

func (DataNodeInfos) Swap

func (n DataNodeInfos) Swap(i, j int)

Swap implements sort.Interface.

type DatabaseBriefInfo

type DatabaseBriefInfo struct {
	Name           string
	EnableTagArray bool
}

func (*DatabaseBriefInfo) Marshal

func (di *DatabaseBriefInfo) Marshal() ([]byte, error)

type DatabaseInfo

type DatabaseInfo struct {
	Name                   string
	DefaultRetentionPolicy string
	RetentionPolicies      map[string]*RetentionPolicyInfo
	MarkDeleted            bool
	ShardKey               ShardKeyInfo
	EnableTagArray         bool
	ReplicaN               int
	ContinuousQueries      map[string]*ContinuousQueryInfo // {"cqName": *ContinuousQueryInfo}
	Options                *obs.ObsOptions
}

DatabaseInfo represents information about a database in the system.

func NewDatabase

func NewDatabase(name string) *DatabaseInfo

func (*DatabaseInfo) GetRetentionPolicy

func (di *DatabaseInfo) GetRetentionPolicy(name string) (*RetentionPolicyInfo, error)

func (*DatabaseInfo) RetentionPolicy

func (di *DatabaseInfo) RetentionPolicy(name string) *RetentionPolicyInfo

RetentionPolicy returns a retention policy by name.

func (DatabaseInfo) ShardInfos

func (di DatabaseInfo) ShardInfos() []ShardInfo

ShardInfos returns a list of all shards' info for the database.

func (*DatabaseInfo) WalkContinuousQuery

func (di *DatabaseInfo) WalkContinuousQuery(fn func(cq *ContinuousQueryInfo))

func (*DatabaseInfo) WalkRetentionPolicy

func (di *DatabaseInfo) WalkRetentionPolicy(fn func(rp *RetentionPolicyInfo))

func (*DatabaseInfo) WalkRetentionPolicyOrderly

func (di *DatabaseInfo) WalkRetentionPolicyOrderly(fn func(rp *RetentionPolicyInfo))

type DbPtInfo

type DbPtInfo struct {
	Db          string
	Pti         *PtInfo
	Shards      map[uint64]*ShardDurationInfo
	DBBriefInfo *DatabaseBriefInfo
}

func (*DbPtInfo) Marshal

func (pt *DbPtInfo) Marshal() *proto2.DbPt

func (*DbPtInfo) String

func (pt *DbPtInfo) String() string

func (*DbPtInfo) Unmarshal

func (pt *DbPtInfo) Unmarshal(pb *proto2.DbPt)

type DownSampleOperators

type DownSampleOperators struct {
	AggOps   []string
	DataType int64
}

func NewDownSampleOperators

func NewDownSampleOperators(c *influxql.Call) (*DownSampleOperators, error)

func (*DownSampleOperators) Equal

func (*DownSampleOperators) RewriteOp

func (d *DownSampleOperators) RewriteOp() []string

func (*DownSampleOperators) String

func (d *DownSampleOperators) String() string

type DownSamplePoliciesInfoWithDbRp

type DownSamplePoliciesInfoWithDbRp struct {
	Infos []*DownSamplePolicyInfoWithDbRp
}

func (*DownSamplePoliciesInfoWithDbRp) Marshal

func (*DownSamplePoliciesInfoWithDbRp) MarshalBinary

func (d *DownSamplePoliciesInfoWithDbRp) MarshalBinary() ([]byte, error)

func (*DownSamplePoliciesInfoWithDbRp) Unmarshal

func (*DownSamplePoliciesInfoWithDbRp) UnmarshalBinary

func (d *DownSamplePoliciesInfoWithDbRp) UnmarshalBinary(buf []byte) error

type DownSamplePolicy

type DownSamplePolicy struct {
	SampleInterval time.Duration
	TimeInterval   time.Duration
	WaterMark      time.Duration
}

func NewDownSamplePolicy

func NewDownSamplePolicy(sampleInterval time.Duration, timeInterval time.Duration) *DownSamplePolicy

func (*DownSamplePolicy) Equal

func (d *DownSamplePolicy) Equal(dp *DownSamplePolicy) bool

type DownSamplePolicyInfo

type DownSamplePolicyInfo struct {
	TaskID             uint64
	Calls              []*DownSampleOperators
	DownSamplePolicies []*DownSamplePolicy
	Duration           time.Duration
}

func NewDownSamplePolicyInfo

func NewDownSamplePolicyInfo(Ops influxql.Fields, duration time.Duration, sampleIntervals []time.Duration, timeIntervals []time.Duration,
	waterMarks []time.Duration, rpi *RetentionPolicyInfo) (*DownSamplePolicyInfo, error)

func (*DownSamplePolicyInfo) Calls2String

func (d *DownSamplePolicyInfo) Calls2String() string

func (*DownSamplePolicyInfo) Check

func (*DownSamplePolicyInfo) Equal

func (d *DownSamplePolicyInfo) Equal(info *DownSamplePolicyInfo, checkID bool) bool

func (*DownSamplePolicyInfo) GetCalls

func (d *DownSamplePolicyInfo) GetCalls() map[int64][]string

func (*DownSamplePolicyInfo) GetTypes

func (d *DownSamplePolicyInfo) GetTypes() []int64

func (*DownSamplePolicyInfo) IsNil

func (d *DownSamplePolicyInfo) IsNil() bool

func (*DownSamplePolicyInfo) Marshal

func (*DownSamplePolicyInfo) MarshalBinary

func (d *DownSamplePolicyInfo) MarshalBinary() ([]byte, error)

func (*DownSamplePolicyInfo) SampleInterval2String

func (d *DownSamplePolicyInfo) SampleInterval2String() string

func (*DownSamplePolicyInfo) TimeInterval2String

func (d *DownSamplePolicyInfo) TimeInterval2String() string

func (*DownSamplePolicyInfo) Unmarshal

func (*DownSamplePolicyInfo) UnmarshalBinary

func (d *DownSamplePolicyInfo) UnmarshalBinary(buf []byte) error

func (*DownSamplePolicyInfo) WaterMark2String

func (d *DownSamplePolicyInfo) WaterMark2String() string

type DownSamplePolicyInfoWithDbRp

type DownSamplePolicyInfoWithDbRp struct {
	Info   *DownSamplePolicyInfo
	DbName string
	RpName string
}

func (*DownSamplePolicyInfoWithDbRp) Marshal

func (*DownSamplePolicyInfoWithDbRp) Unmarshal

type DurationDescriptor

type DurationDescriptor struct {
	Tier         uint64
	TierDuration time.Duration
	Duration     time.Duration
}

type ErrAuthorize

type ErrAuthorize struct {
	Query    *influxql.Query
	User     string
	Database string
	Message  string
}

ErrAuthorize represents an authorization error.

func (ErrAuthorize) Error

func (e ErrAuthorize) Error() string

Error returns the text of the error.

type IndexDescriptor

type IndexDescriptor struct {
	IndexID      uint64
	IndexGroupID uint64
	TimeRange    TimeRangeInfo
}

type IndexGroupInfo

type IndexGroupInfo struct {
	ID         uint64
	StartTime  time.Time
	EndTime    time.Time
	Indexes    []IndexInfo
	DeletedAt  time.Time
	EngineType config.EngineType
}

func (*IndexGroupInfo) Contains

func (igi *IndexGroupInfo) Contains(t time.Time) bool

func (*IndexGroupInfo) Deleted

func (igi *IndexGroupInfo) Deleted() bool

func (*IndexGroupInfo) Overlaps

func (igi *IndexGroupInfo) Overlaps(min, max time.Time) bool

type IndexGroupInfos

type IndexGroupInfos []IndexGroupInfo

func (IndexGroupInfos) Len

func (igs IndexGroupInfos) Len() int

func (IndexGroupInfos) Less

func (igs IndexGroupInfos) Less(i, j int) bool

func (IndexGroupInfos) Swap

func (igs IndexGroupInfos) Swap(i, j int)

type IndexIdentifier

type IndexIdentifier struct {
	Index   *IndexDescriptor
	OwnerDb string
	OwnerPt uint32
	Policy  string
}

type IndexInfo

type IndexInfo struct {
	ID         uint64
	Owners     []uint32 // pt group for replications.
	MarkDelete bool
}

func (*IndexInfo) UnmarshalBinary

func (ii *IndexInfo) UnmarshalBinary(buf []byte) error

UnmarshalBinary decodes the object from a binary format.

type MeasurementCardinalityInfo

type MeasurementCardinalityInfo struct {
	Name             string
	CardinalityInfos []CardinalityInfo
}

type MeasurementFieldsInfo

type MeasurementFieldsInfo struct {
	MstName    string
	TypeFields []*MeasurementTypeFields
}

func (*MeasurementFieldsInfo) Marshal

func (*MeasurementFieldsInfo) Unmarshal

type MeasurementInfo

type MeasurementInfo struct {
	Name string // measurement name with version

	ShardKeys     []ShardKeyInfo
	Schema        map[string]int32
	IndexRelation influxql.IndexRelation
	ColStoreInfo  *ColStoreInfo
	MarkDeleted   bool
	EngineType    config.EngineType
	Options       *Options
	ObsOptions    *obs.ObsOptions // assign DatabaseInfo's ObsOptions to it when obatining MeasurementInfo
	// contains filtered or unexported fields
}

func NewMeasurementInfo

func NewMeasurementInfo(nameWithVer string) *MeasurementInfo

func (*MeasurementInfo) CompatibleForLogkeeper

func (msti *MeasurementInfo) CompatibleForLogkeeper()

only useful in the logkeeper products

func (*MeasurementInfo) CompatibleForLogkeeperColstore

func (msti *MeasurementInfo) CompatibleForLogkeeperColstore()

func (*MeasurementInfo) CompatibleForLogkeeperRowstore

func (msti *MeasurementInfo) CompatibleForLogkeeperRowstore()

func (*MeasurementInfo) ContainIndexRelation

func (msti *MeasurementInfo) ContainIndexRelation(ID uint64) bool

func (MeasurementInfo) FieldKeys

func (msti MeasurementInfo) FieldKeys(ret map[string]map[string]int32)

func (*MeasurementInfo) FindMstInfos

func (msti *MeasurementInfo) FindMstInfos(dataTypes []int64) []*MeasurementTypeFields

func (*MeasurementInfo) GetIndexRelation

func (msti *MeasurementInfo) GetIndexRelation() influxql.IndexRelation

func (*MeasurementInfo) GetShardKey

func (msti *MeasurementInfo) GetShardKey(ID uint64) *ShardKeyInfo

func (*MeasurementInfo) IsBlockCompact

func (msti *MeasurementInfo) IsBlockCompact() bool

func (*MeasurementInfo) IsDetachedWrite

func (msti *MeasurementInfo) IsDetachedWrite() bool

func (*MeasurementInfo) IsTimeSorted

func (msti *MeasurementInfo) IsTimeSorted() bool

func (*MeasurementInfo) MarshalBinary

func (msti *MeasurementInfo) MarshalBinary() ([]byte, error)

func (MeasurementInfo) MatchTagKeys

func (msti MeasurementInfo) MatchTagKeys(cond influxql.Expr, ret map[string]map[string]struct{})

func (*MeasurementInfo) OriginName

func (msti *MeasurementInfo) OriginName() string

func (*MeasurementInfo) SetoriginName

func (msti *MeasurementInfo) SetoriginName(originName string)

func (*MeasurementInfo) TagKeysTotal

func (msti *MeasurementInfo) TagKeysTotal() int

func (*MeasurementInfo) UnmarshalBinary

func (msti *MeasurementInfo) UnmarshalBinary(buf []byte) error

type MeasurementTypeFields

type MeasurementTypeFields struct {
	Type   int64
	Fields []string
}

type MeasurementVer

type MeasurementVer struct {
	NameWithVersion string
	Version         uint32
}

type MeasurementsInfo

type MeasurementsInfo struct {
	MstsInfo []*MeasurementInfo
}

func (*MeasurementsInfo) MarshalBinary

func (mstsi *MeasurementsInfo) MarshalBinary() ([]byte, error)

func (*MeasurementsInfo) UnmarshalBinary

func (mstsi *MeasurementsInfo) UnmarshalBinary(buf []byte) error

type MigrateEventInfo

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

func NewMigrateEventInfo

func NewMigrateEventInfo(eventId string, eventType int, pt *DbPtInfo, dest uint64, aliveConnId uint64) *MigrateEventInfo

func (*MigrateEventInfo) Clone

func (m *MigrateEventInfo) Clone() *MigrateEventInfo

func (*MigrateEventInfo) GetAliveConnId

func (m *MigrateEventInfo) GetAliveConnId() uint64

func (*MigrateEventInfo) GetCurrentState

func (m *MigrateEventInfo) GetCurrentState() int

func (*MigrateEventInfo) GetDst

func (m *MigrateEventInfo) GetDst() uint64

func (*MigrateEventInfo) GetEventType

func (m *MigrateEventInfo) GetEventType() int

func (*MigrateEventInfo) GetOpId

func (m *MigrateEventInfo) GetOpId() uint64

func (*MigrateEventInfo) GetPreState

func (m *MigrateEventInfo) GetPreState() int

func (*MigrateEventInfo) GetPtInfo

func (m *MigrateEventInfo) GetPtInfo() *DbPtInfo

func (*MigrateEventInfo) GetSrc

func (m *MigrateEventInfo) GetSrc() uint64

func (*MigrateEventInfo) SetCurrentState

func (m *MigrateEventInfo) SetCurrentState(state int)

func (*MigrateEventInfo) SetDest

func (m *MigrateEventInfo) SetDest(dst uint64)

func (*MigrateEventInfo) SetPreState

func (m *MigrateEventInfo) SetPreState(state int)

func (*MigrateEventInfo) SetSrc

func (m *MigrateEventInfo) SetSrc(src uint64)

type NodeInfo

type NodeInfo struct {
	ID              uint64
	Host            string
	RPCAddr         string
	TCPHost         string
	Status          serf.MemberStatus
	LTime           uint64
	GossipAddr      string
	SegregateStatus uint64
	Role            string
}

NodeInfo represents information about a single node in the cluster.

type NodeInfos

type NodeInfos []NodeInfo

NodeInfos is a slice of NodeInfo used for sorting

func (NodeInfos) Len

func (n NodeInfos) Len() int

Len implements sort.Interface.

func (NodeInfos) Less

func (n NodeInfos) Less(i, j int) bool

Less implements sort.Interface.

func (NodeInfos) Swap

func (n NodeInfos) Swap(i, j int)

Swap implements sort.Interface.

type NodeStartInfo

type NodeStartInfo struct {
	DataIndex          uint64
	NodeId             uint64
	PtIds              []uint32
	ShardDurationInfos map[uint64]*ShardDurationInfo
	DBBriefInfo        map[string]*DatabaseBriefInfo
	LTime              uint64
	ConnId             uint64
}

func (NodeStartInfo) MarshalBinary

func (nsi NodeStartInfo) MarshalBinary() ([]byte, error)

func (*NodeStartInfo) UnMarshalBinary

func (nsi *NodeStartInfo) UnMarshalBinary(buf []byte) error

type NodeStatus

type NodeStatus int64
const (
	StatusNone NodeStatus = iota
	StatusAlive
	StatusFailed
	StatusRestart

	StatusLeaving
	StatusLeft
)

type Options

type Options struct {
	CaseInSensitive bool   `json:"case_insensitive"`
	AppendMeta      bool   `json:"append_meta"`
	WriteThreshold  int    `json:"write_threshold"`
	ReadThreshold   int    `json:"read_threshold"`
	StorageCapacity int    `json:"storage_capacity"`
	SplitChar       string `json:"split_char"`
	TagsSplit       string `json:"tag_split_char"`
	Ttl             int64  `json:"ttl"`
}

func (*Options) GetSplitChar

func (mo *Options) GetSplitChar() string

func (*Options) GetTagSplitChar

func (mo *Options) GetTagSplitChar() string

func (*Options) InitDefault

func (mo *Options) InitDefault()

func (*Options) Marshal

func (mo *Options) Marshal() *proto2.Options

func (*Options) Unmarshal

func (mo *Options) Unmarshal(pb *proto2.Options)

type Peer

type Peer struct {
	ID     uint32 // pt id
	PtRole Role
}

type PtInfo

type PtInfo struct {
	Owner  PtOwner
	Status PtStatus
	PtId   uint32
	Ver    uint64
	RGID   uint32
}

func (*PtInfo) Marshal

func (pi *PtInfo) Marshal() *proto2.PtInfo

type PtOwner

type PtOwner struct {
	NodeID uint64
}

type PtStatus

type PtStatus uint32
const (
	Online PtStatus = iota
	PrepareOffload
	PrepareAssign
	Offline
	RollbackPrepareOffload
	RollbackPrepareAssign
	Disabled
)

type RGStatus

type RGStatus uint8
const (
	Health    RGStatus = iota // write request return success only if the write to all peers in replica group is successful
	SubHealth                 // write request return success if the write to master is successful
)

type ReShardingInfo

type ReShardingInfo struct {
	Database     string
	Rp           string
	ShardGroupID uint64
	SplitTime    int64
	Bounds       []string
}

type ReplicaGroup

type ReplicaGroup struct {
	ID         uint32
	MasterPtID uint32
	Peers      []Peer // the other member in this replica group
	Status     RGStatus
	Term       uint64 // term of master, if master changed term changed
}

func (*ReplicaGroup) GetPtRole

func (rg *ReplicaGroup) GetPtRole(ptID uint32) Role

func (*ReplicaGroup) IsMasterPt

func (rg *ReplicaGroup) IsMasterPt(ptID uint32) bool

type RetentionPolicyInfo

type RetentionPolicyInfo struct {
	Name               string
	ReplicaN           int
	Duration           time.Duration
	ShardGroupDuration time.Duration
	HotDuration        time.Duration
	WarmDuration       time.Duration
	IndexGroupDuration time.Duration
	IndexGroups        []IndexGroupInfo
	Measurements       map[string]*MeasurementInfo // {"cpu_0001": *MeasurementInfo}
	MstVersions        map[string]MeasurementVer   // {"cpu": {"cpu_0001", 1}}

	ShardGroups          []ShardGroupInfo
	Subscriptions        []SubscriptionInfo
	DownSamplePolicyInfo *DownSamplePolicyInfo
	MarkDeleted          bool
}

RetentionPolicyInfo represents metadata about a retention policy.

func DefaultRetentionPolicyInfo

func DefaultRetentionPolicyInfo() *RetentionPolicyInfo

DefaultRetentionPolicyInfo returns a new instance of RetentionPolicyInfo with default name, replication, and duration.

func NewRetentionPolicyInfo

func NewRetentionPolicyInfo(name string) *RetentionPolicyInfo

NewRetentionPolicyInfo returns a new instance of RetentionPolicyInfo with default replication and duration.

func (*RetentionPolicyInfo) Apply

Apply applies a specification to the retention policy info.

func (*RetentionPolicyInfo) CheckSpecValid

func (rpi *RetentionPolicyInfo) CheckSpecValid() error

func (RetentionPolicyInfo) Clone

Clone returns a deep copy of rpi.

func (*RetentionPolicyInfo) DeletedShardGroups

func (rpi *RetentionPolicyInfo) DeletedShardGroups() []*ShardGroupInfo

DeletedShardGroups returns the Shard Groups which are marked as deleted.

func (*RetentionPolicyInfo) EachMeasurements

func (rpi *RetentionPolicyInfo) EachMeasurements(fn func(m *MeasurementInfo))

func (*RetentionPolicyInfo) EqualsAnotherRp

func (rpi *RetentionPolicyInfo) EqualsAnotherRp(other *RetentionPolicyInfo) bool

func (*RetentionPolicyInfo) ExpiredShardGroups

func (rpi *RetentionPolicyInfo) ExpiredShardGroups(t time.Time) []*ShardGroupInfo

ExpiredShardGroups returns the Shard Groups which are considered expired, for the given time.

func (*RetentionPolicyInfo) GetMeasurement

func (rpi *RetentionPolicyInfo) GetMeasurement(name string) (*MeasurementInfo, error)

func (*RetentionPolicyInfo) HasDownSamplePolicy

func (rpi *RetentionPolicyInfo) HasDownSamplePolicy() bool

func (*RetentionPolicyInfo) Marshal

Marshal serializes to a protobuf representation.

func (*RetentionPolicyInfo) MarshalBinary

func (rpi *RetentionPolicyInfo) MarshalBinary() ([]byte, error)

MarshalBinary encodes rpi to a binary format.

func (*RetentionPolicyInfo) MatchMeasurements

func (rpi *RetentionPolicyInfo) MatchMeasurements(ms influxql.Measurements, ret map[string]*MeasurementInfo)

func (*RetentionPolicyInfo) Measurement

func (rpi *RetentionPolicyInfo) Measurement(name string) *MeasurementInfo

func (*RetentionPolicyInfo) ShardGroupByTimestampAndEngineType

func (rpi *RetentionPolicyInfo) ShardGroupByTimestampAndEngineType(timestamp time.Time, engineType config.EngineType) *ShardGroupInfo

ShardGroupByTimestampAndEngineType returns the shard group in the policy that contains the timestamp, or nil if no shard group matches.

func (*RetentionPolicyInfo) ShardGroupsByTimeRange

func (rpi *RetentionPolicyInfo) ShardGroupsByTimeRange(tmin, tmax time.Time) []*ShardGroupInfo

func (*RetentionPolicyInfo) TierDuration

func (rpi *RetentionPolicyInfo) TierDuration(tier uint64) time.Duration

func (*RetentionPolicyInfo) TimeRangeInfo

func (rpi *RetentionPolicyInfo) TimeRangeInfo(shardID uint64) *ShardTimeRangeInfo

func (*RetentionPolicyInfo) UnmarshalBinary

func (rpi *RetentionPolicyInfo) UnmarshalBinary(data []byte) error

UnmarshalBinary decodes rpi from a binary format.

func (*RetentionPolicyInfo) WalkShardGroups

func (rpi *RetentionPolicyInfo) WalkShardGroups(fn func(sg *ShardGroupInfo))

type RetentionPolicySpec

type RetentionPolicySpec struct {
	Name               string
	ReplicaN           *int
	Duration           *time.Duration
	ShardGroupDuration time.Duration
	HotDuration        *time.Duration
	WarmDuration       *time.Duration
	IndexGroupDuration time.Duration
}

RetentionPolicySpec represents the specification for a new retention policy.

func (*RetentionPolicySpec) MarshalBinary

func (s *RetentionPolicySpec) MarshalBinary() ([]byte, error)

MarshalBinary encodes RetentionPolicySpec to a binary format.

func (*RetentionPolicySpec) Matches

func (s *RetentionPolicySpec) Matches(rpi *RetentionPolicyInfo) bool

Matches checks if this retention policy specification matches an existing retention policy.

func (*RetentionPolicySpec) NewRetentionPolicyInfo

func (s *RetentionPolicySpec) NewRetentionPolicyInfo() *RetentionPolicyInfo

NewRetentionPolicyInfo creates a new retention policy info from the specification.

func (*RetentionPolicySpec) UnmarshalBinary

func (s *RetentionPolicySpec) UnmarshalBinary(data []byte) error

UnmarshalBinary decodes RetentionPolicySpec from a binary format.

type RetentionPolicyUpdate

type RetentionPolicyUpdate struct {
	Name               *string
	Duration           *time.Duration
	ReplicaN           *int
	ShardGroupDuration *time.Duration
	HotDuration        *time.Duration
	WarmDuration       *time.Duration
	IndexGroupDuration *time.Duration
}

RetentionPolicyUpdate represents retention policy fields to be updated.

func (*RetentionPolicyUpdate) SetDuration

func (rpu *RetentionPolicyUpdate) SetDuration(v time.Duration)

SetDuration sets the RetentionPolicyUpdate.Duration.

func (*RetentionPolicyUpdate) SetName

func (rpu *RetentionPolicyUpdate) SetName(v string)

SetName sets the RetentionPolicyUpdate.Name.

func (*RetentionPolicyUpdate) SetReplicaN

func (rpu *RetentionPolicyUpdate) SetReplicaN(v int)

SetReplicaN sets the RetentionPolicyUpdate.ReplicaN.

func (*RetentionPolicyUpdate) SetShardGroupDuration

func (rpu *RetentionPolicyUpdate) SetShardGroupDuration(v time.Duration)

SetShardGroupDuration sets the RetentionPolicyUpdate.ShardGroupDuration.

func (*RetentionPolicyUpdate) SetWarmDuration

func (rpu *RetentionPolicyUpdate) SetWarmDuration(v time.Duration)

SetWarmDuration sets the RetentionPolicyUpdate.WarmDuration.

type Role

type Role uint8
const (
	Master Role = iota
	Slave
	Catcher // salve restart and need catch up with master, pt in this role can not read or write
)

type RpMeasurementsFieldsInfo

type RpMeasurementsFieldsInfo struct {
	MeasurementInfos []*MeasurementFieldsInfo
}

func (*RpMeasurementsFieldsInfo) Marshal

func (*RpMeasurementsFieldsInfo) MarshalBinary

func (r *RpMeasurementsFieldsInfo) MarshalBinary() ([]byte, error)

func (*RpMeasurementsFieldsInfo) Unmarshal

func (*RpMeasurementsFieldsInfo) UnmarshalBinary

func (r *RpMeasurementsFieldsInfo) UnmarshalBinary(buf []byte) error

type SQLHost

type SQLHost string

type ShardDownSamplePolicyInfo

type ShardDownSamplePolicyInfo struct {
	DbName                string
	RpName                string
	ShardId               uint64
	PtId                  uint32
	TaskID                uint64
	DownSamplePolicyLevel int
	Ident                 *ShardIdentifier
}

type ShardDownSampleUpdateInfo

type ShardDownSampleUpdateInfo struct {
	Ident         *ShardIdentifier
	DownSampleLvl int
}

func NewShardDownSampleUpdateInfo

func NewShardDownSampleUpdateInfo(ident *ShardIdentifier, downSampleLvl int) *ShardDownSampleUpdateInfo

type ShardDownSampleUpdateInfos

type ShardDownSampleUpdateInfos struct {
	Infos []*ShardDownSampleUpdateInfo
}

func (*ShardDownSampleUpdateInfos) Marshal

func (*ShardDownSampleUpdateInfos) MarshalBinary

func (s *ShardDownSampleUpdateInfos) MarshalBinary() ([]byte, error)

func (*ShardDownSampleUpdateInfos) Unmarshal

func (*ShardDownSampleUpdateInfos) UnmarshalBinary

func (s *ShardDownSampleUpdateInfos) UnmarshalBinary(buf []byte) error

type ShardDurationInfo

type ShardDurationInfo struct {
	Ident        ShardIdentifier
	DurationInfo DurationDescriptor
}

func (*ShardDurationInfo) MarshalBinary

func (d *ShardDurationInfo) MarshalBinary() ([]byte, error)

func (*ShardDurationInfo) UnmarshalBinary

func (d *ShardDurationInfo) UnmarshalBinary(buf []byte) error

type ShardDurationResponse

type ShardDurationResponse struct {
	DataIndex uint64
	Durations []ShardDurationInfo
}

func (*ShardDurationResponse) MarshalBinary

func (r *ShardDurationResponse) MarshalBinary() ([]byte, error)

func (*ShardDurationResponse) UnmarshalBinary

func (r *ShardDurationResponse) UnmarshalBinary(buf []byte) error

type ShardGroupInfo

type ShardGroupInfo struct {
	ID          uint64
	StartTime   time.Time
	EndTime     time.Time
	DeletedAt   time.Time
	Shards      []ShardInfo
	TruncatedAt time.Time
	EngineType  config.EngineType
	Version     uint32
}

ShardGroupInfo represents metadata about a shard group. The DeletedAt field is important because it makes it clear that a ShardGroup has been marked as deleted, and allow the system to be sure that a ShardGroup is not simply missing. If the DeletedAt is set, the system can safely delete any associated shards.

func (*ShardGroupInfo) Contains

func (sgi *ShardGroupInfo) Contains(t time.Time) bool

Contains returns true iif StartTime <= t < EndTime.

func (*ShardGroupInfo) Deleted

func (sgi *ShardGroupInfo) Deleted() bool

Deleted returns whether this ShardGroup has been deleted.

func (*ShardGroupInfo) DestShard

func (sgi *ShardGroupInfo) DestShard(shardKey string) *ShardInfo

func (ShardGroupInfo) EachShards

func (sgi ShardGroupInfo) EachShards(fn func(s *ShardInfo))

func (*ShardGroupInfo) Overlaps

func (sgi *ShardGroupInfo) Overlaps(min, max time.Time) bool

Overlaps returns whether the shard group contains data for the time range between min and max

func (*ShardGroupInfo) Shard

func (sgi *ShardGroupInfo) Shard(id uint64) *ShardInfo

func (*ShardGroupInfo) ShardFor

func (sgi *ShardGroupInfo) ShardFor(hash uint64, aliveShardIdxes []int) *ShardInfo

ShardFor returns the ShardInfo for a Point hash.

func (ShardGroupInfo) TargetShards

func (sgi ShardGroupInfo) TargetShards(mst *MeasurementInfo, ski *ShardKeyInfo, condition influxql.Expr, aliveShardIdxes []int) []ShardInfo

func (ShardGroupInfo) TargetShardsHintQuery

func (sgi ShardGroupInfo) TargetShardsHintQuery(mst *MeasurementInfo, ski *ShardKeyInfo, condition influxql.Expr, opt *query.SelectOptions, aliveShardIdxes []int) ([]ShardInfo, []byte)

func (*ShardGroupInfo) Truncated

func (sgi *ShardGroupInfo) Truncated() bool

Truncated returns true if this ShardGroup has been truncated (no new writes).

type ShardGroupInfos

type ShardGroupInfos []ShardGroupInfo

ShardGroupInfos implements sort.Interface on []ShardGroupInfo, based on the StartTime field.

func (ShardGroupInfos) Len

func (a ShardGroupInfos) Len() int

Len implements sort.Interface.

func (ShardGroupInfos) Less

func (a ShardGroupInfos) Less(i, j int) bool

Less implements sort.Interface.

func (ShardGroupInfos) Swap

func (a ShardGroupInfos) Swap(i, j int)

Swap implements sort.Interface.

type ShardIdentifier

type ShardIdentifier struct {
	ShardID         uint64
	ShardGroupID    uint64
	Policy          string
	OwnerDb         string
	OwnerPt         uint32
	ShardType       string
	DownSampleLevel int
	DownSampleID    uint64
	ReadOnly        bool
	EngineType      uint32
}

func (*ShardIdentifier) Marshal

func (i *ShardIdentifier) Marshal() *proto2.ShardIdentifier

func (*ShardIdentifier) Unmarshal

func (i *ShardIdentifier) Unmarshal(ident *proto2.ShardIdentifier)

type ShardInfo

type ShardInfo struct {
	ID              uint64
	Owners          []uint32 // pt group for replications.
	Min             string
	Max             string
	Tier            uint64
	IndexID         uint64
	DownSampleID    uint64
	DownSampleLevel int64
	ReadOnly        bool
	MarkDelete      bool
}

ShardInfo represents metadata about a shard.

func (ShardInfo) Contain

func (si ShardInfo) Contain(shardKey string) bool

func (ShardInfo) ContainPrefix

func (si ShardInfo) ContainPrefix(prefix string) bool

func (*ShardInfo) UnmarshalBinary

func (si *ShardInfo) UnmarshalBinary(buf []byte) error

UnmarshalBinary decodes the object from a binary format.

type ShardKeyInfo

type ShardKeyInfo struct {
	ShardKey   []string
	Type       string
	ShardGroup uint64
}

func (*ShardKeyInfo) EqualsToAnother

func (ski *ShardKeyInfo) EqualsToAnother(other *ShardKeyInfo) bool

func (*ShardKeyInfo) Marshal

func (ski *ShardKeyInfo) Marshal() *proto2.ShardKeyInfo

type ShardOwner

type ShardOwner struct {
	NodeID uint64
}

ShardOwner represents a node that owns a shard.

type ShardTimeRangeInfo

type ShardTimeRangeInfo struct {
	TimeRange     TimeRangeInfo
	OwnerIndex    IndexDescriptor
	ShardDuration *ShardDurationInfo
	ShardType     string
}

func (*ShardTimeRangeInfo) MarshalBinary

func (t *ShardTimeRangeInfo) MarshalBinary() ([]byte, error)

func (*ShardTimeRangeInfo) UnmarshalBinary

func (t *ShardTimeRangeInfo) UnmarshalBinary(buf []byte) error

type StoreDownSamplePolicy

type StoreDownSamplePolicy struct {
	Alive   bool
	Info    *DownSamplePolicyInfo
	Schemas [][]hybridqp.Catalog
}

type StreamCall

type StreamCall struct {
	Call  string
	Field string
	Alias string
}

func (StreamCall) Clone

func (c StreamCall) Clone() *StreamCall

func (*StreamCall) String

func (c *StreamCall) String() string

type StreamInfo

type StreamInfo struct {
	Name     string
	ID       uint64
	SrcMst   *StreamMeasurementInfo
	DesMst   *StreamMeasurementInfo
	Interval time.Duration
	Dims     []string
	Calls    []*StreamCall
	Delay    time.Duration
}

func NewStreamInfo

func NewStreamInfo(stmt *influxql.CreateStreamStatement, selectStmt *influxql.SelectStatement) *StreamInfo

func (*StreamInfo) CallsName

func (s *StreamInfo) CallsName() string

func (*StreamInfo) Dimensions

func (s *StreamInfo) Dimensions() string

func (*StreamInfo) Equal

func (s *StreamInfo) Equal(d *StreamInfo) bool

func (*StreamInfo) Marshal

func (s *StreamInfo) Marshal() *proto2.StreamInfo

func (*StreamInfo) Unmarshal

func (s *StreamInfo) Unmarshal(pb *proto2.StreamInfo)

type StreamInfos

type StreamInfos []*StreamInfo

type StreamMeasurementInfo

type StreamMeasurementInfo struct {
	Name            string
	Database        string
	RetentionPolicy string
}

func (StreamMeasurementInfo) Clone

func (*StreamMeasurementInfo) Equal

type SubscriptionInfo

type SubscriptionInfo struct {
	Name         string
	Mode         string
	Destinations []string
}

SubscriptionInfo holds the subscription information.

type TimeRangeInfo

type TimeRangeInfo struct {
	StartTime time.Time
	EndTime   time.Time
}

type User

type User interface {
	// AuthorizeDatabase indicates whether the given Privilege is authorized on the database with the given name.
	AuthorizeDatabase(p originql.Privilege, name string) bool

	// AuthorizeQuery returns an error if the query cannot be executed
	AuthorizeQuery(database string, query *influxql.Query) error

	query.FineAuthorizer
	ID() string
	AuthorizeUnrestricted() bool
}

type UserInfo

type UserInfo struct {
	// User's name.
	Name string

	// Hashed password.
	Hash string

	// Whether the GetUser is an admin, i.e. allowed to do everything.
	Admin bool

	//whether the GetUser is rwuser, rwuser just do not operation GetUser request. all DB operation can do
	Rwuser bool

	// Map of database name to granted privilege.
	Privileges map[string]originql.Privilege
}

UserInfo represents metadata about a GetUser in the system.

func (*UserInfo) AuthorizeDatabase

func (u *UserInfo) AuthorizeDatabase(privilege originql.Privilege, database string) bool

AuthorizeDatabase returns true if the GetUser is authorized for the given privilege on the given database.

func (*UserInfo) AuthorizeQuery

func (u *UserInfo) AuthorizeQuery(database string, query *influxql.Query) error

func (*UserInfo) AuthorizeQueryForRwUser

func (u *UserInfo) AuthorizeQueryForRwUser(database string, query *influxql.Query) error

rwusers can execute show users rwusers can create none sys users with partition privilege, whether provided with all privileges or not rwusers can not drop sys users and rwuser rwusers can set password for none sys users rwusers can grant [READ,WRITE,ALL] ON <db> TO <user> for none sys users rwusers can revoke [READ,WRITE,ALL] ON <db> TO <user> for none sys users rwusers can show grants for none sys users rwusers can not drop _internal

func (*UserInfo) AuthorizeSeriesRead

func (u *UserInfo) AuthorizeSeriesRead(database string, measurement []byte, tags models.Tags) bool

AuthorizeSeriesRead is used to limit access per-series (enterprise only)

func (*UserInfo) AuthorizeSeriesWrite

func (u *UserInfo) AuthorizeSeriesWrite(database string, measurement []byte, tags models.Tags) bool

AuthorizeSeriesWrite is used to limit access per-series (enterprise only)

func (*UserInfo) AuthorizeUnrestricted

func (u *UserInfo) AuthorizeUnrestricted() bool

AuthorizeUnrestricted allows admins to shortcut access checks.

func (*UserInfo) ID

func (u *UserInfo) ID() string

func (*UserInfo) IsOpen

func (u *UserInfo) IsOpen() bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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