bindings

package
v4.6.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2022 License: Apache-2.0 Imports: 5 Imported by: 25

Documentation

Index

Constants

View Source
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

	CollateNone    = 0
	CollateASCII   = 1
	CollateUTF8    = 2
	CollateNumeric = 3
	CollateCustom  = 4
)

public go consts from type_consts.h and reindexer_ctypes.h

View Source
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

	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

	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

	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

	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
)

private go consts from type_consts.h and reindexer_ctypes.h

View Source
const (
	ReplicationTypeCluster = "cluster"
	ReplicationTypeAsync   = "async_replication"
)
View Source
const (
	StorageTypeLevelDB = 0
	StorageTypeRocksDB = 1
)
View Source
const CInt32Max = int(^uint32(0) >> 1)
View Source
const ReindexerVersion = "v4.6.0"
View Source
const (
	ShardingProxyOff = -2
)

Variables

This section is empty.

Functions

func NewError

func NewError(text string, code int) error

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) 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

type ConnectOptions struct {
	Storage uint16
	Opts    uint16
}

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 Error

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

func (Error) Code

func (e Error) Code() int

func (Error) Error

func (e Error) Error() string

type FetchMore added in v1.5.0

type FetchMore interface {
	Fetch(ctx context.Context, offset, limit int, asJson bool) (err error)
}

FetchMore interface for partial loading results (used in cproto)

type FieldDef

type FieldDef struct {
	JSONPath string `json:"json_path"`
	Type     string `json:"type"`
	IsArray  bool   `json:"is_array"`
}

type GetReplicationStat

type GetReplicationStat interface {
	GetReplicationStat(f func(ctx context.Context) (*ReplicationStat, error))
}

type IndexDef added in v1.9.7

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 Logger

type Logger interface {
	Printf(level int, fmt string, msg ...interface{})
}

Logger interface for reindexer

type NamespaceDef added in v1.9.7

type NamespaceDef struct {
	Namespace   string      `json:"name"`
	StorageOpts StorageOpts `json:"storage"`
}

type OptionAppName

type OptionAppName struct {
	AppName string
}

AppName - Application name, which will be used in server connect info

type OptionBuiltinWithServer added in v1.9.6

type OptionBuiltinWithServer struct {
	StartupTimeout  time.Duration
	ShutdownTimeout time.Duration
	ServerConfig    *config.ServerConfig
}

type OptionBuiltintCtxWatch

type OptionBuiltintCtxWatch struct {
	WatchDelay       time.Duration
	WatchersPoolSize int
}

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 added in v1.9.3

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 OptionConnPoolSize added in v1.9.3

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 OptionReconnectionStrategy

type OptionReconnectionStrategy struct {
	Strategy          string
	AllowUnknownNodes bool
}

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 added in v1.9.7

type OptionReindexerInstance struct {
	Instance uintptr
}

type OptionRetryAttempts added in v1.9.5

type OptionRetryAttempts struct {
	Read  int
	Write int
}

type OptionTimeouts

type OptionTimeouts struct {
	LoginTimeout   time.Duration
	RequestTimeout time.Duration
}

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
	EnableStorage(ctx context.Context, namespace 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()
	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 added in v1.9.5

type RawBindingChanging interface {
	OnChangeCallback(f func())
}

type RawBuffer

type RawBuffer interface {
	GetBuf() []byte
	Free()
}

go interface to reindexer_c.h interface

type RawCompletion

type RawCompletion func(buf RawBuffer, err error)

type ReplicationNodeStat

type ReplicationNodeStat struct {
	DSN            string `json:"dsn"`
	Status         string `json:"status"`
	Role           string `json:"role"`
	IsSynchronized bool   `json:"is_synchronized"`
}

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 added in v1.10.4

type Status struct {
	Err     error
	CProto  StatusCProto
	Builtin StatusBuiltin
	Cache   StatusCache
}

type StatusBuiltin added in v1.10.4

type StatusBuiltin struct {
	CGOLimit           int
	CGOUsage           int
	CGOUsageLastMinAvg int
}

type StatusCProto added in v1.10.4

type StatusCProto struct {
	ConnPoolSize   int
	ConnPoolUsage  int
	ConnQueueSize  int
	ConnQueueUsage int
	ConnAddr       string
}

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

type StorageOpts added in v1.9.7

type StorageOpts struct {
	EnableStorage     bool `json:"enabled"`
	DropOnFormatError bool `json:"drop_on_file_format_error"`
	CreateIfMissing   bool `json:"create_if_missing"`
}

type TxCtx

type TxCtx struct {
	Result  RawBuffer
	Id      uint64
	UserCtx context.Context
}

go transanction context

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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