sql

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2024 License: Apache-2.0 Imports: 7 Imported by: 10

Documentation

Index

Constants

View Source
const (
	Version = "v1.3.1"
)

Variables

View Source
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

func WithConnTracer(t tracer.Context) func(*conn)

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 ConnID added in v1.3.1

type ConnID uint64

ConnID represents a connection ID.

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

type ErrorHandler interface {
	ParserError(Conn, string, error) (Responses, error)
}

ErrorHandler represents a user error handler.

type Executor added in v1.3.1

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.

func NewParser

func NewParser() Parser

NewParser returns a new parser.

type QueryExecutor added in v1.3.1

type QueryExecutor interface {
	DDOExecutor
	DMOExecutor
}

QueryExecutor represents a user query message executor.

type Response added in v1.3.1

type Response interface {
	// Bytes returns the message bytes.
	Bytes() ([]byte, error)
}

Response represents a response message interface.

type Responses added in v1.3.1

type Responses []Response

Responses represents a list of response.

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).

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL