package table
import "github.com/ydb-platform/ydb-go-sdk/v3/internal/table"
Index ¶
Types ¶
type Client ¶
type Client interface { table.Client Get(ctx context.Context) (s Session, err error) Put(ctx context.Context, s Session) (err error) CloseSession(ctx context.Context, s Session) (err error) }
func New ¶
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
func (SessionProviderFunc) Get ¶
func (f SessionProviderFunc) Get(ctx context.Context) (Session, error)
func (SessionProviderFunc) Put ¶
func (f SessionProviderFunc) Put(ctx context.Context, s Session) error
Source Files ¶
client.go data_query.go keep_in_cache.go retry.go session.go statement.go trailer.go transaction.go
Directories ¶
Path | Synopsis |
---|---|
internal/table/scanner |
- Version
- v3.20.2
- Published
- Apr 12, 2022
- Platform
- js/wasm
- Imports
- 32 packages
- Last checked
- 3 minutes ago –
Tools for package owners.