Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct { // Protocol for the connection. Protocol string // Address of the server. Address string // Auth of the server. Auth auth.Auth // Tracer to use in the server. By default, a noop tracer will be used if // no tracer is provided. Tracer opentracing.Tracer ConnReadTimeout time.Duration ConnWriteTimeout time.Duration }
Config for the mysql server.
type DoneFunc ¶
type DoneFunc func()
DoneFunc is a function that must be executed when the session is used and it can be disposed.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler is a connection handler for a SQLe engine.
func NewHandler ¶
func NewHandler(e *sqle.Engine, sm *SessionManager) *Handler
NewHandler creates a new Handler given a SQLe engine.
func (*Handler) ComQuery ¶
func (h *Handler) ComQuery( c *mysql.Conn, query string, callback func(*sqltypes.Result) error, ) (err error)
ComQuery executes a SQL query on the SQLe engine.
func (*Handler) ConnectionClosed ¶
ConnectionClosed reports that a connection has been closed.
func (*Handler) NewConnection ¶
NewConnection reports that a new connection has been established.
func (*Handler) WarningCount ¶ added in v0.2.0
WarningCount is called at the end of each query to obtain the value to be returned to the client in the EOF packet. Note that this will be called either in the context of the ComQuery callback if the result does not contain any fields, or after the last ComQuery call completes.
type Server ¶
Server is a MySQL server for SQLe engines.
func NewDefaultServer ¶
NewDefaultServer creates a Server with the default session builder.
type SessionBuilder ¶
SessionBuilder creates sessions given a MySQL connection and a server address.
type SessionManager ¶
type SessionManager struct {
// contains filtered or unexported fields
}
SessionManager is in charge of creating new sessions for the given connections and keep track of which sessions are in each connection, so they can be cancelled is the connection is closed.
func NewSessionManager ¶
func NewSessionManager( builder SessionBuilder, tracer opentracing.Tracer, addr string, ) *SessionManager
NewSessionManager creates a SessionManager with the given SessionBuilder.
func (*SessionManager) CloseConn ¶
func (s *SessionManager) CloseConn(conn *mysql.Conn)
CloseConn closes the connection in the session manager and all its associated contexts, which are cancelled.
func (*SessionManager) NewContext ¶
func (s *SessionManager) NewContext(conn *mysql.Conn) *sql.Context
NewContext creates a new context for the session at the given conn.
func (*SessionManager) NewContextWithQuery ¶ added in v0.2.0
NewContextWithQuery creates a new context for the session at the given conn.
func (*SessionManager) NewSession ¶
func (s *SessionManager) NewSession(conn *mysql.Conn)
NewSession creates a Session for the given connection and saves it to session pool.