clause

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2020 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CrossJoin JoinType = "CROSS"
	InnerJoin          = "INNER"
	LeftJoin           = "LEFT"
	RightJoin          = "RIGHT"
)
View Source
const CurrentTable string = "@@@table@@@"

Variables

This section is empty.

Functions

This section is empty.

Types

type AndConditions

type AndConditions struct {
	Exprs []Expression
}

func (AndConditions) Build

func (and AndConditions) Build(builder Builder)

type Assignment

type Assignment struct {
	Column Column
	Value  interface{}
}

type Builder

type Builder interface {
	Writer
	WriteQuoted(field interface{}) error
	AddSQLVar(Writer, ...interface{})
}

type Clause

type Clause struct {
	Name                 string
	Priority             float64
	BeforeExpressions    []Expression
	AfterNameExpressions []Expression
	AfterExpressions     []Expression
	Expression           Expression
	Builder              ClauseBuilder
}

func (Clause) Build

func (c Clause) Build(builder Builder)

type ClauseBuilder

type ClauseBuilder func(Clause, Builder)

type Column

type Column struct {
	Table string
	Name  string
	Alias string
	Raw   bool
}

type Delete

type Delete struct {
	Modifier string
}

func (Delete) Build

func (delete Delete) Build(builder Builder)

func (Delete) MergeClause

func (delete Delete) MergeClause(clause *Clause)

func (Delete) Name

func (delete Delete) Name() string

type EQ

type EQ struct {
	Column interface{}
	Value  interface{}
}

func (EQ) Build

func (eq EQ) Build(builder Builder)

func (EQ) NegationBuild

func (eq EQ) NegationBuild(builder Builder)

type Expr

type Expr struct {
	SQL  string
	Vars []interface{}
}

func (Expr) Build

func (expr Expr) Build(builder Builder)

type Expression

type Expression interface {
	Build(builder Builder)
}

func And

func And(exprs ...Expression) Expression

func Not

func Not(exprs ...Expression) Expression

func Or

func Or(exprs ...Expression) Expression

type For

type For struct {
	Locks []Lock
}

func (For) Build

func (f For) Build(builder Builder)

func (For) MergeClause

func (f For) MergeClause(clause *Clause)

func (For) Name

func (f For) Name() string

type From

type From struct {
	Tables []Table
	Joins  []Join
}

func (From) Build

func (f From) Build(builder Builder)

func (From) MergeClause

func (f From) MergeClause(clause *Clause)

func (From) Name

func (f From) Name() string

type GroupBy

type GroupBy struct {
	Columns []Column
	Having  []Expression
}

func (GroupBy) Build

func (g GroupBy) Build(builder Builder)

func (GroupBy) MergeClause

func (g GroupBy) MergeClause(clause *Clause)

func (GroupBy) Name

func (g GroupBy) Name() string

type Gt

type Gt EQ

func (Gt) Build

func (gt Gt) Build(builder Builder)

func (Gt) NegationBuild

func (gt Gt) NegationBuild(builder Builder)

type Gte

type Gte EQ

Gte greater than or equal to for where

func (Gte) Build

func (gte Gte) Build(builder Builder)

func (Gte) NegationBuild

func (gte Gte) NegationBuild(builder Builder)

type IClause

type IClause interface {
	Name() string
	Build(Builder)
	MergeClause(*Clause)
}

type IN

type IN struct {
	Column interface{}
	Values []interface{}
}

func (IN) Build

func (in IN) Build(builder Builder)

func (IN) NegationBuild

func (in IN) NegationBuild(builder Builder)

type Insert

type Insert struct {
	Table    Table
	Modifier string
}

func (Insert) Build

func (insert Insert) Build(builder Builder)

func (Insert) MergeClause

func (insert Insert) MergeClause(clause *Clause)

func (Insert) Name

func (insert Insert) Name() string

type Join

type Join struct {
	Type       JoinType
	Table      Table
	ON         Where
	Using      []string
	Expression Expression
}

func (Join) Build

func (j Join) Build(builder Builder)

type JoinType

type JoinType string

type Like

type Like EQ

Like whether string matches regular expression

func (Like) Build

func (like Like) Build(builder Builder)

func (Like) NegationBuild

func (like Like) NegationBuild(builder Builder)

type Limit

type Limit struct {
	Limit  int
	Offset int
}

func (Limit) Build

func (l Limit) Build(builder Builder)

func (Limit) MergeClause

func (l Limit) MergeClause(clause *Clause)

func (Limit) Name

func (l Limit) Name() string

type Lock

type Lock struct {
	Strength string
	Table    Table
	Options  string
}

type Lt

type Lt EQ

Lt less than for where

func (Lt) Build

func (lt Lt) Build(builder Builder)

func (Lt) NegationBuild

func (lt Lt) NegationBuild(builder Builder)

type Lte

type Lte EQ

Lte less than or equal to for where

func (Lte) Build

func (lte Lte) Build(builder Builder)

func (Lte) NegationBuild

func (lte Lte) NegationBuild(builder Builder)

type NEQ

type NEQ EQ

func (NEQ) Build

func (neq NEQ) Build(builder Builder)

func (NEQ) NegationBuild

func (neq NEQ) NegationBuild(builder Builder)

type NegationExpressionBuilder

type NegationExpressionBuilder interface {
	NegationBuild(builder Builder)
}

type NotConditions

type NotConditions struct {
	Exprs []Expression
}

func (NotConditions) Build

func (not NotConditions) Build(builder Builder)

type OnConflict

type OnConflict struct {
	Columns   []Column
	Where     Where
	DoNothing bool
	DoUpdates Set
}

func (OnConflict) Build

func (onConflict OnConflict) Build(builder Builder)

func (OnConflict) MergeClause

func (onConflict OnConflict) MergeClause(clause *Clause)

func (OnConflict) Name

func (OnConflict) Name() string

type OrConditions

type OrConditions struct {
	Exprs []Expression
}

func (OrConditions) Build

func (or OrConditions) Build(builder Builder)

type OrderBy

type OrderBy struct {
	Columns []OrderByColumn
}

func (OrderBy) Build

func (o OrderBy) Build(builder Builder)

func (OrderBy) MergeClause

func (o OrderBy) MergeClause(clause *Clause)

func (OrderBy) Name

func (o OrderBy) Name() string

type OrderByColumn

type OrderByColumn struct {
	Column Column
	Desc   bool
}

type Returning

type Returning struct {
	Columns []Column
}

func (Returning) Build

func (r Returning) Build(builder Builder)

func (Returning) MergeClause

func (r Returning) MergeClause(clause *Clause)

func (Returning) Name

func (r Returning) Name() string

type Select

type Select struct {
	Columns     []Column
	Expressions []Expression
	Distinct    bool
}

func (Select) Build

func (s Select) Build(builder Builder)

func (Select) MergeClause

func (s Select) MergeClause(clause *Clause)

func (Select) Name

func (s Select) Name() string

type Set

type Set struct {
	Assignments []Assignment
}

func Assignments

func Assignments(values map[string]interface{}) Set

func (Set) Build

func (set Set) Build(builder Builder)

func (Set) MergeClause

func (set Set) MergeClause(clause *Clause)

func (Set) Name

func (set Set) Name() string

type Table

type Table struct {
	Name  string
	Alias string
	Raw   bool
}

type Update

type Update struct {
	Modifier string
	Table    Table
}

func (Update) Build

func (update Update) Build(builder Builder)

func (Update) MergeClause

func (update Update) MergeClause(clause *Clause)

func (Update) Name

func (update Update) Name() string

type Values

type Values struct {
	Columns []Column
	Values  [][]interface{}
}

func (Values) Build

func (values Values) Build(builder Builder)

func (Values) MergeClause

func (values Values) MergeClause(clause *Clause)

func (Values) Name

func (Values) Name() string

type Where

type Where struct {
	Exprs []Expression
}

func (Where) Build

func (where Where) Build(builder Builder)

func (Where) MergeClause

func (where Where) MergeClause(clause *Clause)

func (Where) Name

func (where Where) Name() string

type Writer

type Writer interface {
	WriteByte(byte) error
	WriteString(string) (int, error)
}

Jump to

Keyboard shortcuts

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