query

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2023 License: Apache-2.0 Imports: 6 Imported by: 8

Documentation

Index

Constants

View Source
const (
	UnknownData = iota
	BigIntData
	BinaryData
	BitData
	BlobData
	BooleanData
	CharData
	CharacterData
	ClobData
	DateData
	DecimalData
	DoubleData
	FloatData
	IntData
	IntegerData
	LongBlobData
	LongTextData
	MediumBlobData
	MediumIntData
	MediumTextData
	NumericData
	RealData
	SetData
	SmallIntData
	TextData
	TimeData
	TimeStampData
	TinyBlobData
	TinyIntData
	TinyTextData
	VarBinaryData
	VarCharData
	VarCharacterData
	YearData
)
View Source
const (
	BoolObjectId            = 16
	ByteaObjectId           = 17
	CharObjectId            = 18
	NameObjectId            = 19
	Int8ObjectId            = 20
	Int2ObjectId            = 21
	Int2VectorObjectId      = 22
	Int4ObjectId            = 23
	RegProcObjectId         = 24
	TextObjectId            = 25
	OidObjectId             = 26
	TidObjectId             = 27
	XidObjectId             = 28
	CidObjectId             = 29
	XmlObjectId             = 142
	PointObjectId           = 600
	LsegObjectId            = 601
	PathObjectId            = 602
	BoxObjectId             = 603
	PolygonObjectId         = 604
	LineObjectId            = 628
	LineArrayObjectId       = 629
	CircleObjectId          = 718
	CircleArrayObjectId     = 719
	MacaddrObjectId         = 829
	Macaddr8ObjectId        = 774
	InetObjectId            = 869
	InetArrayObjectId       = 1040
	CidrObjectId            = 650
	CidrArrayObjectId       = 651
	Float4ObjectId          = 700
	Float8ObjectId          = 701
	UnknownObjectId         = 705
	AbstimeObjectId         = 702
	ReltimeObjectId         = 703
	TintervalObjectId       = 704
	PolygonArrayObjectId    = 628
	OidvectorObjectId       = 30
	BpcharObjectId          = 1042
	VarcharObjectId         = 1043
	DateObjectId            = 1082
	TimeObjectId            = 1083
	TimestampObjectId       = 1114
	TimestampTzObjectId     = 1184
	IntervalObjectId        = 1186
	TimeTzObjectId          = 1266
	BitObjectId             = 1560
	VarbitObjectId          = 1562
	NumericObjectId         = 1700
	RefcursorObjectId       = 1790
	RegprocedureObjectId    = 2202
	RegoperObjectId         = 2203
	RegoperatorObjectId     = 2204
	RegclassObjectId        = 2205
	RegtypeObjectId         = 2206
	RecordObjectId          = 2249
	CstringObjectId         = 2275
	AnyObjectId             = 2276
	AnyarrayObjectId        = 2277
	VoidObjectId            = 2278
	TriggerObjectId         = 2279
	LanguageHandlerObjectId = 2280
	InternalObjectId        = 2281
	OpaqueObjectId          = 2282
	AnyelementObjectId      = 2283
	AnynonarrayObjectId     = 2776
	GeometryObjectId        = 3614
	GeograpyObjectId        = 4326
)
View Source
const (
	UnknownLiteral = iota
	StringLiteral
)
View Source
const (
	CreateDatabaseStatement = iota
	CreateTableStatement
	CreateIndexStatement
	InsertStatement
	SelectStatement
	UpdateStatement
	DeleteStatement
	DropDatabaseStatement
	DropTableStatement
	DropIndexStatement
	AlterDatabaseStatement
	AlterTableStatement
	AlterIndexStatement
	CopyStatement
	CommitStatement
	VacuumStatement
	TruncateStatement
)
View Source
const (
	// Asterisk is a asterisk string.
	Asterisk = "*"
)

Variables

View Source
var ErrInvalidDataType = errors.New("invalid data type")

ErrInvalidDataType is returned when the data type is invalid.

View Source
var ErrNotFound = errors.New("not found")

ErrNotFound is returned when the data type is invalid.

View Source
var NullLiteral = NewLiteralWith(nil)

NullLiteral represents a null value.

Functions

func WithAlterTableAddColumn added in v0.9.2

func WithAlterTableAddColumn(column *Column) func(*AlterTable)

WithAlterTableAddColumn sets an add column.

func WithAlterTableDropColumn added in v0.9.2

func WithAlterTableDropColumn(column *Column) func(*AlterTable)

WithAlterTableDropColumn sets a drop column.

func WithAlterTableRenameColumn added in v0.9.2

func WithAlterTableRenameColumn(from *Column, to *Column) func(*AlterTable)

WithAlterTableRenameColumn sets a rename column.

func WithAlterTableRenameTo added in v0.9.2

func WithAlterTableRenameTo(tbl *Table) func(*AlterTable)

WithAlterTableRenameTo sets a rename table.

func WithAlterTableSchema added in v0.9.2

func WithAlterTableSchema(name string) func(*AlterTable)

WithAlterTableSchema sets a schema.

func WithColumnData added in v0.9.1

func WithColumnData(data *DataDef) func(*Column)

WithColumnData sets a column data.

func WithColumnLiteral added in v0.9.1

func WithColumnLiteral(l *Literal) func(*Column)

WithColumnLiteral sets a column data.

func WithColumnName added in v0.9.1

func WithColumnName(name string) func(*Column)

WithColumnName sets a column name.

func WithLiteralType added in v0.9.1

func WithLiteralType(t LiteralType) func(*Literal)

WithSchemaColumns returns a schema option to set the columns.

func WithSchemaColumns added in v0.9.1

func WithSchemaColumns(columns ColumnList) func(*Schema)

WithSchemaColumns returns a schema option to set the columns.

func WithSchemaIndexes added in v0.9.1

func WithSchemaIndexes(idxes IndexList) func(*Schema)

WithSchemaIndexes returns a schema option to set the indexes.

func WithSelectLimit added in v1.0.0

func WithSelectLimit(offset int, limit int) func(*Select)

WithSelectLimit sets order by options.

func WithSelectOrderBy added in v1.0.0

func WithSelectOrderBy(name string, order Order) func(*Select)

WithSelectOrderBy sets order by options.

Types

type AlterDatabase

type AlterDatabase struct {
	*Database
	// contains filtered or unexported fields
}

AlterDatabase is a "ALTER DATABASE" statement.

func NewAlterDatabaseWith

func NewAlterDatabaseWith(name string, to string) *AlterDatabase

NewAlterDatabaseWith returns a new AlterDatabase statement instance with the specified options.

func (*AlterDatabase) RenameTo added in v0.9.2

func (stmt *AlterDatabase) RenameTo() *Database

RenameTo returns the "TO" database.

func (*AlterDatabase) StatementType

func (stmt *AlterDatabase) StatementType() StatementType

StatementType returns the statement type.

func (*AlterDatabase) String

func (stmt *AlterDatabase) String() string

String returns the statement string representation.

type AlterTable

type AlterTable struct {
	*Schema
	*Table
	// contains filtered or unexported fields
}

AlterTable is a "ALTER TABLE" statement.

func NewAlterTableWith

func NewAlterTableWith(tblName string, opts ...AlterTableOption) *AlterTable

NewAlterTableWith returns a new AlterTable statement instance with the specified options.

func (*AlterTable) AddColum added in v0.9.2

func (stmt *AlterTable) AddColum() (*Column, bool)

AddColum returns the add column.

func (*AlterTable) DropColum added in v0.9.2

func (stmt *AlterTable) DropColum() (*Column, bool)

DropColum returns the drop column.

func (*AlterTable) RenameColums added in v0.9.2

func (stmt *AlterTable) RenameColums() (*Column, *Column, bool)

RenameColums returns the rename columns.

func (*AlterTable) RenameTable added in v0.9.2

func (stmt *AlterTable) RenameTable() (*Table, bool)

RenameTable returns the rename table.

func (*AlterTable) StatementType

func (stmt *AlterTable) StatementType() StatementType

StatementType returns the statement type.

func (*AlterTable) String

func (stmt *AlterTable) String() string

String returns the statement string representation.

type AlterTableOption added in v0.9.2

type AlterTableOption = func(*AlterTable)

AlterTableOption represents an alter table option function.

type AndExpr

type AndExpr struct {
	Left  Expr
	Right Expr
}

AndExpr represents an AND expression.

type BindParam added in v0.9.1

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

BindParam represents a bind param.

func NewBindParamWith added in v0.9.1

func NewBindParamWith(name string) *BindParam

NewBindParam returns a bind param instance.

func (*BindParam) Name added in v0.9.1

func (param *BindParam) Name() string

Name returns the bind param name.

func (*BindParam) String added in v0.9.1

func (param *BindParam) String() string

String returns the string representation.

type BindParams added in v0.9.1

type BindParams []*BindParam

BindParams represens a bind param array.

func NewBindParams added in v0.9.1

func NewBindParams() BindParams

NewBindParams returns a bind param array instance.

type CmpExpr added in v0.9.1

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

CmpExpr represents an comparsion expression.

func NewCmpExpr added in v0.9.1

func NewCmpExpr(op CmpExprOperator, left *Column, right *Literal) *CmpExpr

NewCmpExpr returns a new CompExpr instance with the specified parameters.

func (*CmpExpr) Left added in v0.9.1

func (expr *CmpExpr) Left() *Column

Left returns the left column.

func (*CmpExpr) Operator added in v0.9.1

func (expr *CmpExpr) Operator() CmpExprOperator

Operator returns the operator.

func (*CmpExpr) Right added in v0.9.1

func (expr *CmpExpr) Right() *Literal

Right returns the right literal.

func (*CmpExpr) String added in v0.9.1

func (expr *CmpExpr) String() string

String returns the index string representation.

type CmpExprOperator added in v0.9.1

type CmpExprOperator uint8

CmpExprOperator is an enum for CompExpr.Operator

const (
	EQ CmpExprOperator = iota
	NEQ
	LT
	GT
	LE
	GE
	IN
	NIN
)

Constants for Enum Type - CompExprOperator

func (CmpExprOperator) String added in v0.9.1

func (t CmpExprOperator) String() string

String returns the string representation.

type Column

type Column struct {
	*DataDef
	*Literal
	*BindParam
	// contains filtered or unexported fields
}

Column represents a column.

func NewColumnWithName

func NewColumnWithName(name string) *Column

NewColumn returns a column instance.

func NewColumnWithOptions added in v0.9.1

func NewColumnWithOptions(opts ...ColumnOption) *Column

NewColumn returns a column instance.

func (*Column) Copy added in v0.9.2

func (col *Column) Copy() *Column

Copy returns a copy of the column.

func (*Column) DefString

func (col *Column) DefString() string

String returns the string representation.

func (*Column) IsName added in v0.9.1

func (col *Column) IsName(name string) bool

IsName returns true whether the column name is the specified one.

func (*Column) Name

func (col *Column) Name() string

Name returns the column name.

func (*Column) SetDef added in v0.9.1

func (col *Column) SetDef(dataDef *DataDef) error

SetDef sets the column definition to update the column value.

func (*Column) SetValue added in v0.9.2

func (col *Column) SetValue(v any) error

SetValue sets a value.

func (*Column) String

func (col *Column) String() string

String returns the string representation.

type ColumnList added in v0.9.1

type ColumnList []*Column

ColumnList represens a column array.

func NewColumns

func NewColumns() ColumnList

NewColumns returns a column array instance.

func NewColumnsWith

func NewColumnsWith(columns ...*Column) ColumnList

NewColumnsWith returns a column array instance with the specified columns.

func (ColumnList) ColumnAt added in v0.9.2

func (columns ColumnList) ColumnAt(n int) (*Column, error)

ColumnAt returns a column by the specified index.

func (ColumnList) ColumnByName added in v0.9.1

func (columns ColumnList) ColumnByName(name string) (*Column, error)

ColumnByName returns a column by the specified name.

func (ColumnList) Columns added in v0.9.1

func (columns ColumnList) Columns() ColumnList

Column returns a column array.

func (ColumnList) Copy added in v0.9.2

func (columns ColumnList) Copy() ColumnList

Copy returns a copy of the column list.

func (ColumnList) DefString added in v0.9.1

func (columns ColumnList) DefString() string

DefString returns a string representation of the the colum definitions.

func (ColumnList) IsSelectAll added in v0.9.1

func (columns ColumnList) IsSelectAll() bool

IsSelectAll returns true if the column list is "*".

func (ColumnList) NameString added in v0.9.1

func (columns ColumnList) NameString() string

NameString returns a string representation of the the colum names.

func (ColumnList) Names added in v0.9.1

func (columns ColumnList) Names() []string

Names returns a column name array.

func (ColumnList) SetSchema added in v0.9.1

func (columns ColumnList) SetSchema(schema *Schema) error

SetSchema sets a schema to update column values.

func (ColumnList) ValueString added in v0.9.1

func (columns ColumnList) ValueString() string

ValueString returns a string representation of the the colum values.

type ColumnOption added in v0.9.1

type ColumnOption = func(*Column)

ColumnOption represents a column option function.

type Commit added in v0.9.2

type Commit struct {
}

Commit is a "COMMIT" statement.

func NewCommit added in v0.9.2

func NewCommit() *Commit

NewCommitWith returns a new Commit statement instance with the specified parameters.

func (*Commit) StatementType added in v0.9.2

func (stmt *Commit) StatementType() StatementType

StatementType returns the statement type.

func (*Commit) String added in v0.9.2

func (stmt *Commit) String() string

String returns the statement string representation.

type Condition added in v0.9.1

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

Condition represents a where condition.

func NewConditionWith added in v0.9.1

func NewConditionWith(expr Expr) *Condition

NewConditionWith returns a new where condition instance with the specified parameters.

func (*Condition) Expr added in v0.9.1

func (w *Condition) Expr() Expr

Expr returns the top expression.

func (*Condition) IsEmpty added in v0.9.1

func (w *Condition) IsEmpty() bool

IsEmpty returns true if the where condition is empty.

func (*Condition) String added in v0.9.1

func (w *Condition) String() string

String returns the string representation.

func (*Condition) Where added in v0.9.1

func (w *Condition) Where() *Condition

Where returns the table.

type Copy added in v0.9.2

type Copy struct {
	*Table
	// contains filtered or unexported fields
}

Copy is a "COPY" statement.

func NewCopyWith added in v0.9.2

func NewCopyWith(tblName string, src string) *Copy

NewCopyWith returns a new Copy statement instance with the specified parameters.

func (*Copy) Source added in v0.9.2

func (stmt *Copy) Source() string

Source returns the source resource.

func (*Copy) StatementType added in v0.9.2

func (stmt *Copy) StatementType() StatementType

StatementType returns the statement type.

func (*Copy) String added in v0.9.2

func (stmt *Copy) String() string

String returns the statement string representation.

type CreateDatabase

type CreateDatabase struct {
	*Database
	*IfNotExistsOpt
}

CreateDatabase is a "CREATE DATABASE" statement.

func NewCreateDatabaseWith

func NewCreateDatabaseWith(name string, ifne *IfNotExistsOpt) *CreateDatabase

NewCreateDatabaseWith returns a new CreateDatabase statement instance with the specified options.

func (*CreateDatabase) StatementType

func (stmt *CreateDatabase) StatementType() StatementType

StatementType returns the statement type.

func (*CreateDatabase) String

func (stmt *CreateDatabase) String() string

String returns the statement string representation.

type CreateIndex

type CreateIndex struct {
	*Schema
	*IfNotExistsOpt
}

CreateIndex is a "CREATE INDEX" statement.

func NewCreateIndexWith

func NewCreateIndexWith(schema *Schema, ifne *IfNotExistsOpt) *CreateIndex

NewCreateIndexWith returns a new CreateIndex statement instance with the specified parameters.

func (*CreateIndex) StatementType

func (stmt *CreateIndex) StatementType() StatementType

StatementType returns the statement type.

func (*CreateIndex) String

func (stmt *CreateIndex) String() string

String returns the statement string representation.

type CreateTable

type CreateTable struct {
	*IfNotExistsOpt
	// contains filtered or unexported fields
}

CreateTable is a "CREATE TABLE" statement.

func NewCreateTableWith

func NewCreateTableWith(schema *Schema, ifne *IfNotExistsOpt) *CreateTable

NewCreateTableWith returns a new CreateTable statement instance with the specified options.

func (*CreateTable) Schema added in v0.9.1

func (stmt *CreateTable) Schema() *Schema

Schema returns the schema.

func (*CreateTable) StatementType

func (stmt *CreateTable) StatementType() StatementType

StatementType returns the statement type.

func (*CreateTable) String

func (stmt *CreateTable) String() string

String returns the statement string representation.

func (*CreateTable) TableName added in v0.9.1

func (stmt *CreateTable) TableName() string

TableName returns the table name.

type DataDef added in v0.9.1

type DataDef struct {
	Type   DataType
	Length int
}

DataDef represents a data definition.

func NewDataFrom

func NewDataFrom(s string, l int) (*DataDef, error)

NewDataFrom returns the data type of the specified string.

func NewDataWith

func NewDataWith(t DataType, l int) *DataDef

NewDataWith returns a new DataType instance with the specified type and length.

func (*DataDef) DataLength added in v0.9.1

func (da *DataDef) DataLength() int

DataLength returns the column data length.

func (*DataDef) DataType added in v0.9.1

func (da *DataDef) DataType() DataType

DataType returns the column data type.

func (*DataDef) String added in v0.9.1

func (da *DataDef) String() string

String returns the string representation.

type DataType

type DataType uint8

DataType represents a data type.

func (DataType) String

func (t DataType) String() string

String returns the string representation.

type Database

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

Database represents a database.

func NewDatabaseWith

func NewDatabaseWith(name string) *Database

NewDatabaseWith returns a new Database instance with the specified name.

func (*Database) Database

func (db *Database) Database() *Database

Database returns the database.

func (*Database) DatabaseName added in v0.9.1

func (db *Database) DatabaseName() string

DatabaseName returns the database name.

func (*Database) String

func (db *Database) String() string

String returns the string representation.

type Delete

type Delete struct {
	*Condition
	// contains filtered or unexported fields
}

Delete is a "DELETE" statement.

func NewDeleteWith

func NewDeleteWith(tbl *Table, w *Condition) *Delete

NewDeleteWith returns a new Delete statement instance with the specified parameters.

func (*Delete) From added in v1.0.0

func (stmt *Delete) From() *Table

From returns the table.

func (*Delete) StatementType

func (stmt *Delete) StatementType() StatementType

StatementType returns the statement type.

func (*Delete) String

func (stmt *Delete) String() string

String returns the statement string representation.

func (*Delete) Table added in v1.0.0

func (stmt *Delete) Table() *Table

Table returns the table.

func (*Delete) TableName added in v1.0.0

func (stmt *Delete) TableName() string

TableName returns the table name.

func (*Delete) To added in v1.0.0

func (stmt *Delete) To() *Table

To returns the table.

type DropDatabase

type DropDatabase struct {
	*Database
	*IfExistsOpt
}

DropDatabase is a "DROP DATABASE" statement.

func NewDropDatabaseWith

func NewDropDatabaseWith(name string, ife *IfExistsOpt) *DropDatabase

NewDropDatabaseWith returns a new DropDatabase statement instance with the specified parameters.

func (*DropDatabase) StatementType

func (stmt *DropDatabase) StatementType() StatementType

StatementType returns the statement type.

func (*DropDatabase) String

func (stmt *DropDatabase) String() string

String returns the statement string representation.

type DropIndex

type DropIndex struct {
	*Index
	*Schema
	*IfExistsOpt
}

DropIndex is a "DROP INDEX" statement.

func NewDropIndexWith

func NewDropIndexWith(schemaName string, idxName string, ife *IfExistsOpt) *DropIndex

NewDropIndexWith returns a new DropIndex statement instance with the specified parameters.

func (*DropIndex) StatementType

func (stmt *DropIndex) StatementType() StatementType

StatementType returns the statement type.

func (*DropIndex) String

func (stmt *DropIndex) String() string

String returns the statement string representation.

type DropTable

type DropTable struct {
	TableList
	*IfExistsOpt
}

DropTable is a "DROP TABLE" statement.

func NewDropTableWith

func NewDropTableWith(tbls TableList, ife *IfExistsOpt) *DropTable

NewDropTableWith returns a new DropTable statement instance with the specified parameters.

func (*DropTable) StatementType

func (stmt *DropTable) StatementType() StatementType

StatementType returns the statement type.

func (*DropTable) String

func (stmt *DropTable) String() string

String returns the statement string representation.

type Expr

type Expr interface {
	// String returns the index string representation.
	String() string
}

Expr represents an expression.

type IfExistsOpt added in v0.9.1

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

IfExistsOpt represents a IF EXISTS option.

func NewIfExistsWith

func NewIfExistsWith(v bool) *IfExistsOpt

NewIfExistsWith returns a new IfExists option instance.

func (*IfExistsOpt) IfExists added in v0.9.1

func (opt *IfExistsOpt) IfExists() bool

IfExists returns the IF EXISTS option.

func (*IfExistsOpt) String added in v0.9.1

func (opt *IfExistsOpt) String() string

String returns the string representation.

type IfNotExistsOpt added in v0.9.1

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

IfNotExistsOpt represents a IF NOT EXISTS option.

func NewIfNotExistsWith

func NewIfNotExistsWith(v bool) *IfNotExistsOpt

NewIfNotExistsWith returns a new IfNotExists option instance.

func (*IfNotExistsOpt) IfNotExists added in v0.9.1

func (opt *IfNotExistsOpt) IfNotExists() bool

IfNotExists returns the IF NOT EXISTS option.

func (*IfNotExistsOpt) String added in v0.9.1

func (opt *IfNotExistsOpt) String() string

String returns the string representation.

type Index

type Index struct {
	ColumnList
	// contains filtered or unexported fields
}

Index represents a index.

func NewIndexWith

func NewIndexWith(name string, t IndexType, columns ColumnList) *Index

NewIndexWith returns a new index instance.

func NewPrimaryIndexWith

func NewPrimaryIndexWith(columns ColumnList) *Index

NewPrimaryIndexWith returns a new primary index instance.

func NewSecondaryIndexWith

func NewSecondaryIndexWith(name string, columns ColumnList) *Index

NewSecondaryIndexWith returns a new secondary index instance.

func (*Index) DefString

func (idx *Index) DefString() string

DefString returns the index definition string representation.

func (*Index) Name

func (idx *Index) Name() string

Name returns the index name.

func (*Index) String

func (idx *Index) String() string

String returns the index string representation.

func (*Index) Type

func (idx *Index) Type() IndexType

Type returns the index type.

type IndexList added in v0.9.1

type IndexList []*Index

IndexList represents an index array.

func NewIndexes

func NewIndexes() IndexList

NewIndexes returns a new Indexes instance.

func (IndexList) DefString added in v0.9.1

func (indexes IndexList) DefString() string

DefString returns the index definition string representation.

func (IndexList) Indexes added in v0.9.1

func (indexes IndexList) Indexes() IndexList

Indexes returns an index array.

type IndexType

type IndexType uint8

IndexType represents a index type.

const (
	UnknownIndex   IndexType = 0
	PrimaryIndex   IndexType = 1
	SecondaryIndex IndexType = 2
)

func (IndexType) String

func (t IndexType) String() string

String returns the string representation.

type Insert

type Insert struct {
	*Table
	ColumnList
}

Insert is a "INSERT" statement.

func NewInsertWith

func NewInsertWith(tbl *Table, columns ColumnList) *Insert

NewInsertWith returns a new Insert statement instance with the specified parameters.

func (*Insert) StatementType

func (stmt *Insert) StatementType() StatementType

StatementType returns the statement type.

func (*Insert) String

func (stmt *Insert) String() string

String returns the statement string representation.

type Limit added in v1.0.0

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

Limit represents a LIMIT clause.

func NewLimit added in v1.0.0

func NewLimit() *Limit

NewLimit returns a new Limit instance.

func NewLimitWith added in v1.0.0

func NewLimitWith(offset int, limit int) *Limit

NewLimitWith returns a new Limit instance with the specified offset and limit.

func (*Limit) Limit added in v1.0.0

func (limit *Limit) Limit() int

Limit returns the limit.

func (*Limit) Offset added in v1.0.0

func (limit *Limit) Offset() int

Offset returns the offset.

func (*Limit) SetLimit added in v1.0.0

func (limit *Limit) SetLimit(n int) *Limit

SetLimit sets the limit.

func (*Limit) SetOffset added in v1.0.0

func (limit *Limit) SetOffset(n int) *Limit

SetOffset sets the offset.

func (*Limit) String added in v1.0.0

func (limit *Limit) String() string

String returns the string representation.

type Literal

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

Literal represents a constant value.

func NewLiteralWith

func NewLiteralWith(v any, opts ...LiteralOption) *Literal

NewLiteralWith returns a new Literal instance with the specified value.

func (*Literal) SetType added in v0.9.1

func (lit *Literal) SetType(t LiteralType) *Literal

SetType sets a type.

func (*Literal) SetValue added in v0.9.1

func (lit *Literal) SetValue(v any) *Literal

SetValue sets a value.

func (*Literal) String

func (lit *Literal) String() string

String returns the string representation.

func (*Literal) Value

func (lit *Literal) Value() any

Value returns the literal value.

func (*Literal) ValueString added in v0.9.1

func (lit *Literal) ValueString() string

ValueString returns the string representation.

func (*Literal) ValueType added in v0.9.1

func (lit *Literal) ValueType() LiteralType

ValueType returns the literal type.

type LiteralOption added in v0.9.1

type LiteralOption = func(*Literal)

LiteralOption represents a literal option function.

type LiteralType added in v0.9.1

type LiteralType uint8

LiteralType represents a literal type.

type OrExpr

type OrExpr struct {
	Left  Expr
	Right Expr
}

OrExpr represents an OR expression.

type Order added in v1.0.0

type Order uint8

Order represents an ordertype.

const (
	// OrderNone represents none order.
	OrderNone Order = iota
	// OrderAsc represents asc order.
	OrderAsc
	// OrderDesc represents desc order.
	OrderDesc
)

func (Order) String added in v1.0.0

func (t Order) String() string

String returns the string representation.

type OrderBy added in v1.0.0

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

OrderBy represents an ORDER BY clause.

func NewOrderBy added in v1.0.0

func NewOrderBy() *OrderBy

NewOrderBy returns a new OrderBy instance.

func NewOrderByWith added in v1.0.0

func NewOrderByWith(column string, order Order) *OrderBy

func (*OrderBy) Column added in v1.0.0

func (orderBy *OrderBy) Column() string

Column returns the column name.

func (*OrderBy) IsAsc added in v1.0.0

func (orderBy *OrderBy) IsAsc() bool

IsAsc returns true whether the order is asc.

func (*OrderBy) IsDesc added in v1.0.0

func (orderBy *OrderBy) IsDesc() bool

IsDesc returns true whether the order is desc.

func (*OrderBy) IsNone added in v1.0.0

func (orderBy *OrderBy) IsNone() bool

IsNone returns true whether the order is none.

func (*OrderBy) Order added in v1.0.0

func (orderBy *OrderBy) Order() Order

Order returns the order.

func (*OrderBy) SetColumn added in v1.0.0

func (orderBy *OrderBy) SetColumn(name string) *OrderBy

SetColumn sets the column name.

func (*OrderBy) SetOrder added in v1.0.0

func (orderBy *OrderBy) SetOrder(order Order) *OrderBy

SetOrder sets the order.

func (*OrderBy) String added in v1.0.0

func (orderBy *OrderBy) String() string

String returns the string representation.

type Schema

type Schema struct {
	*Table
	ColumnList
	IndexList
}

Schema represents a table schema.

func NewSchemaWith

func NewSchemaWith(name string, opts ...SchemaOption) *Schema

NewSchemaWith returns a new schema statement instance with the parameters.

func (*Schema) SchemaName added in v0.9.1

func (schema *Schema) SchemaName() string

SchemaName returns the table name.

func (*Schema) SchemaTable added in v0.9.2

func (schema *Schema) SchemaTable() *Table

SchemaTable returns the table.

type SchemaOption added in v0.9.1

type SchemaOption = func(*Schema)

SchemaOption represents a schema option function.

type Select

type Select struct {
	TableList
	ColumnList
	*Condition
	// contains filtered or unexported fields
}

Select is a "SELECT" statement.

func NewSelectWith

func NewSelectWith(columns ColumnList, tbls TableList, w *Condition, opts ...SelectOption) *Select

NewSelectWith returns a new Select statement instance with the specified parameters.

func (*Select) From added in v1.0.0

func (stmt *Select) From() TableList

From returns the source table list.

func (*Select) Limit added in v1.0.0

func (stmt *Select) Limit() *Limit

Limit returns the limit clause.

func (*Select) OrderBy added in v1.0.0

func (stmt *Select) OrderBy() *OrderBy

OrderBy returns the order by clause.

func (*Select) StatementType

func (stmt *Select) StatementType() StatementType

StatementType returns the statement type.

func (*Select) String

func (stmt *Select) String() string

String returns the statement string representation.

func (*Select) Where added in v1.0.0

func (stmt *Select) Where() *Condition

Where returns the condition.

type SelectOption added in v1.0.0

type SelectOption = func(*Select)

SelectOption represents a select option function.

type Statement

type Statement interface {
	// StatementType returns the statement type.
	StatementType() StatementType
	// String returns the statement string representation.
	String() string
}

Statement represents a statement interface.

type StatementList

type StatementList = []Statement

StatementList represents a statement list.

func NewStatementList

func NewStatementList() StatementList

NewStatementList returns a new statement list.

type StatementType

type StatementType uint8

StatementType is a statement type.

type Table

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

Table represents a table.

func NewTableWith

func NewTableWith(name string) *Table

NewTableWith returns a new Table instance with the specified name.

func (*Table) Name

func (tbl *Table) Name() string

Name returns the table name.

func (*Table) String

func (tbl *Table) String() string

String returns the string representation.

func (*Table) TableName added in v0.9.1

func (tbl *Table) TableName() string

TableName returns the table name for embedded use.

type TableList added in v0.9.1

type TableList []*Table

TableList represens a column array.

func NewTables

func NewTables() TableList

NewTables returns a column array instance.

func NewTablesWith

func NewTablesWith(tables ...*Table) TableList

NewTablesWith returns a column array instance with the specified columns.

func (TableList) String added in v0.9.1

func (tbls TableList) String() string

String returns a string representation.

func (TableList) Tables added in v0.9.1

func (tbls TableList) Tables() TableList

Table returns a column array.

type Truncate added in v0.9.2

type Truncate struct {
	TableList
}

Truncate is a "TRUNCATE" statement.

func NewTruncateWith added in v0.9.2

func NewTruncateWith(tbls TableList) *Truncate

NewTruncateWith returns a new truncate statement instance with the specified parameters.

func (*Truncate) StatementType added in v0.9.2

func (stmt *Truncate) StatementType() StatementType

StatementType returns the statement type.

func (*Truncate) String added in v0.9.2

func (stmt *Truncate) String() string

String returns the statement string representation.

type Update

type Update struct {
	ColumnList
	*Condition
	// contains filtered or unexported fields
}

Update is a "UPDATE" statement.

func NewUpdateWith

func NewUpdateWith(tbl *Table, columns ColumnList, w *Condition) *Update

NewUpdateWith returns a new Update statement instance with the specified parameters.

func (*Update) StatementType

func (stmt *Update) StatementType() StatementType

StatementType returns the statement type.

func (*Update) String

func (stmt *Update) String() string

String returns the statement string representation.

func (*Update) Table added in v1.0.0

func (stmt *Update) Table() *Table

Table returns the table.

func (*Update) TableName added in v1.0.0

func (stmt *Update) TableName() string

TableName returns the table name.

type Vacuum added in v0.9.2

type Vacuum struct {
	*Table
}

Vacuum is a "VACUUM" statement.

func NewVacuum added in v0.9.2

func NewVacuum() *Vacuum

NewVacuum returns a new vacuum statement instance.

func NewVacuumWith added in v0.9.2

func NewVacuumWith(tbl *Table) *Vacuum

NewVacuumWith returns a new vacuum statement instance with the specified parameters.

func (*Vacuum) StatementType added in v0.9.2

func (stmt *Vacuum) StatementType() StatementType

StatementType returns the statement type.

func (*Vacuum) String added in v0.9.2

func (stmt *Vacuum) String() string

String returns the statement string representation.

Jump to

Keyboard shortcuts

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