Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrSessionPoolClosed returned by a client instance to indicate // that client is closed and not able to complete requested operation. ErrSessionPoolClosed = fmt.Errorf("session pool is closed") // ErrSessionPoolOverflow returned by a client instance to indicate // that the client is full and requested operation is not able to complete. ErrSessionPoolOverflow = fmt.Errorf("session pool overflow") // ErrSessionShutdown returned by a client instance to indicate that // requested session is under shutdown. ErrSessionShutdown = fmt.Errorf("session under shutdown") // ErrNoProgress returned by a client instance to indicate that // operation could not be completed. ErrNoProgress = fmt.Errorf("no progress") )
View Source
var ( // ErrAlreadyCommited returns if transaction Commit called twice ErrAlreadyCommited = fmt.Errorf("already committed") )
nolint:gofumpt nolint:nolintlint
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Session ¶
type Session interface {
table.ClosableSession
Status() string
OnClose(f func(ctx context.Context))
// contains filtered or unexported methods
}
type SessionBuilder ¶
SessionBuilder is the interface that holds logic of creating sessions.
type SessionProvider ¶
type SessionProvider interface {
// Get returns alive idle session or creates new one.
Get(context.Context) (Session, error)
// Put takes no longer needed session for reuse or deletion depending
// on implementation.
// Put must be fast, if necessary must be async
Put(context.Context, Session) (err error)
// CloseSession provides the most effective way of session closing
// instead of plain session.Close().
// CloseSession must be fast. If necessary, can be async.
CloseSession(ctx context.Context, s Session) error
}
SessionProvider is the interface that holds session lifecycle logic.
func SingleSession ¶
func SingleSession(s Session) SessionProvider
SingleSession returns SessionProvider that uses only given session during retries.
type SessionProviderFunc ¶
type SessionProviderFunc struct {
OnGet func(context.Context) (Session, error)
OnPut func(context.Context, Session) error
}
func (SessionProviderFunc) CloseSession ¶
func (f SessionProviderFunc) CloseSession(ctx context.Context, s Session) error
Source Files
¶
Click to show internal directories.
Click to hide internal directories.