sqlparser

package module
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2024 License: Apache-2.0 Imports: 17 Imported by: 4

README

sqlparser

SQL Parser

Documentation

Index

Constants

View Source
const (
	KindUnknown      = "unknown"
	KindSelect       = "select"
	KindLoad         = "load"
	KindInsert       = "insert"
	KindUpdate       = "update"
	KindMerge        = "merge"
	KindDelete       = "delete"
	KindRegisterType = "register type"
	KindCreateTable  = "create table"
	KindDropTable    = "drop table"
)

Variables

This section is empty.

Functions

func Parse

func Parse(cursor *parsly.Cursor, dest interface{}) error

Parse parses SQL into supplied destination

func ParseCallExpr

func ParseCallExpr(rawExpr string) (*expr.Call, error)

ParseCallExpr parses call expression

func ParseCreateTable

func ParseCreateTable(SQL string) (*table.Create, error)

ParseCreateTable parses create table

func ParseDelete

func ParseDelete(SQL string) (*del.Statement, error)

ParseDelete parses DELETE statement

func ParseDropTable

func ParseDropTable(SQL string) (*table.Drop, error)

ParseDropTable parses drop table

func ParseInsert

func ParseInsert(SQL string) (*insert.Statement, error)

ParseInsert Parses INSERT INTO statement

func ParseList

func ParseList(raw string) (query.List, error)

ParseList parses list

func ParseLiteral

func ParseLiteral(cursor *parsly.Cursor) (*expr.Literal, error)

ParseLiteral parses literal

func ParseQualify

func ParseQualify(cursor *parsly.Cursor, qualify *expr.Qualify) error

ParseQualify parses qualify expr

func ParseQuery

func ParseQuery(SQL string, opts ...Option) (*query.Select, error)

ParseQuery parses query

func ParseRegisterType added in v0.6.0

func ParseRegisterType(SQL string) (*schema.Register, error)

ParseRegisterType parses register type

func ParseUpdate

func ParseUpdate(SQL string) (*update.Statement, error)

ParseUpdate parses update statement

func Stringify

func Stringify(n node.Node) string

Stringify stringifies node

func TableName

func TableName(node node.Node) string

TableName returns main table name

func Traverse added in v0.4.0

func Traverse(n node.Node, visitor func(n node.Node) bool)

Traverse traverse node

func TryParseLiteral

func TryParseLiteral(cursor *parsly.Cursor) (*expr.Literal, error)

TryParseLiteral tries to parse literal

Types

type Column added in v0.4.0

type Column column.Spec

Column represent column

func NewColumn added in v0.4.0

func NewColumn(item *query.Item) *Column

func (*Column) Identity added in v0.5.1

func (c *Column) Identity() string

type Columns added in v0.4.0

type Columns []*Column

Columns represens column

func NewColumns added in v0.4.0

func NewColumns(list query.List) Columns

NewColumns creates a columns

func (Columns) ByLowerCase added in v0.5.1

func (c Columns) ByLowerCase() map[string]*Column

ByLowerCase indexes column by lower cased name

func (Columns) ByName added in v0.4.0

func (c Columns) ByName() map[string]*Column

ByName indexes column by name

func (Columns) Index added in v0.4.0

func (c Columns) Index() map[string]*Column

Index indexes column by first non-empty alias or name or expr respectively

func (Columns) IsStarExpr added in v0.4.0

func (c Columns) IsStarExpr() bool

func (Columns) Namespace added in v0.4.0

func (c Columns) Namespace(namespace string) Columns

Namespace returns namespace column

func (Columns) StarExpr added in v0.4.0

func (c Columns) StarExpr(namespace string) *Column

StarExpr returns star expr

type Kind added in v0.6.0

type Kind string

Kind represents the type of SQL statement.

func ParseKind added in v0.6.0

func ParseKind(SQL string) Kind

func (Kind) IsCreateTable added in v0.6.0

func (k Kind) IsCreateTable() bool

IsCreateTable returns true if the Kind is KindCreateTable.

func (Kind) IsDelete added in v0.6.0

func (k Kind) IsDelete() bool

IsDelete returns true if the Kind is KindDelete.

func (Kind) IsDropTable added in v0.6.0

func (k Kind) IsDropTable() bool

IsDropTable returns true if the Kind is KindDropTable.

func (Kind) IsInsert added in v0.6.0

func (k Kind) IsInsert() bool

IsInsert returns true if the Kind is KindInsert.

func (Kind) IsLoad added in v0.6.0

func (k Kind) IsLoad() bool

IsLoad returns true if the Kind is KindLoad.

func (Kind) IsMerge added in v0.6.0

func (k Kind) IsMerge() bool

IsMerge returns true if the Kind is KindMerge.

func (Kind) IsRegisterType added in v0.6.0

func (k Kind) IsRegisterType() bool

IsRegisterType returns true if the Kind is KindRegisterType.

func (Kind) IsSelect added in v0.6.0

func (k Kind) IsSelect() bool

IsSelect returns true if the Kind is KindSelect.

func (Kind) IsUnknown added in v0.6.0

func (k Kind) IsUnknown() bool

IsUnknown returns true if the Kind is KindUnknown.

func (Kind) IsUpdate added in v0.6.0

func (k Kind) IsUpdate() bool

IsUpdate returns true if the Kind is KindUpdate.

type Option added in v0.5.1

type Option func(o *Options)

func WithErrorHandler added in v0.5.1

func WithErrorHandler(fn func(err error, cur *parsly.Cursor, destNode interface{}) error) Option

type Options added in v0.5.1

type Options struct {
	// contains filtered or unexported fields
}

type Token

type Token int

Token represents a token

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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