Documentation
¶
Index ¶
- Constants
- Variables
- func WithConnDatabase(name string) func(*conn)
- func WithConnID(v ConnID) func(*conn)
- func WithConnTracer(t tracer.Context) func(*conn)
- type Conn
- type ConnID
- type ConnOption
- type DDOExecutor
- type DMOExecutor
- type ErrorHandler
- type Executor
- type Parser
- type QueryExecutor
- type Response
- type Responses
- type SystemQueryExecutor
- type TCLExecutor
Constants ¶
const (
Version = "v1.3.1"
)
Variables ¶
var ErrEmptyQuery = parser.ErrEmptyQuery
ErrEmptyQuery is returned when the query is empty.
Functions ¶
func WithConnDatabase ¶ added in v1.3.1
func WithConnDatabase(name string) func(*conn)
WithConnDatabase sets a database name.
func WithConnID ¶ added in v1.3.1
func WithConnID(v ConnID) func(*conn)
WithConnID sets a connection ID.
func WithConnTracer ¶ added in v1.3.1
WithConnTracer sets a tracer context.
Types ¶
type Conn ¶ added in v1.3.1
type Conn interface {
net.Conn
// Close closes the connection.
Close() error
// SetDatabase sets a database name.
SetDatabase(db string)
// Database returns the database name.
Database() string
// Timestamp returns the timestamp.
Timestamp() time.Time
// UUID returns the UUID.
UUID() uuid.UUID
// ID returns the ID.
ID() ConnID
// SetSpanContext sets a span context.
SetSpanContext(ctx tracer.Context)
// SpanContext returns a span context.
SpanContext() tracer.Context
}
Conn represents a connection.
func NewConnWith ¶ added in v1.3.1
func NewConnWith(netConn net.Conn, opts ...ConnOption) Conn
NewConnWith returns a connection with a raw connection.
type ConnOption ¶ added in v1.3.1
type ConnOption = func(*conn)
ConnOption represents a connection option.
type DDOExecutor ¶ added in v1.3.1
type DDOExecutor interface {
// CreateDatabase handles a CREATE DATABASE query.
CreateDatabase(Conn, *query.CreateDatabase) (Responses, error)
// CreateTable handles a CREATE TABLE query.
CreateTable(Conn, *query.CreateTable) (Responses, error)
// AlterDatabase handles a ALTER DATABASE query.
AlterDatabase(Conn, *query.AlterDatabase) (Responses, error)
// AlterTable handles a ALTER TABLE query.
AlterTable(Conn, *query.AlterTable) (Responses, error)
// DropDatabase handles a DROP DATABASE query.
DropDatabase(Conn, *query.DropDatabase) (Responses, error)
// DropIndex handles a DROP INDEX query.
DropTable(Conn, *query.DropTable) (Responses, error)
}
DDOExecutor defines a executor interface for DDO (Data Definition Operations).
type DMOExecutor ¶ added in v1.3.1
type DMOExecutor interface {
// Insert handles a INSERT query.
Insert(Conn, *query.Insert) (Responses, error)
// Select handles a SELECT query.
Select(Conn, *query.Select) (Responses, error)
// Update handles a UPDATE query.
Update(Conn, *query.Update) (Responses, error)
// Delete handles a DELETE query.
Delete(Conn, *query.Delete) (Responses, error)
}
DMOExecutor defines a executor interface for DMO (Data Manipulation Operations).
type ErrorHandler ¶ added in v1.3.1
ErrorHandler represents a user error handler.
type Executor ¶ added in v1.3.1
type Executor interface {
TCLExecutor
QueryExecutor
SystemQueryExecutor
ErrorHandler
}
Executor represents a frontend message executor.
type Parser ¶
type Parser interface {
// ParseString parses a SQL statement string and returns the query statements.
ParseString(string) ([]query.Statement, error)
}
Parser represents a parser interface for SQL.
type QueryExecutor ¶ added in v1.3.1
type QueryExecutor interface {
DDOExecutor
DMOExecutor
}
QueryExecutor represents a user query message executor.
type SystemQueryExecutor ¶ added in v1.3.1
type SystemQueryExecutor interface {
// SystemSelect handles a SELECT query for system tables.
SystemSelect(Conn, *query.Select) (Responses, error)
}
SystemQueryExecutor represents a system query message executor.
type TCLExecutor ¶ added in v1.3.1
type TCLExecutor interface {
// Begin handles a BEGIN query.
Begin(*Conn, *query.Begin) (Responses, error)
// Commit handles a COMMIT query.
Commit(*Conn, *query.Commit) (Responses, error)
// Rollback handles a ROLLBACK query.
Rollback(*Conn, *query.Rollback) (Responses, error)
}
TCLExecutor defines a executor interface for TCL (Transaction Control Language).