Documentation ¶
Index ¶
- Constants
- type BaseQueryRunner
- type CollectionQueryRunner
- func (runner *CollectionQueryRunner) Run(ctx context.Context, tx transaction.Tx, tenant *metadata.Tenant) (*Response, context.Context, error)
- func (runner *CollectionQueryRunner) SetCreateOrUpdateCollectionReq(create *api.CreateOrUpdateCollectionRequest)
- func (runner *CollectionQueryRunner) SetDescribeCollectionReq(describe *api.DescribeCollectionRequest)
- func (runner *CollectionQueryRunner) SetDropCollectionReq(drop *api.DropCollectionRequest)
- func (runner *CollectionQueryRunner) SetListCollectionReq(list *api.ListCollectionsRequest)
- type ContentType
- type DatabaseQueryRunner
- func (runner *DatabaseQueryRunner) Run(ctx context.Context, tx transaction.Tx, tenant *metadata.Tenant) (*Response, context.Context, error)
- func (runner *DatabaseQueryRunner) SetCreateDatabaseReq(create *api.CreateDatabaseRequest)
- func (runner *DatabaseQueryRunner) SetDescribeDatabaseReq(describe *api.DescribeDatabaseRequest)
- func (runner *DatabaseQueryRunner) SetDropDatabaseReq(drop *api.DropDatabaseRequest)
- func (runner *DatabaseQueryRunner) SetListDatabaseReq(list *api.ListDatabasesRequest)
- type DeleteQueryRunner
- type InsertQueryRunner
- type QueryRunner
- type QueryRunnerFactory
- func (f *QueryRunnerFactory) GetCollectionQueryRunner() *CollectionQueryRunner
- func (f *QueryRunnerFactory) GetDatabaseQueryRunner() *DatabaseQueryRunner
- func (f *QueryRunnerFactory) GetDeleteQueryRunner(r *api.DeleteRequest) *DeleteQueryRunner
- func (f *QueryRunnerFactory) GetInsertQueryRunner(r *api.InsertRequest) *InsertQueryRunner
- func (f *QueryRunnerFactory) GetReplaceQueryRunner(r *api.ReplaceRequest) *ReplaceQueryRunner
- func (f *QueryRunnerFactory) GetStreamingQueryRunner(r *api.ReadRequest, streaming Streaming) *StreamingQueryRunner
- func (f *QueryRunnerFactory) GetUpdateQueryRunner(r *api.UpdateRequest) *UpdateQueryRunner
- type QuerySession
- type ReplaceQueryRunner
- type ReqOptions
- type Response
- type Service
- type SessionManager
- func (sessMgr *SessionManager) Create(ctx context.Context, reloadVerOutside bool, track bool) (*QuerySession, error)
- func (sessMgr *SessionManager) Execute(ctx context.Context, req *ReqOptions) (*Response, error)
- func (sessMgr *SessionManager) Get(id string) *QuerySession
- func (sessMgr *SessionManager) Remove(id string)
- type Streaming
- type StreamingQueryRunner
- type UpdateQueryRunner
Constants ¶
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseQueryRunner ¶
type BaseQueryRunner struct {
// contains filtered or unexported fields
}
func NewBaseQueryRunner ¶
func NewBaseQueryRunner(encoder metadata.Encoder, cdcMgr *cdc.Manager) *BaseQueryRunner
func (*BaseQueryRunner) GetCollections ¶
func (runner *BaseQueryRunner) GetCollections(db *metadata.Database, collName string) (*schema.DefaultCollection, error)
func (*BaseQueryRunner) GetDatabase ¶
type CollectionQueryRunner ¶
type CollectionQueryRunner struct { *BaseQueryRunner // contains filtered or unexported fields }
func (*CollectionQueryRunner) SetCreateOrUpdateCollectionReq ¶
func (runner *CollectionQueryRunner) SetCreateOrUpdateCollectionReq(create *api.CreateOrUpdateCollectionRequest)
func (*CollectionQueryRunner) SetDescribeCollectionReq ¶
func (runner *CollectionQueryRunner) SetDescribeCollectionReq(describe *api.DescribeCollectionRequest)
func (*CollectionQueryRunner) SetDropCollectionReq ¶
func (runner *CollectionQueryRunner) SetDropCollectionReq(drop *api.DropCollectionRequest)
func (*CollectionQueryRunner) SetListCollectionReq ¶
func (runner *CollectionQueryRunner) SetListCollectionReq(list *api.ListCollectionsRequest)
type DatabaseQueryRunner ¶
type DatabaseQueryRunner struct { *BaseQueryRunner // contains filtered or unexported fields }
func (*DatabaseQueryRunner) SetCreateDatabaseReq ¶
func (runner *DatabaseQueryRunner) SetCreateDatabaseReq(create *api.CreateDatabaseRequest)
func (*DatabaseQueryRunner) SetDescribeDatabaseReq ¶
func (runner *DatabaseQueryRunner) SetDescribeDatabaseReq(describe *api.DescribeDatabaseRequest)
func (*DatabaseQueryRunner) SetDropDatabaseReq ¶
func (runner *DatabaseQueryRunner) SetDropDatabaseReq(drop *api.DropDatabaseRequest)
func (*DatabaseQueryRunner) SetListDatabaseReq ¶
func (runner *DatabaseQueryRunner) SetListDatabaseReq(list *api.ListDatabasesRequest)
type DeleteQueryRunner ¶
type DeleteQueryRunner struct { *BaseQueryRunner // contains filtered or unexported fields }
type InsertQueryRunner ¶
type InsertQueryRunner struct { *BaseQueryRunner // contains filtered or unexported fields }
type QueryRunner ¶
type QueryRunner interface {
Run(ctx context.Context, tx transaction.Tx, tenant *metadata.Tenant) (*Response, context.Context, error)
}
QueryRunner is responsible for executing the current query and return the response
type QueryRunnerFactory ¶
type QueryRunnerFactory struct {
// contains filtered or unexported fields
}
QueryRunnerFactory is responsible for creating query runners for different queries
func NewQueryRunnerFactory ¶
func NewQueryRunnerFactory(txMgr *transaction.Manager, encoder metadata.Encoder, cdcMgr *cdc.Manager) *QueryRunnerFactory
NewQueryRunnerFactory returns QueryRunnerFactory object
func (*QueryRunnerFactory) GetCollectionQueryRunner ¶
func (f *QueryRunnerFactory) GetCollectionQueryRunner() *CollectionQueryRunner
func (*QueryRunnerFactory) GetDatabaseQueryRunner ¶
func (f *QueryRunnerFactory) GetDatabaseQueryRunner() *DatabaseQueryRunner
func (*QueryRunnerFactory) GetDeleteQueryRunner ¶
func (f *QueryRunnerFactory) GetDeleteQueryRunner(r *api.DeleteRequest) *DeleteQueryRunner
func (*QueryRunnerFactory) GetInsertQueryRunner ¶
func (f *QueryRunnerFactory) GetInsertQueryRunner(r *api.InsertRequest) *InsertQueryRunner
func (*QueryRunnerFactory) GetReplaceQueryRunner ¶
func (f *QueryRunnerFactory) GetReplaceQueryRunner(r *api.ReplaceRequest) *ReplaceQueryRunner
func (*QueryRunnerFactory) GetStreamingQueryRunner ¶
func (f *QueryRunnerFactory) GetStreamingQueryRunner(r *api.ReadRequest, streaming Streaming) *StreamingQueryRunner
GetStreamingQueryRunner returns StreamingQueryRunner
func (*QueryRunnerFactory) GetUpdateQueryRunner ¶
func (f *QueryRunnerFactory) GetUpdateQueryRunner(r *api.UpdateRequest) *UpdateQueryRunner
type QuerySession ¶
type QuerySession struct {
// contains filtered or unexported fields
}
func (*QuerySession) Commit ¶
func (s *QuerySession) Commit(ctx context.Context, versionMgr *metadata.VersionHandler, incVersion bool, err error) error
func (*QuerySession) Run ¶
func (s *QuerySession) Run(ctx context.Context, runner QueryRunner) (*Response, context.Context, error)
type ReplaceQueryRunner ¶
type ReplaceQueryRunner struct { *BaseQueryRunner // contains filtered or unexported fields }
type ReqOptions ¶
type ReqOptions struct {
// contains filtered or unexported fields
}
ReqOptions are options used by queryLifecycle to execute a query
type Service ¶
type Service interface { RegisterHTTP(router chi.Router, inproc *inprocgrpc.Channel) error RegisterGRPC(grpc *grpc.Server) error }
func GetRegisteredServices ¶
func GetRegisteredServices(kvStore kv.KeyValueStore) []Service
type SessionManager ¶
SessionManager is used to manage all the explicit query sessions. The execute method is executing the query. The method uses the txCtx to understand whether the query is already started(explicit transaction) if not then it will create a QuerySession and then will execute the query. For explicit transaction, Begin/Commit/Rollback is creating/storing/removing the QuerySession.
func NewSessionManager ¶
func NewSessionManager(txMgr *transaction.Manager, tenantMgr *metadata.TenantManager, versionH *metadata.VersionHandler) *SessionManager
func (*SessionManager) Create ¶
func (sessMgr *SessionManager) Create(ctx context.Context, reloadVerOutside bool, track bool) (*QuerySession, error)
Create returns the QuerySession after creating all the necessary elements that a query execution needs. It first creates or get a tenant, read the metadata version and based on that reload the tenant cache and then finally create a transaction which will be used to execute all the query in this session.
func (*SessionManager) Execute ¶
func (sessMgr *SessionManager) Execute(ctx context.Context, req *ReqOptions) (*Response, error)
Execute is responsible to execute a query. In a way this method is managing the lifecycle of a query. For implicit transaction everything is done in this method. For explicit transaction, a session may already exist so it only needs to run without calling Commit/Rollback.
func (*SessionManager) Get ¶
func (sessMgr *SessionManager) Get(id string) *QuerySession
func (*SessionManager) Remove ¶
func (sessMgr *SessionManager) Remove(id string)
type Streaming ¶
type Streaming interface { api.Tigris_ReadServer }
Streaming is a wrapper interface for passing around for streaming reads
type StreamingQueryRunner ¶
type StreamingQueryRunner struct { *BaseQueryRunner // contains filtered or unexported fields }
StreamingQueryRunner is a runner used for Queries that are reads and needs to return result in streaming fashion
type UpdateQueryRunner ¶
type UpdateQueryRunner struct { *BaseQueryRunner // contains filtered or unexported fields }