diff options
Diffstat (limited to 'vendor/github.com/go-xorm/builder/builder.go')
-rw-r--r-- | vendor/github.com/go-xorm/builder/builder.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/github.com/go-xorm/builder/builder.go b/vendor/github.com/go-xorm/builder/builder.go index 26533ba0a1..1253b9887e 100644 --- a/vendor/github.com/go-xorm/builder/builder.go +++ b/vendor/github.com/go-xorm/builder/builder.go @@ -1,3 +1,7 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + package builder type optype byte @@ -16,6 +20,7 @@ type join struct { joinCond Cond } +// Builder describes a SQL statement type Builder struct { optype tableName string @@ -26,41 +31,49 @@ type Builder struct { updates []Eq } +// Select creates a select Builder func Select(cols ...string) *Builder { builder := &Builder{cond: NewCond()} return builder.Select(cols...) } +// Insert creates an insert Builder func Insert(eq Eq) *Builder { builder := &Builder{cond: NewCond()} return builder.Insert(eq) } +// Update creates an update Builder func Update(updates ...Eq) *Builder { builder := &Builder{cond: NewCond()} return builder.Update(updates...) } +// Delete creates a delete Builder func Delete(conds ...Cond) *Builder { builder := &Builder{cond: NewCond()} return builder.Delete(conds...) } +// Where sets where SQL func (b *Builder) Where(cond Cond) *Builder { b.cond = b.cond.And(cond) return b } +// From sets the table name func (b *Builder) From(tableName string) *Builder { b.tableName = tableName return b } +// Into sets insert table name func (b *Builder) Into(tableName string) *Builder { b.tableName = tableName return b } +// Join sets join table and contions func (b *Builder) Join(joinType, joinTable string, joinCond interface{}) *Builder { switch joinCond.(type) { case Cond: @@ -72,60 +85,72 @@ func (b *Builder) Join(joinType, joinTable string, joinCond interface{}) *Builde return b } +// InnerJoin sets inner join func (b *Builder) InnerJoin(joinTable string, joinCond interface{}) *Builder { return b.Join("INNER", joinTable, joinCond) } +// LeftJoin sets left join SQL func (b *Builder) LeftJoin(joinTable string, joinCond interface{}) *Builder { return b.Join("LEFT", joinTable, joinCond) } +// RightJoin sets right join SQL func (b *Builder) RightJoin(joinTable string, joinCond interface{}) *Builder { return b.Join("RIGHT", joinTable, joinCond) } +// CrossJoin sets cross join SQL func (b *Builder) CrossJoin(joinTable string, joinCond interface{}) *Builder { return b.Join("CROSS", joinTable, joinCond) } +// FullJoin sets full join SQL func (b *Builder) FullJoin(joinTable string, joinCond interface{}) *Builder { return b.Join("FULL", joinTable, joinCond) } +// Select sets select SQL func (b *Builder) Select(cols ...string) *Builder { b.selects = cols b.optype = selectType return b } +// And sets AND condition func (b *Builder) And(cond Cond) *Builder { b.cond = And(b.cond, cond) return b } +// Or sets OR condition func (b *Builder) Or(cond Cond) *Builder { b.cond = Or(b.cond, cond) return b } +// Insert sets insert SQL func (b *Builder) Insert(eq Eq) *Builder { b.inserts = eq b.optype = insertType return b } +// Update sets update SQL func (b *Builder) Update(updates ...Eq) *Builder { b.updates = updates b.optype = updateType return b } +// Delete sets delete SQL func (b *Builder) Delete(conds ...Cond) *Builder { b.cond = b.cond.And(conds...) b.optype = deleteType return b } +// WriteTo implements Writer interface func (b *Builder) WriteTo(w Writer) error { switch b.optype { case condType: |