Documentation ¶
Index ¶
- Constants
- func NewError(text string, code int) error
- func RegisterBinding(name string, binding RawBinding)
- type BindingCapabilities
- type Completion
- type ConnectOptions
- type Error
- type FetchMore
- type FieldDef
- type GetReplicationStat
- type IndexDef
- type LoadBalancingAlgorithm
- type Logger
- type NamespaceDef
- type NullLogger
- type OptionAppName
- type OptionBuiltinAllocatorConfig
- type OptionBuiltinWithServer
- type OptionBuiltintCtxWatch
- type OptionCgoLimit
- type OptionCompression
- type OptionConnPoolLoadBalancing
- type OptionConnPoolSize
- type OptionConnect
- type OptionDedicatedThreads
- type OptionOpenTelemetry
- type OptionPrometheusMetrics
- type OptionReconnectionStrategy
- type OptionReindexerInstance
- type OptionRetryAttempts
- type OptionStrictJoinHandlers
- type OptionTimeouts
- type RawBinding
- type RawBindingChanging
- type RawBuffer
- type RawCompletion
- type ReplicationNodeStat
- type ReplicationStat
- type SchemaDef
- type Stats
- type Status
- type StatusBuiltin
- type StatusCProto
- type StatusCache
- type StorageOptions
- type StorageOpts
- type TxCtx
Constants ¶
const ( ANY = 0 EQ = 1 LT = 2 LE = 3 GT = 4 GE = 5 RANGE = 6 SET = 7 ALLSET = 8 EMPTY = 9 LIKE = 10 DWITHIN = 11 ERROR = 1 WARNING = 2 INFO = 3 TRACE = 4 AggSum = 0 AggAvg = 1 AggFacet = 2 AggMin = 3 AggMax = 4 AggDistinct = 5 AggCount = 6 AggCountCached = 7 CollateNone = 0 CollateASCII = 1 CollateUTF8 = 2 CollateNumeric = 3 CollateCustom = 4 )
public go consts from type_consts.h and reindexer_ctypes.h
const ( OpOr = 1 OpAnd = 2 OpNot = 3 ValueInt64 = 0 ValueDouble = 1 ValueString = 2 ValueBool = 3 ValueNull = 4 ValueInt = 8 ValueUndefined = 9 ValueComposite = 10 ValueTuple = 11 ValueUuid = 12 QueryCondition = 0 QueryDistinct = 1 QuerySortIndex = 2 QueryJoinOn = 3 QueryLimit = 4 QueryOffset = 5 QueryReqTotal = 6 QueryDebugLevel = 7 QueryAggregation = 8 QuerySelectFilter = 9 QuerySelectFunction = 10 QueryEnd = 11 QueryExplain = 12 QueryEqualPosition = 13 QueryUpdateField = 14 QueryAggregationLimit = 15 QueryAggregationOffset = 16 QueryAggregationSort = 17 QueryOpenBracket = 18 QueryCloseBracket = 19 QueryJoinCondition = 20 QueryDropField = 21 QueryUpdateObject = 22 QueryWithRank = 23 QueryStrictMode = 24 QueryUpdateFieldV2 = 25 QueryBetweenFieldsCondition = 26 QueryAlwaysFalseCondition = 27 QueryAlwaysTrueCondition = 28 QuerySubQueryCondition = 29 QueryFieldSubQueryCondition = 30 LeftJoin = 0 InnerJoin = 1 OrInnerJoin = 2 Merge = 3 CacheModeOn = 0 CacheModeAggressive = 1 CacheModeOff = 2 FormatJson = 0 FormatCJson = 1 ModeUpdate = 0 ModeInsert = 1 ModeUpsert = 2 ModeDelete = 3 ModeNoCalc = 0 ModeCachedTotal = 1 ModeAccurateTotal = 2 QueryResultEnd = 0 QueryResultAggregation = 1 QueryResultExplain = 2 QueryResultShardingVersion = 3 QueryResultShardId = 4 QueryResultIncarnationTags = 5 QueryStrictModeNotSet = 0 QueryStrictModeNone = 1 QueryStrictModeNames = 2 QueryStrictModeIndexes = 3 ResultsFormatMask = 0xF ResultsPure = 0x0 ResultsPtrs = 0x1 ResultsCJson = 0x2 ResultsJson = 0x3 ResultsWithPayloadTypes = 0x10 ResultsWithItemID = 0x20 ResultsWithPercents = 0x40 ResultsWithNsID = 0x80 ResultsWithJoined = 0x100 ResultsWithShardId = 0x800 ResultsSupportIdleTimeout = 0x2000 IndexOptPK = 1 << 7 IndexOptArray = 1 << 6 IndexOptDense = 1 << 5 IndexOptAppendable = 1 << 4 IndexOptSparse = 1 << 3 StorageOptEnabled = 1 StorageOptDropOnFileFormatError = 1 << 1 StorageOptCreateIfMissing = 1 << 2 ConnectOptOpenNamespaces = 1 ConnectOptAllowNamespaceErrors = 1 << 1 ConnectOptAutorepair = 1 << 2 ConnectOptWarnVersion = 1 << 4 BindingCapabilityQrIdleTimeouts = 1 BindingCapabilityResultsWithShardIDs = 1 << 1 BindingCapabilityNamespaceIncarnations = 1 << 2 ErrOK = 0 ErrParseSQL = 1 ErrQueryExec = 2 ErrParams = 3 ErrLogic = 4 ErrParseJson = 5 ErrParseDSL = 6 ErrConflict = 7 ErrParseBin = 8 ErrForbidden = 9 ErrWasRelock = 10 ErrNotValid = 11 ErrNetwork = 12 ErrNotFound = 13 ErrStateInvalidated = 14 ErrTimeout = 19 ErrCanceled = 20 ErrTagsMissmatch = 21 ErrReplParams = 22 ErrNamespaceInvalidated = 23 ErrParseMsgPack = 24 ErrParseProtobuf = 25 ErrUpdatesLost = 26 ErrWrongReplicationData = 27 ErrUpdateReplication = 28 ErrClusterConsensus = 29 ErrTerminated = 30 ErrTxDoesNotExist = 31 ErrAlreadyConnected = 32 ErrTxInvalidLeader = 33 ErrAlreadyProxied = 34 ErrStrictMode = 35 ErrQrUIDMissmatch = 36 ErrSystem = 37 ErrAssert = 38 )
private go consts from type_consts.h and reindexer_ctypes.h
const ( ReplicationTypeCluster = "cluster" ReplicationTypeAsync = "async_replication" )
const ( ShardingNotSet = -1 ShardingProxyOff = -2 NotSharded = -3 )
const ( StorageTypeLevelDB = 0 StorageTypeRocksDB = 1 )
const CInt32Max = int(^uint32(0) >> 1)
const ReindexerVersion = "v4.13.0"
Variables ¶
This section is empty.
Functions ¶
func RegisterBinding ¶
func RegisterBinding(name string, binding RawBinding)
Types ¶
type BindingCapabilities ¶
type BindingCapabilities struct {
Value int64
}
Capabilties of chosen binding. This value will affect some of the serverside functions and serialization logic
func DefaultBindingCapabilities ¶
func DefaultBindingCapabilities() *BindingCapabilities
func (*BindingCapabilities) WithIncarnationTags ¶ added in v4.13.0
func (bc *BindingCapabilities) WithIncarnationTags(value bool) *BindingCapabilities
Enable namespaces timestamps support
func (*BindingCapabilities) WithQrIdleTimeouts ¶
func (bc *BindingCapabilities) WithQrIdleTimeouts(value bool) *BindingCapabilities
Enable Query results idle timeouts support
func (*BindingCapabilities) WithResultsWithShardIDs ¶
func (bc *BindingCapabilities) WithResultsWithShardIDs(value bool) *BindingCapabilities
Enable shard IDs support
type Completion ¶
type Completion func(err error)
type ConnectOptions ¶
func DefaultConnectOptions ¶
func DefaultConnectOptions() *ConnectOptions
func (*ConnectOptions) AllowNamespaceErrors ¶
func (so *ConnectOptions) AllowNamespaceErrors(value bool) *ConnectOptions
func (*ConnectOptions) OpenNamespaces ¶
func (so *ConnectOptions) OpenNamespaces(value bool) *ConnectOptions
func (*ConnectOptions) StorageType ¶
func (so *ConnectOptions) StorageType(value uint16) *ConnectOptions
Choose storage type
type GetReplicationStat ¶
type GetReplicationStat interface {
GetReplicationStat(f func(ctx context.Context) (*ReplicationStat, error))
}
type IndexDef ¶
type IndexDef struct { Name string `json:"name"` JSONPaths []string `json:"json_paths"` IndexType string `json:"index_type"` FieldType string `json:"field_type"` IsPK bool `json:"is_pk"` IsArray bool `json:"is_array"` IsDense bool `json:"is_dense"` IsSparse bool `json:"is_sparse"` CollateMode string `json:"collate_mode"` SortOrder string `json:"sort_order_letters"` ExpireAfter int `json:"expire_after"` Config interface{} `json:"config"` RTreeType string `json:"rtree_type"` }
type LoadBalancingAlgorithm ¶ added in v4.11.0
type LoadBalancingAlgorithm int
const ( LBRoundRobin LoadBalancingAlgorithm = iota LBRandom LBPowerOfTwoChoices )
LBRoundRobin - choose connections in round-robin fashion. Used by default LBRandom - choose connections randomly LBPowerOfTwoChoices - choose connections using "Power of Two Choices" algorithm (https://www.nginx.com/blog/nginx-power-of-two-choices-load-balancing-algorithm/)
type NamespaceDef ¶
type NamespaceDef struct { Namespace string `json:"name"` StorageOpts StorageOpts `json:"storage"` }
type NullLogger ¶ added in v4.13.0
type NullLogger struct { }
func (NullLogger) Printf ¶ added in v4.13.0
func (NullLogger) Printf(level int, fmt string, msg ...interface{})
type OptionAppName ¶
type OptionAppName struct {
AppName string
}
AppName - Application name, which will be used in server connect info
type OptionBuiltinWithServer ¶
type OptionBuiltintCtxWatch ¶
OptionBuiltintCtxWatch - context watcher settings WatchDelay - minimal delay on context watcher goroutines launch. Timer resolution here is 20 ms WatchersPoolSize - watchers goroutine count (this doesn't affect goroutine count after WatchDelay expiration)
type OptionCgoLimit ¶
type OptionCgoLimit struct {
CgoLimit int
}
type OptionCompression ¶
type OptionCompression struct {
EnableCompression bool
}
OptionCompression - DB compression options for server EnableCompression - request compress traffic by snappy library
type OptionConnPoolLoadBalancing ¶ added in v4.11.0
type OptionConnPoolLoadBalancing struct {
Algorithm LoadBalancingAlgorithm
}
OptionConnPoolLoadBalancing sets algorithm, which will be used to choose connection for cproto/ucproto requests' balancing
type OptionConnPoolSize ¶
type OptionConnPoolSize struct {
ConnPoolSize int
}
type OptionConnect ¶
type OptionConnect struct {
CreateDBIfMissing bool
}
OptionConnect - DB connect options for server CreateDBIfMissing - allow to create DB on connect if DB doesn't exist already
type OptionDedicatedThreads ¶
type OptionDedicatedThreads struct {
DedicatedThreads bool
}
OptionDedicatedThreads - dedicated RPC threads options for server DedicatedThreads - request dedicated thread on server side for each connection of this binding
type OptionOpenTelemetry ¶ added in v4.11.0
type OptionOpenTelemetry struct {
EnableTracing bool
}
OptionOpenTelemetry - enables OpenTelemetry integration.
type OptionPrometheusMetrics ¶ added in v4.11.0
type OptionPrometheusMetrics struct {
EnablePrometheusMetrics bool
}
OptionPrometheusMetrics - enables collection of Reindexer's client side metrics (for example, information about latency and rpc of all rx client calls like Upsert, Select, etc).
type OptionReconnectionStrategy ¶
Strategy - Strategy used for reconnect to server on connection error AllowUnknownNodes - Allow add dsn from cluster node, that not exist in original dsn list
type OptionReindexerInstance ¶
type OptionReindexerInstance struct {
Instance uintptr
}
type OptionRetryAttempts ¶
type OptionStrictJoinHandlers ¶ added in v4.13.0
type OptionStrictJoinHandlers struct {
EnableStrictJoinHandlers bool
}
OptionStrictJoinHandlers - enables join handlers check. If enabled, queries without required join handlers or Joinable interface will return error after execution.
type OptionTimeouts ¶
OptionTimeouts sets client-side network timeouts on login(connect) and requests Timer resolution here is 1 second
type RawBinding ¶
type RawBinding interface { Init(u []url.URL, options ...interface{}) error Clone() RawBinding OpenNamespace(ctx context.Context, namespace string, enableStorage, dropOnFileFormatError bool) error CloseNamespace(ctx context.Context, namespace string) error DropNamespace(ctx context.Context, namespace string) error TruncateNamespace(ctx context.Context, namespace string) error RenameNamespace(ctx context.Context, srcNs string, dstNs string) error AddIndex(ctx context.Context, namespace string, indexDef IndexDef) error SetSchema(ctx context.Context, namespace string, schema SchemaDef) error UpdateIndex(ctx context.Context, namespace string, indexDef IndexDef) error DropIndex(ctx context.Context, namespace, index string) error BeginTx(ctx context.Context, namespace string) (TxCtx, error) CommitTx(txCtx *TxCtx) (RawBuffer, error) RollbackTx(tx *TxCtx) error ModifyItemTx(txCtx *TxCtx, format int, data []byte, mode int, percepts []string, stateToken int) error ModifyItemTxAsync(txCtx *TxCtx, format int, data []byte, mode int, percepts []string, stateToken int, cmpl RawCompletion) DeleteQueryTx(txCtx *TxCtx, rawQuery []byte) error UpdateQueryTx(txCtx *TxCtx, rawQuery []byte) error PutMeta(ctx context.Context, namespace, key, data string) error GetMeta(ctx context.Context, namespace, key string) (RawBuffer, error) ModifyItem(ctx context.Context, nsHash int, namespace string, format int, data []byte, mode int, percepts []string, stateToken int) (RawBuffer, error) Select(ctx context.Context, query string, asJson bool, ptVersions []int32, fetchCount int) (RawBuffer, error) SelectQuery(ctx context.Context, rawQuery []byte, asJson bool, ptVersions []int32, fetchCount int) (RawBuffer, error) DeleteQuery(ctx context.Context, nsHash int, rawQuery []byte) (RawBuffer, error) UpdateQuery(ctx context.Context, nsHash int, rawQuery []byte) (RawBuffer, error) Commit(ctx context.Context, namespace string) error EnableLogger(logger Logger) DisableLogger() GetLogger() Logger ReopenLogFiles() error Ping(ctx context.Context) error Finalize() error Status(ctx context.Context) Status GetDSNs() []url.URL }
Raw binding to reindexer
func GetBinding ¶
func GetBinding(name string) RawBinding
type RawBindingChanging ¶
type RawBindingChanging interface {
OnChangeCallback(f func())
}
type RawBuffer ¶
type RawBuffer interface { GetBuf() []byte Free() }
go interface to reindexer_c.h interface
type RawCompletion ¶
type ReplicationNodeStat ¶
type ReplicationStat ¶
type ReplicationStat struct { Type string `json:"type"` Nodes []ReplicationNodeStat `json:"nodes"` }
type SchemaDef ¶
type SchemaDef jsonschema.Schema
type Stats ¶
type Stats struct { CountGetItem int TimeGetItem time.Duration CountSelect int TimeSelect time.Duration CountInsert int TimeInsert time.Duration CountUpdate int TimeUpdate time.Duration CountUpsert int TimeUpsert time.Duration CountDelete int TimeDelete time.Duration CountJoin int TimeJoin time.Duration }
type Status ¶
type Status struct { Err error CProto StatusCProto Builtin StatusBuiltin Cache StatusCache }
type StatusBuiltin ¶
type StatusCProto ¶
type StatusCache ¶
type StatusCache struct {
CurSize int64
}
type StorageOptions ¶
type StorageOptions uint16
func (*StorageOptions) DropOnFileFormatError ¶
func (so *StorageOptions) DropOnFileFormatError(value bool) *StorageOptions
func (*StorageOptions) Enabled ¶
func (so *StorageOptions) Enabled(value bool) *StorageOptions