Documentation
¶
Index ¶
- Variables
- func RegisterDriver(name string, driver BuilderDriver)
- type Builder
- func (b *Builder) And(q ...Query) *PlainQuery
- func (b *Builder) Between(field string, start interface{}, end interface{}) *PlainQuery
- func (b *Builder) Comma(q ...Query) *PlainQuery
- func (b *Builder) Concat(q ...Query) *PlainQuery
- func (b *Builder) CountField() string
- func (b *Builder) Equal(field string, arg interface{}) *PlainQuery
- func (b *Builder) EscapeSearch(arg string) string
- func (b *Builder) Exec(db DB, q Query) (sql.Result, error)
- func (b *Builder) In(field string, args interface{}) *PlainQuery
- func (b *Builder) IsDuplicate(err error) bool
- func (b *Builder) IsNotNull(field string) *PlainQuery
- func (b *Builder) IsNull(field string) *PlainQuery
- func (b *Builder) Lines(q ...Query) *PlainQuery
- func (b *Builder) LoadDriver() BuilderDriver
- func (b *Builder) New(command string, args ...interface{}) *PlainQuery
- func (b *Builder) NewDeleteClause(tableName string) *DeleteClause
- func (b *Builder) NewDeleteQuery(TableName string) *DeleteQuery
- func (b *Builder) NewFromClause() *FromClause
- func (b *Builder) NewGroupByClause() *GroupByClause
- func (b *Builder) NewHavingClause() *HavingClause
- func (b *Builder) NewInsertClause(tableName string) *InsertClause
- func (b *Builder) NewInsertQuery(tableName string) *InsertQuery
- func (b *Builder) NewJoinClause() *JoinClause
- func (b *Builder) NewLimitClause() *LimitClause
- func (b *Builder) NewOrderByClause() *OrderByClause
- func (b *Builder) NewSelectClause() *SelectClause
- func (b *Builder) NewSelectQuery() *SelectQuery
- func (b *Builder) NewUpdateClause(tableName string) *UpdateClause
- func (b *Builder) NewUpdateQuery(tableName string) *UpdateQuery
- func (b *Builder) NewValueList(data ...interface{}) *PlainQuery
- func (b *Builder) NewWhereClause() *WhereClause
- func (b *Builder) Or(q ...Query) *PlainQuery
- func (b *Builder) QueryRow(db DB, q Query) *sql.Row
- func (b *Builder) QueryRows(db DB, q Query) (*sql.Rows, error)
- func (b *Builder) Search(field string, arg string) *PlainQuery
- func (b *Builder) TruncateTableQuery(table string) *PlainQuery
- type BuilderDriver
- type DB
- type DeleteClause
- type DeleteQuery
- type EmptyBuilderDriver
- func (d EmptyBuilderDriver) ConvertQuery(q Query) (string, []interface{})
- func (d *EmptyBuilderDriver) CountField() string
- func (d *EmptyBuilderDriver) DeleteArgBuilder(q *DeleteClause) []interface{}
- func (d *EmptyBuilderDriver) DeleteCommandBuilder(q *DeleteClause) string
- func (d *EmptyBuilderDriver) IsDuplicate(err error) bool
- func (d *EmptyBuilderDriver) LimitArgBuilder(q *LimitClause) []interface{}
- func (d *EmptyBuilderDriver) LimitCommandBuilder(q *LimitClause) string
- func (d EmptyBuilderDriver) TruncateTableCommandBuilder(t string) string
- type Field
- type Fields
- type FromClause
- type GroupByClause
- type HavingClause
- type InsertClause
- func (q *InsertClause) Add(field string, data interface{}) *InsertClause
- func (q *InsertClause) AddFields(m *Fields) *InsertClause
- func (q *InsertClause) AddRaw(field string, raw string) *InsertClause
- func (q *InsertClause) AddSelect(field string, Select *SelectQuery) *InsertClause
- func (q *InsertClause) QueryArgs() []interface{}
- func (q *InsertClause) QueryCommand() string
- func (q *InsertClause) WithSelect(s *SelectQuery) *InsertClause
- type InsertQuery
- type JoinClause
- type JoinData
- type LimitClause
- type Order
- type OrderByClause
- type PlainQuery
- func (q *PlainQuery) And(qs ...Query) *PlainQuery
- func (q *PlainQuery) Exec(db DB) (sql.Result, error)
- func (q *PlainQuery) MustExec(db DB) sql.Result
- func (q *PlainQuery) Or(qs ...Query) *PlainQuery
- func (q *PlainQuery) QueryArgs() []interface{}
- func (q *PlainQuery) QueryCommand() string
- func (q *PlainQuery) QueryRow(db DB) *sql.Row
- func (q *PlainQuery) QueryRows(db DB) (*sql.Rows, error)
- type Query
- type QueryData
- type ResultScanner
- type SelectClause
- func (q *SelectClause) Add(fields ...string) *SelectClause
- func (q *SelectClause) AddFields(m *Fields) *SelectClause
- func (q *SelectClause) AddRaw(fields ...interface{}) *SelectClause
- func (q *SelectClause) AddSelect(Select *SelectQuery) *SelectClause
- func (q *SelectClause) QueryArgs() []interface{}
- func (q *SelectClause) QueryCommand() string
- func (q *SelectClause) Result() *SelectResult
- type SelectQuery
- type SelectResult
- type UpdateClause
- func (q *UpdateClause) Add(field string, data interface{}) *UpdateClause
- func (q *UpdateClause) AddFields(m *Fields) *UpdateClause
- func (q *UpdateClause) AddRaw(field string, raw string) *UpdateClause
- func (q *UpdateClause) AddSelect(field string, Select *SelectQuery) *UpdateClause
- func (q *UpdateClause) QueryArgs() []interface{}
- func (q *UpdateClause) QueryCommand() string
- type UpdateQuery
- type WhereClause
Constants ¶
This section is empty.
Variables ¶
var Debug = false
Debug querybuild debug mode. If enabled,all sql commands and args will bt sent to logger
var DefaultDriver = &EmptyBuilderDriver{}
DefaultDriver default driver
var DefaultLogger = func(timestamp int64, cmd string, args []interface{}) { spent := time.Duration((time.Now().UnixNano() - timestamp)) * time.Nanosecond fmt.Println(time.Now().Format("2006-01-02 15:04:05") + " SQL query debug:") fmt.Println("Query:") lines := strings.Split(cmd, "\n") for k := range lines { fmt.Println("\t" + lines[k]) } fmt.Println("Args:") argsString := make([]string, len(args)) for k := range args { argsString[k] = fmt.Sprint(args[k]) } fmt.Println("\t[" + strings.Join(argsString, " , ") + "]") stacks := string(debug.Stack()) stacklines := strings.Split(stacks, "\n") if len(stacklines) > 9 { fmt.Println("Stack:") fmt.Println("\t" + stacklines[7]) fmt.Println("\t" + stacklines[8]) } fmt.Println("Time spent:") for _, v := range timeDurationList { if spent > 10*v.Duration { fmt.Printf("\t%d %s \n", spent/v.Duration, v.Label) break } } fmt.Println() }
DefaultLogger default logger which print qurey command.args and spent time to std.output
var Logger func(timestamp int64, cmd string, args []interface{})
Logger query logger
Functions ¶
func RegisterDriver ¶
func RegisterDriver(name string, driver BuilderDriver)
RegisterDriver register querybuilder driver with given name.
Types ¶
type Builder ¶
type Builder struct { Driver string // contains filtered or unexported fields }
Builder query builder struct
func (*Builder) And ¶
func (b *Builder) And(q ...Query) *PlainQuery
And concat queries with AND operation.
func (*Builder) Between ¶
func (b *Builder) Between(field string, start interface{}, end interface{}) *PlainQuery
Between return field between start and end query
func (*Builder) Comma ¶
func (b *Builder) Comma(q ...Query) *PlainQuery
Comma concat queries with Comma.
func (*Builder) Concat ¶
func (b *Builder) Concat(q ...Query) *PlainQuery
Concat concat queries with space.
func (*Builder) CountField ¶
CountField return select count field
func (*Builder) Equal ¶
func (b *Builder) Equal(field string, arg interface{}) *PlainQuery
Equal return field equal to value query
func (*Builder) EscapeSearch ¶
EscapeSearch escape search arg
func (*Builder) Exec ¶
Exec exec query in given db. return sql result and error query will be convert by builder driver.
func (*Builder) In ¶
func (b *Builder) In(field string, args interface{}) *PlainQuery
In return field in args query
func (*Builder) IsDuplicate ¶
IsDuplicate check if error is Is duplicate error.
func (*Builder) IsNotNull ¶
func (b *Builder) IsNotNull(field string) *PlainQuery
IsNotNull return field is not null query
func (*Builder) IsNull ¶
func (b *Builder) IsNull(field string) *PlainQuery
IsNull return field is null query
func (*Builder) Lines ¶
func (b *Builder) Lines(q ...Query) *PlainQuery
Lines concat queries with New line.
func (*Builder) LoadDriver ¶
func (b *Builder) LoadDriver() BuilderDriver
LoadDriver load builder driver by Driver field Only load one time.
func (*Builder) New ¶
func (b *Builder) New(command string, args ...interface{}) *PlainQuery
New create new plain query with given command and args
func (*Builder) NewDeleteClause ¶
func (b *Builder) NewDeleteClause(tableName string) *DeleteClause
NewDeleteClause create new delete clause with given table name.
func (*Builder) NewDeleteQuery ¶
func (b *Builder) NewDeleteQuery(TableName string) *DeleteQuery
NewDeleteQuery create new delete query with given table name.s
func (*Builder) NewFromClause ¶
func (b *Builder) NewFromClause() *FromClause
NewFromClause create new form clause
func (*Builder) NewGroupByClause ¶
func (b *Builder) NewGroupByClause() *GroupByClause
NewGroupByClause create new group by clause.
func (*Builder) NewHavingClause ¶
func (b *Builder) NewHavingClause() *HavingClause
NewHavingClause create new having clause
func (*Builder) NewInsertClause ¶
func (b *Builder) NewInsertClause(tableName string) *InsertClause
NewInsertClause create new insert clause with given table name
func (*Builder) NewInsertQuery ¶
func (b *Builder) NewInsertQuery(tableName string) *InsertQuery
NewInsertQuery create new insert query.
func (*Builder) NewJoinClause ¶
func (b *Builder) NewJoinClause() *JoinClause
NewJoinClause create new join clause
func (*Builder) NewLimitClause ¶
func (b *Builder) NewLimitClause() *LimitClause
NewLimitClause create new limit clause
func (*Builder) NewOrderByClause ¶
func (b *Builder) NewOrderByClause() *OrderByClause
NewOrderByClause create order by clause
func (*Builder) NewSelectClause ¶
func (b *Builder) NewSelectClause() *SelectClause
NewSelectClause create new select clause
func (*Builder) NewSelectQuery ¶
func (b *Builder) NewSelectQuery() *SelectQuery
NewSelectQuery create new select
func (*Builder) NewUpdateClause ¶
func (b *Builder) NewUpdateClause(tableName string) *UpdateClause
NewUpdateClause create new update clause with given table name.
func (*Builder) NewUpdateQuery ¶
func (b *Builder) NewUpdateQuery(tableName string) *UpdateQuery
NewUpdateQuery create new update query with given table name.
func (*Builder) NewValueList ¶
func (b *Builder) NewValueList(data ...interface{}) *PlainQuery
NewValueList create new value list with given data.
func (*Builder) NewWhereClause ¶
func (b *Builder) NewWhereClause() *WhereClause
NewWhereClause create new where clause
func (*Builder) Or ¶
func (b *Builder) Or(q ...Query) *PlainQuery
Or concat queries with Or operation.
func (*Builder) QueryRow ¶
QueryRow query rowsfrom db with given query. query will be convert by builder driver.
func (*Builder) QueryRows ¶
QueryRows query rows from db with given query. query will be convert by builder driver.
func (*Builder) Search ¶
func (b *Builder) Search(field string, arg string) *PlainQuery
Search return search field query.
arg will be ecapced with EscapeSearch
func (*Builder) TruncateTableQuery ¶
func (b *Builder) TruncateTableQuery(table string) *PlainQuery
TruncateTableQuery return truncate table query
type BuilderDriver ¶
type BuilderDriver interface { ConvertQuery(q Query) (string, []interface{}) TruncateTableCommandBuilder(t string) string LimitCommandBuilder(q *LimitClause) string LimitArgBuilder(q *LimitClause) []interface{} DeleteCommandBuilder(q *DeleteClause) string DeleteArgBuilder(q *DeleteClause) []interface{} CountField() string IsDuplicate(error) bool }
BuilderDriver query builder driver interface
type DB ¶
type DB interface { Exec(query string, args ...interface{}) (sql.Result, error) Query(query string, args ...interface{}) (*sql.Rows, error) QueryRow(query string, args ...interface{}) *sql.Row }
DB sql database interface.
type DeleteClause ¶
type DeleteClause struct { // Builder query builder which create this query. Builder *Builder //TableName database table name TableName string // Prefix query which insert between"DELETE" command and table name. Prefix *PlainQuery }
DeleteClause delete clause struct
func (*DeleteClause) QueryArgs ¶
func (q *DeleteClause) QueryArgs() []interface{}
QueryArgs return query adts
func (*DeleteClause) QueryCommand ¶
func (q *DeleteClause) QueryCommand() string
QueryCommand return query command
type DeleteQuery ¶
type DeleteQuery struct { // Builder query builder which create this query. Builder *Builder // Delete delete query Delete *DeleteClause // Where where query Where *WhereClause // Other query after where Other *PlainQuery }
DeleteQuery delete query
type EmptyBuilderDriver ¶
type EmptyBuilderDriver struct { }
EmptyBuilderDriver empty query builder. Using mysql statements
func (EmptyBuilderDriver) ConvertQuery ¶
func (d EmptyBuilderDriver) ConvertQuery(q Query) (string, []interface{})
ConvertQuery convert query to command and args
func (*EmptyBuilderDriver) CountField ¶
func (d *EmptyBuilderDriver) CountField() string
CountField return count field
func (*EmptyBuilderDriver) DeleteArgBuilder ¶
func (d *EmptyBuilderDriver) DeleteArgBuilder(q *DeleteClause) []interface{}
DeleteArgBuilder build delete args with given delete clause.
func (*EmptyBuilderDriver) DeleteCommandBuilder ¶
func (d *EmptyBuilderDriver) DeleteCommandBuilder(q *DeleteClause) string
DeleteCommandBuilder build delete command with given delete clause.
func (*EmptyBuilderDriver) IsDuplicate ¶
func (d *EmptyBuilderDriver) IsDuplicate(err error) bool
IsDuplicate check if error is Is duplicate error.
func (*EmptyBuilderDriver) LimitArgBuilder ¶
func (d *EmptyBuilderDriver) LimitArgBuilder(q *LimitClause) []interface{}
LimitArgBuilder build limit args with given limit clause.
func (*EmptyBuilderDriver) LimitCommandBuilder ¶
func (d *EmptyBuilderDriver) LimitCommandBuilder(q *LimitClause) string
LimitCommandBuilder build limit command with given limit query.
func (EmptyBuilderDriver) TruncateTableCommandBuilder ¶
func (d EmptyBuilderDriver) TruncateTableCommandBuilder(t string) string
TruncateTableCommandBuilder return truncate table query.
type Field ¶
type Field struct { // Field field name Field string // Data field data Data interface{} }
Field query field struct
type FromClause ¶
FromClause from caluse struuct
func (*FromClause) Add ¶
func (q *FromClause) Add(tableName string) *FromClause
Add add table to form clause
func (*FromClause) AddAlias ¶
func (q *FromClause) AddAlias(alias string, tableName string) *FromClause
AddAlias add table to from clause with given table name and alias
func (*FromClause) QueryArgs ¶
func (q *FromClause) QueryArgs() []interface{}
QueryArgs return query args.
func (*FromClause) QueryCommand ¶
func (q *FromClause) QueryCommand() string
QueryCommand return query command.
type GroupByClause ¶
GroupByClause group by clause struct
func (*GroupByClause) Add ¶
func (q *GroupByClause) Add(fields ...string) *GroupByClause
Add add fields to group by clause
func (*GroupByClause) QueryArgs ¶
func (q *GroupByClause) QueryArgs() []interface{}
QueryArgs return query args.
func (*GroupByClause) QueryCommand ¶
func (q *GroupByClause) QueryCommand() string
QueryCommand return query command
type HavingClause ¶
type HavingClause struct { Buidler *Builder Condition *PlainQuery }
HavingClause having clause struct
func (*HavingClause) QueryArgs ¶
func (q *HavingClause) QueryArgs() []interface{}
QueryArgs return query args
func (*HavingClause) QueryCommand ¶
func (q *HavingClause) QueryCommand() string
QueryCommand return query command
type InsertClause ¶
type InsertClause struct { Builder *Builder Prefix *PlainQuery TableName string Data []QueryData Select *SelectQuery }
InsertClause insert clause
func (*InsertClause) Add ¶
func (q *InsertClause) Add(field string, data interface{}) *InsertClause
Add add field to insert clause with given field name and data
func (*InsertClause) AddFields ¶
func (q *InsertClause) AddFields(m *Fields) *InsertClause
AddFields add fields to insert clause
func (*InsertClause) AddRaw ¶
func (q *InsertClause) AddRaw(field string, raw string) *InsertClause
AddRaw add raw data to insert clause with given field and raw string.
func (*InsertClause) AddSelect ¶
func (q *InsertClause) AddSelect(field string, Select *SelectQuery) *InsertClause
AddSelect add select to field
func (*InsertClause) QueryArgs ¶
func (q *InsertClause) QueryArgs() []interface{}
QueryArgs return query args
func (*InsertClause) QueryCommand ¶
func (q *InsertClause) QueryCommand() string
QueryCommand return query command
func (*InsertClause) WithSelect ¶
func (q *InsertClause) WithSelect(s *SelectQuery) *InsertClause
WithSelect conect insert clause with select. Insert calause fields will be ignored after select setted.
type InsertQuery ¶
type InsertQuery struct { Builder *Builder Insert *InsertClause Other *PlainQuery }
InsertQuery create new insert query.
func (*InsertQuery) Query ¶
func (i *InsertQuery) Query() *PlainQuery
Query convert query to plain query.
type JoinClause ¶
JoinClause query struct
func (*JoinClause) InnerJoin ¶
func (q *JoinClause) InnerJoin() *JoinData
InnerJoin set type of join clause to INNER
func (*JoinClause) LeftJoin ¶
func (q *JoinClause) LeftJoin() *JoinData
LeftJoin set type of join clause to LEFT
func (*JoinClause) QueryArgs ¶
func (q *JoinClause) QueryArgs() []interface{}
QueryArgs return query args
func (*JoinClause) QueryCommand ¶
func (q *JoinClause) QueryCommand() string
QueryCommand return query command
func (*JoinClause) RightJoin ¶
func (q *JoinClause) RightJoin() *JoinData
RightJoin set type of join clause to RIGHT
type JoinData ¶
type JoinData struct { Builder *Builder // Type join type Type string // TableJoin table struct. // Table[0]:table name //Table[1]:table alias Table [2]string // Condition join condition Condition *PlainQuery }
JoinData join clause struct
func (*JoinData) QueryArgs ¶
func (d *JoinData) QueryArgs() []interface{}
QueryArgs return query args
func (*JoinData) QueryCommand ¶
QueryCommand return query command
type LimitClause ¶
type LimitClause struct { // Limit sql limit arg Limit *int // Offset sql offset arg Offset *int // contains filtered or unexported fields }
LimitClause limit clause struct
func (*LimitClause) QueryArgs ¶
func (q *LimitClause) QueryArgs() []interface{}
QueryArgs return query args
func (*LimitClause) QueryCommand ¶
func (q *LimitClause) QueryCommand() string
QueryCommand return query command
func (*LimitClause) SetLimit ¶
func (q *LimitClause) SetLimit(l int) *LimitClause
SetLimit set limit clause linut
func (*LimitClause) SetOffset ¶
func (q *LimitClause) SetOffset(o int) *LimitClause
SetOffset set limit clause offset
type OrderByClause ¶
type OrderByClause struct { // Orders order list Orders []Order // contains filtered or unexported fields }
OrderByClause order by clause struct
func (*OrderByClause) Add ¶
func (q *OrderByClause) Add(field string, asc bool) *OrderByClause
Add add new order to clause with given field and order.
func (*OrderByClause) QueryArgs ¶
func (q *OrderByClause) QueryArgs() []interface{}
QueryArgs return query args
func (*OrderByClause) QueryCommand ¶
func (q *OrderByClause) QueryCommand() string
QueryCommand return query command
type PlainQuery ¶
type PlainQuery struct { Builder *Builder // Command query command Command string // Args qyert args Args []interface{} }
PlainQuery plain query struct
func (*PlainQuery) And ¶
func (q *PlainQuery) And(qs ...Query) *PlainQuery
And concat query with given query list by AND operation
func (*PlainQuery) Exec ¶
func (q *PlainQuery) Exec(db DB) (sql.Result, error)
Exec exec query in given db
func (*PlainQuery) MustExec ¶
func (q *PlainQuery) MustExec(db DB) sql.Result
MustExec exec query in given db. Panic if any error raised.
func (*PlainQuery) Or ¶
func (q *PlainQuery) Or(qs ...Query) *PlainQuery
Or concat query with given query list by OR operation
func (*PlainQuery) QueryArgs ¶
func (q *PlainQuery) QueryArgs() []interface{}
QueryArgs return query args
func (*PlainQuery) QueryCommand ¶
func (q *PlainQuery) QueryCommand() string
QueryCommand return query command
type Query ¶
type Query interface { // QueryCommand return query command QueryCommand() string // QueryArgs return query args QueryArgs() []interface{} }
Query sql query interface
type QueryData ¶
type QueryData struct { // Field data field Field string // Data data value Data []interface{} // Raw data raw value. // if raw is setted,Data field will be ignored. Raw string }
QueryData query data struct
type ResultScanner ¶
type ResultScanner interface {
Scan(dest ...interface{}) error
}
ResultScanner select result scanner interface
type SelectClause ¶
type SelectClause struct { Builder *Builder Prefix *PlainQuery Fields []string // contains filtered or unexported fields }
SelectClause select clause struct
func (*SelectClause) Add ¶
func (q *SelectClause) Add(fields ...string) *SelectClause
Add add field to select clause
func (*SelectClause) AddFields ¶
func (q *SelectClause) AddFields(m *Fields) *SelectClause
AddFields add fields to select clause
func (*SelectClause) AddRaw ¶
func (q *SelectClause) AddRaw(fields ...interface{}) *SelectClause
AddRaw add raw fields to select clause
func (*SelectClause) AddSelect ¶
func (q *SelectClause) AddSelect(Select *SelectQuery) *SelectClause
AddSelect add select subquery to select clause
func (*SelectClause) QueryArgs ¶
func (q *SelectClause) QueryArgs() []interface{}
QueryArgs return query args
func (*SelectClause) QueryCommand ¶
func (q *SelectClause) QueryCommand() string
QueryCommand return query command
func (*SelectClause) Result ¶
func (q *SelectClause) Result() *SelectResult
Result return select result with select clause
type SelectQuery ¶
type SelectQuery struct { Builder *Builder Select *SelectClause From *FromClause Join *JoinClause Where *WhereClause GroupBy *GroupByClause Having *HavingClause OrderBy *OrderByClause Limit *LimitClause Other *PlainQuery }
SelectQuery select query struct.
func (*SelectQuery) Query ¶
func (s *SelectQuery) Query() *PlainQuery
Query convert select query to plain query.
func (*SelectQuery) QueryArgs ¶
func (s *SelectQuery) QueryArgs() []interface{}
QueryArgs return query args
func (*SelectQuery) QueryCommand ¶
func (s *SelectQuery) QueryCommand() string
QueryCommand return query command
func (*SelectQuery) QueryRow ¶
func (s *SelectQuery) QueryRow(db DB) *sql.Row
QueryRow query rowsfrom db with given query. query will be convert by builder driver.
func (*SelectQuery) QueryRows ¶
func (s *SelectQuery) QueryRows(db DB) (*sql.Rows, error)
QueryRows query rows from db with given query. query will be convert by builder driver.
func (*SelectQuery) Result ¶
func (s *SelectQuery) Result() *SelectResult
Result return select result
type SelectResult ¶
type SelectResult struct { Fields []string // contains filtered or unexported fields }
SelectResult select result struct
func NewSelectResult ¶
func NewSelectResult(fields []string) *SelectResult
NewSelectResult create select result with given fields
func (*SelectResult) Bind ¶
func (r *SelectResult) Bind(field string, pointer interface{}) *SelectResult
Bind bind field and value pointer to select result.
func (*SelectResult) BindFields ¶
func (r *SelectResult) BindFields(m *Fields) *SelectResult
BindFields bind fields to select result
func (*SelectResult) Pointers ¶
func (r *SelectResult) Pointers() []interface{}
Pointers return field pointers
func (*SelectResult) ScanFrom ¶
func (r *SelectResult) ScanFrom(s ResultScanner) error
ScanFrom scan data with result scanner
type UpdateClause ¶
type UpdateClause struct { Builder *Builder // Prefix prefix query Prefix *PlainQuery // TableName table name TableName string // Data update query data list Data []QueryData }
UpdateClause update clause struct
func (*UpdateClause) Add ¶
func (q *UpdateClause) Add(field string, data interface{}) *UpdateClause
Add add data with given field name to update clause
func (*UpdateClause) AddFields ¶
func (q *UpdateClause) AddFields(m *Fields) *UpdateClause
AddFields add fields to update clause
func (*UpdateClause) AddRaw ¶
func (q *UpdateClause) AddRaw(field string, raw string) *UpdateClause
AddRaw add raw data to given field Raw data will not be esaped. Dont add unsafe data by this method.
func (*UpdateClause) AddSelect ¶
func (q *UpdateClause) AddSelect(field string, Select *SelectQuery) *UpdateClause
AddSelect add subquery selecto with given field name to update clause
func (*UpdateClause) QueryArgs ¶
func (q *UpdateClause) QueryArgs() []interface{}
QueryArgs return query args
func (*UpdateClause) QueryCommand ¶
func (q *UpdateClause) QueryCommand() string
QueryCommand return query command
type UpdateQuery ¶
type UpdateQuery struct { Builder *Builder Update *UpdateClause Where *WhereClause Other *PlainQuery }
UpdateQuery update query struct
func (*UpdateQuery) Query ¶
func (u *UpdateQuery) Query() *PlainQuery
Query convert update query to plain query.
func (*UpdateQuery) QueryArgs ¶
func (u *UpdateQuery) QueryArgs() []interface{}
QueryArgs return query args
func (*UpdateQuery) QueryCommand ¶
func (u *UpdateQuery) QueryCommand() string
QueryCommand return query command
type WhereClause ¶
type WhereClause struct { Builder *Builder // Condition where condition Condition *PlainQuery }
WhereClause where clause struct
func (*WhereClause) QueryArgs ¶
func (q *WhereClause) QueryArgs() []interface{}
QueryArgs return query args
func (*WhereClause) QueryCommand ¶
func (q *WhereClause) QueryCommand() string
QueryCommand return query command