query

package
v0.9.2 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2023 License: Apache-2.0 Imports: 5 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.

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 {
	*Table
	*Condition
}

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

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 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 OrderType

type OrderType uint8

OrderType represents an ordertype.

const (
	// OrderTypeNone represents none order.
	OrderTypeNone OrderType = iota
	// OrderTypeAsc represents asc order.
	OrderTypeAsc
	// OrderTypeDesc represents desc order.
	OrderTypeDesc
)

func (OrderType) String

func (t OrderType) 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
}

Select is a "SELECT" statement.

func NewSelectWith

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

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

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.

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

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 {
	*Table
	ColumnList
	*Condition
}

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.

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