 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- Variables
- func Cond() *condExpr
- type AndConditions
- type Assignment
- type Builder
- type Clause
- type ClauseBuilder
- type Column
- type Delete
- type EOp
- type Eq
- type Expr
- type Expression
- type From
- type GroupBy
- type Gt
- type Gte
- type IN
- type Insert
- type Interface
- type Join
- type JoinType
- type Like
- type Limit
- type Locking
- type Lt
- type Lte
- type NamedExpr
- type NegationExpressionBuilder
- type Neq
- type NotConditions
- type OnConflict
- type OrConditions
- type OrderBy
- type OrderByColumn
- type Returning
- type Select
- type Set
- type Table
- type Update
- type Values
- type Where
- type Writer
Constants ¶
const ( PrimaryKey string = "@@@py@@@" // primary key CurrentTable string = "@@@ct@@@" // current table Associations string = "@@@as@@@" // associations )
Variables ¶
var (
	PrimaryColumn = Column{Table: CurrentTable, Name: PrimaryKey}
)
    Functions ¶
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 Clause ¶
type Clause struct {
	Name                string // WHERE
	BeforeExpression    Expression
	AfterNameExpression Expression
	AfterExpression     Expression
	Expression          Expression
	Builder             ClauseBuilder
}
    type ClauseBuilder ¶
ClauseBuilder clause builder, allows to customize how to build clause
type Eq ¶
type Eq struct {
	Column interface{}
	Value  interface{}
}
    Eq equal to for where
func (Eq) NegationBuild ¶
type Expression ¶
type Expression interface {
	Build(builder Builder)
}
    Expression expression interface
func And ¶
func And(exprs ...Expression) Expression
func Not ¶
func Not(exprs ...Expression) Expression
func Or ¶
func Or(exprs ...Expression) Expression
type GroupBy ¶
type GroupBy struct {
	Columns []Column
	Having  []Expression
}
    GroupBy group by clause
func (GroupBy) MergeClause ¶
MergeClause merge group by clause
type IN ¶
type IN struct {
	Column interface{}
	Values []interface{}
}
    IN Whether a value is within a set of values
func (IN) NegationBuild ¶
type Insert ¶
func (Insert) MergeClause ¶
MergeClause merge insert clause
type Join ¶
type Join struct {
	Type       JoinType
	Table      Table
	ON         Where
	Using      []string
	Expression Expression
}
    Join join clause for from
type Locking ¶
func (Locking) MergeClause ¶
MergeClause merge order by clauses
type NamedExpr ¶
type NamedExpr struct {
	SQL  string
	Vars []interface{}
}
    NamedExpr raw expression for named expr
type NegationExpressionBuilder ¶
type NegationExpressionBuilder interface {
	NegationBuild(builder Builder)
}
    NegationExpressionBuilder negation expression 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
	OnConstraint string
	DoNothing    bool
	DoUpdates    Set
	UpdateAll    bool
}
    func (OnConflict) Build ¶
func (onConflict OnConflict) Build(builder Builder)
Build build onConflict clause
func (OnConflict) MergeClause ¶
func (onConflict OnConflict) MergeClause(clause *Clause)
MergeClause merge onConflict clauses
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
	Expression Expression
}
    func (OrderBy) MergeClause ¶
MergeClause merge order by clauses
type OrderByColumn ¶
type Returning ¶
type Returning struct {
	Columns []Column
}
    func (Returning) MergeClause ¶
MergeClause merge order by clauses
type Select ¶
type Select struct {
	Distinct   bool
	Columns    []Column
	Expression Expression
}
    Select select attrs when querying, updating, creating
func (Select) MergeClause ¶
type Set ¶
type Set []Assignment
func AssignmentColumns ¶
func Assignments ¶
func (Set) MergeClause ¶
MergeClause merge assignment clauses
type Update ¶
func (Update) MergeClause ¶
MergeClause merge update clause
type Values ¶
type Values struct {
	Columns []Column
	Values  [][]interface{}
}
    func (Values) MergeClause ¶
MergeClause merge values clauses
type Where ¶
type Where struct {
	Exprs []Expression
}
    Where where clause
func (Where) MergeClause ¶
MergeClause merge where clauses