Versions in this module Expand all Collapse all v0 v0.0.1 Mar 29, 2020 Changes in this version + const JOIN_FULL + const JOIN_INNER + const JOIN_LEFT + const JOIN_RIGHT + const ORDER_ASC + const ORDER_DESC + var ErrNoRows = errors.New("goq: no rows in result set") + func ExecCollectorsForTest(cllcts []Collector, rows [][]interface{}, selects []Selection, ...) error + func NewInitConf(selects []Selection, colNames []string) *initConf + type Aliased interface + Alias func() string + type AnonExpr interface + As func(alias string) Aliased + type Builder struct + func NewBuilder(dl dialect.Dialect) *Builder + type CaseElseExpr struct + func (ce *CaseElseExpr) Apply(q *Query, ctx DBContext) + func (ce *CaseElseExpr) Selection() Selection + func (o *CaseElseExpr) Add(v interface{}) AnonExpr + func (o *CaseElseExpr) As(alias string) Aliased + func (o *CaseElseExpr) Asc() Orderer + func (o *CaseElseExpr) Between(start interface{}, end interface{}) PredExpr + func (o *CaseElseExpr) Concat(v interface{}) AnonExpr + func (o *CaseElseExpr) Desc() Orderer + func (o *CaseElseExpr) Dvd(v interface{}) AnonExpr + func (o *CaseElseExpr) Eq(v interface{}) PredExpr + func (o *CaseElseExpr) Gt(v interface{}) PredExpr + func (o *CaseElseExpr) Gte(v interface{}) PredExpr + func (o *CaseElseExpr) In(vals interface{}) PredExpr + func (o *CaseElseExpr) IsNotNull() PredExpr + func (o *CaseElseExpr) IsNull() PredExpr + func (o *CaseElseExpr) Like(s string) PredExpr + func (o *CaseElseExpr) Lt(v interface{}) PredExpr + func (o *CaseElseExpr) Lte(v interface{}) PredExpr + func (o *CaseElseExpr) Mlt(v interface{}) AnonExpr + func (o *CaseElseExpr) Neq(v interface{}) PredExpr + func (o *CaseElseExpr) NotIn(vals interface{}) PredExpr + func (o *CaseElseExpr) Ordering() Ordering + func (o *CaseElseExpr) Sbt(v interface{}) AnonExpr + type CaseExpr struct + func (c *CaseExpr) Apply(q *Query, ctx DBContext) + func (c *CaseExpr) Else(v interface{}) *CaseElseExpr + func (c *CaseExpr) Selection() Selection + func (o *CaseExpr) Add(v interface{}) AnonExpr + func (o *CaseExpr) As(alias string) Aliased + func (o *CaseExpr) Asc() Orderer + func (o *CaseExpr) Between(start interface{}, end interface{}) PredExpr + func (o *CaseExpr) Concat(v interface{}) AnonExpr + func (o *CaseExpr) Desc() Orderer + func (o *CaseExpr) Dvd(v interface{}) AnonExpr + func (o *CaseExpr) Eq(v interface{}) PredExpr + func (o *CaseExpr) Gt(v interface{}) PredExpr + func (o *CaseExpr) Gte(v interface{}) PredExpr + func (o *CaseExpr) In(vals interface{}) PredExpr + func (o *CaseExpr) IsNotNull() PredExpr + func (o *CaseExpr) IsNull() PredExpr + func (o *CaseExpr) Like(s string) PredExpr + func (o *CaseExpr) Lt(v interface{}) PredExpr + func (o *CaseExpr) Lte(v interface{}) PredExpr + func (o *CaseExpr) Mlt(v interface{}) AnonExpr + func (o *CaseExpr) Neq(v interface{}) PredExpr + func (o *CaseExpr) NotIn(vals interface{}) PredExpr + func (o *CaseExpr) Ordering() Ordering + func (o *CaseExpr) Sbt(v interface{}) AnonExpr + type Clauses interface + GroupBy func(exps ...Expr) GroupByClause + Joins func(joins ...JoinDefiner) Clauses + Where func(preds ...PredExpr) Clauses + type Collector interface + func InitCollectors(collectors []Collector, initConf *initConf) ([]Collector, error) + type CollectorMaker struct + func NewMaker() *CollectorMaker + func (cm *CollectorMaker) ToElem(ptr interface{}) *ElemCollector + func (cm *CollectorMaker) ToMap(ptr interface{}) *MapCollectorMaker + func (cm *CollectorMaker) ToRowMap(mp *map[string]interface{}) *RowMapCollector + func (cm *CollectorMaker) ToRowMapSlice(slice *[]map[string]interface{}) *RowMapSliceCollector + func (cm *CollectorMaker) ToSlice(ptr interface{}) *SliceCollector + func (cm *CollectorMaker) ToSliceMap(ptr interface{}) *SliceMapCollectorMaker + type Column struct + func (c *Column) Apply(q *Query, ctx DBContext) + func (c *Column) ColumnName() string + func (c *Column) FieldName() string + func (c *Column) Meta() *ColumnMeta + func (c *Column) Selection() Selection + func (c *Column) StructName() string + func (c *Column) TableAlias() string + func (c *Column) TableName() string + func (o *Column) Add(v interface{}) AnonExpr + func (o *Column) As(alias string) Aliased + func (o *Column) Asc() Orderer + func (o *Column) Between(start interface{}, end interface{}) PredExpr + func (o *Column) Concat(v interface{}) AnonExpr + func (o *Column) Desc() Orderer + func (o *Column) Dvd(v interface{}) AnonExpr + func (o *Column) Eq(v interface{}) PredExpr + func (o *Column) Gt(v interface{}) PredExpr + func (o *Column) Gte(v interface{}) PredExpr + func (o *Column) In(vals interface{}) PredExpr + func (o *Column) IsNotNull() PredExpr + func (o *Column) IsNull() PredExpr + func (o *Column) Like(s string) PredExpr + func (o *Column) Lt(v interface{}) PredExpr + func (o *Column) Lte(v interface{}) PredExpr + func (o *Column) Mlt(v interface{}) AnonExpr + func (o *Column) Neq(v interface{}) PredExpr + func (o *Column) NotIn(vals interface{}) PredExpr + func (o *Column) Ordering() Ordering + func (o *Column) Sbt(v interface{}) AnonExpr + type ColumnBuilder struct + func (cb *ColumnBuilder) Bld() *Column + func (cb *ColumnBuilder) PK() *ColumnBuilder + type ColumnList struct + func NewColumnList(cols []*Column) *ColumnList + func (el *ColumnList) Apply(q *Query, ctx DBContext) + func (el *ColumnList) Columns() []*Column + func (el *ColumnList) Selection() Selection + type ColumnMaker struct + func NewColumnMaker(structName, tableName string) *ColumnMaker + func (m *ColumnMaker) As(alias string) *ColumnMaker + func (m *ColumnMaker) Col(fieldName, name string) *ColumnBuilder + type ColumnMeta struct + PK bool + type DB struct + DB *sql.DB + func Open(driver, source string) (*DB, error) + func (d *DB) Begin() (*Tx, error) + func (d *DB) BeginTx(ctx context.Context, opts *sql.TxOptions) (*Tx, error) + func (d *DB) Close() error + func (d *DB) Dialect() dialect.Dialect + func (d *DB) Exec(query QueryRoot) (sql.Result, error) + func (d *DB) ExecContext(ctx context.Context, query QueryRoot) (sql.Result, error) + func (d *DB) Query(query QueryExpr) *Runner + func (d *DB) QueryContext(ctx context.Context, query QueryExpr) *Runner + type DBContext interface + Placeholder func(typ string, prevArgs []interface{}) string + QuoteIdent func(v string) string + type Delete struct + func (dlt *Delete) Apply(q *Query, ctx DBContext) + func (dlt *Delete) Construct() (Query, error) + func (dlt *Delete) Where(preds ...PredExpr) *Delete + type DynmTable struct + func (t *DynmTable) ApplyTable(q *Query, ctx DBContext) + func (t *DynmTable) As(alias string) *DynmTable + type ElemCollector struct + func (cl *ElemCollector) ImplSingleCollector() + type Expr interface + Add func(v interface{}) AnonExpr + Between func(start interface{}, end interface{}) PredExpr + Concat func(s interface{}) AnonExpr + Dvd func(v interface{}) AnonExpr + Eq func(v interface{}) PredExpr + Gt func(v interface{}) PredExpr + Gte func(v interface{}) PredExpr + In func(valsOrQuery interface{}) PredExpr + IsNotNull func() PredExpr + IsNull func() PredExpr + Like func(s string) PredExpr + Lt func(v interface{}) PredExpr + Lte func(v interface{}) PredExpr + Mlt func(v interface{}) AnonExpr + Neq func(v interface{}) PredExpr + Sbt func(v interface{}) AnonExpr + type GroupByClause interface + Having func(preds ...PredExpr) GroupByClause + type Insert struct + func (ins *Insert) Apply(q *Query, ctx DBContext) + func (ins *Insert) Construct() (Query, error) + type InsertMaker struct + func (m *InsertMaker) Values(elems ...interface{}) *Insert + func (m *InsertMaker) ValuesMap(valsList ...Values) *Insert + type JoinClause struct + func (jc *JoinClause) On(pred PredExpr) *JoinOn + type JoinDef struct + func Join(table TableLike) *JoinDef + func (j *JoinDef) Full() *JoinDef + func (j *JoinDef) Left() *JoinDef + func (j *JoinDef) On(on PredExpr) *JoinDef + func (j *JoinDef) Right() *JoinDef + type JoinDefiner interface + type JoinOn struct + type JoinType string + type ListCollector interface + ImplListCollector func() + type MapCollector struct + func (cl *MapCollector) ImplListCollector() + type MapCollectorMaker struct + func (m *MapCollectorMaker) By(key Selectable) *MapCollector + func (m *MapCollectorMaker) ByWith(ptr interface{}, key Selectable) *MapCollector + type ModelCollectorMaker struct + func NewModelCollectorMaker(cols []*Column, alias string) *ModelCollectorMaker + func (cm *ModelCollectorMaker) ToElem(ptr interface{}) *ModelElemCollector + func (cm *ModelCollectorMaker) ToMap(ptr interface{}) *ModelMapCollector + func (cm *ModelCollectorMaker) ToSlice(ptr interface{}) *ModelSliceCollector + func (cm *ModelCollectorMaker) ToSliceMap(ptr interface{}) *ModelSliceMapCollectorMaker + func (cm *ModelCollectorMaker) ToUniqSlice(ptr interface{}) *ModelUniqSliceCollector + func (cm *ModelCollectorMaker) ToUniqSliceMap(ptr interface{}) *ModelUniqSliceMapCollectorMaker + type ModelElemCollector struct + func (cl *ModelElemCollector) ImplSingleCollector() + type ModelMapCollector struct + func (cl *ModelMapCollector) ImplListCollector() + type ModelSliceCollector struct + func (cl *ModelSliceCollector) ImplListCollector() + type ModelSliceMapCollector struct + func (cl *ModelSliceMapCollector) ImplListCollector() + type ModelSliceMapCollectorMaker struct + func (m *ModelSliceMapCollectorMaker) By(key Selectable) *ModelSliceMapCollector + func (m *ModelSliceMapCollectorMaker) ByWith(ptr interface{}, key Selectable) *ModelSliceMapCollector + type ModelUniqSliceCollector struct + func (cl *ModelUniqSliceCollector) ImplListCollector() + type ModelUniqSliceMapCollector struct + func (cl *ModelUniqSliceMapCollector) ImplListCollector() + type ModelUniqSliceMapCollectorMaker struct + func (m *ModelUniqSliceMapCollectorMaker) By(key Selectable) *ModelUniqSliceMapCollector + func (m *ModelUniqSliceMapCollectorMaker) ByWith(ptr interface{}, key Selectable) *ModelUniqSliceMapCollector + type Order string + type Orderer interface + Ordering func() Ordering + type Ordering struct + func (ord Ordering) Ordering() Ordering + type PredExpr interface + ImplPredExpr func() + type Query struct + func (q *Query) Args() []interface{} + func (q *Query) Err() error + func (q *Query) Query() string + func (q Query) String() string + type QueryApplier interface + Apply func(q *Query, ctx DBContext) + type QueryBuilder struct + func NewQueryBuilder(dl dialect.Dialect) *QueryBuilder + func (b *QueryBuilder) And(preds ...PredExpr) PredExpr + func (b *QueryBuilder) Avg(exp Expr) AnonExpr + func (b *QueryBuilder) Case(cases ...*WhenClause) *CaseExpr + func (b *QueryBuilder) CaseOf(val Expr, cases ...*WhenClause) *CaseExpr + func (b *QueryBuilder) Coalesce(exp Expr, alt interface{}) AnonExpr + func (b *QueryBuilder) Col(table, col string) *Column + func (b *QueryBuilder) Concat(exps ...interface{}) AnonExpr + func (b *QueryBuilder) Count(exp Expr) AnonExpr + func (b *QueryBuilder) DeleteFrom(table SchemaTable) *Delete + func (b *QueryBuilder) Exists(query QueryExpr) PredExpr + func (b *QueryBuilder) FullJoin(table TableLike) *JoinClause + func (b *QueryBuilder) Func(name string, args ...interface{}) AnonExpr + func (b *QueryBuilder) InnerJoin(table TableLike) *JoinClause + func (b *QueryBuilder) InsertInto(table SchemaTable, cols ...*Column) *InsertMaker + func (b *QueryBuilder) LeftJoin(table TableLike) *JoinClause + func (b *QueryBuilder) Max(exp Expr) AnonExpr + func (b *QueryBuilder) Min(exp Expr) AnonExpr + func (b *QueryBuilder) Name(name string) *nameExpr + func (b *QueryBuilder) NotExists(query QueryExpr) PredExpr + func (b *QueryBuilder) Null() AnonExpr + func (b *QueryBuilder) Or(preds ...PredExpr) PredExpr + func (b *QueryBuilder) Parens(exp Expr) AnonExpr + func (b *QueryBuilder) Query(exp QueryApplier) Query + func (b *QueryBuilder) Raw(sql string) *RawExpr + func (b *QueryBuilder) RightJoin(table TableLike) *JoinClause + func (b *QueryBuilder) Select(exps ...Selectable) SelectClause + func (b *QueryBuilder) SelectDistinct(exps ...Selectable) SelectClause + func (b *QueryBuilder) Sum(exp Expr) AnonExpr + func (b *QueryBuilder) Table(name string) *DynmTable + func (b *QueryBuilder) Update(table SchemaTable) *UpdateMaker + func (b *QueryBuilder) Var(v interface{}) AnonExpr + func (b *QueryBuilder) VarT(v interface{}, typ string) AnonExpr + func (b *QueryBuilder) When(when interface{}) *WhenClause + type QueryExpr interface + As func(alias string) QueryTable + Limit func(n int) QueryExpr + Offset func(n int) QueryExpr + OrderBy func(ords ...Orderer) QueryExpr + Select func(exps ...Selectable) Clauses + Selections func() []Selection + WithLimits func(limit, offset int) QueryExpr + type QueryRoot interface + Construct func() (Query, error) + type QueryTable interface + type Queryable interface + QueryContext func(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) + type RawExpr struct + func (o *RawExpr) Add(v interface{}) AnonExpr + func (o *RawExpr) As(alias string) Aliased + func (o *RawExpr) Asc() Orderer + func (o *RawExpr) Between(start interface{}, end interface{}) PredExpr + func (o *RawExpr) Concat(v interface{}) AnonExpr + func (o *RawExpr) Desc() Orderer + func (o *RawExpr) Dvd(v interface{}) AnonExpr + func (o *RawExpr) Eq(v interface{}) PredExpr + func (o *RawExpr) Gt(v interface{}) PredExpr + func (o *RawExpr) Gte(v interface{}) PredExpr + func (o *RawExpr) In(vals interface{}) PredExpr + func (o *RawExpr) IsNotNull() PredExpr + func (o *RawExpr) IsNull() PredExpr + func (o *RawExpr) Like(s string) PredExpr + func (o *RawExpr) Lt(v interface{}) PredExpr + func (o *RawExpr) Lte(v interface{}) PredExpr + func (o *RawExpr) Mlt(v interface{}) AnonExpr + func (o *RawExpr) Neq(v interface{}) PredExpr + func (o *RawExpr) NotIn(vals interface{}) PredExpr + func (o *RawExpr) Ordering() Ordering + func (o *RawExpr) Sbt(v interface{}) AnonExpr + func (r *RawExpr) Apply(q *Query, ctx DBContext) + func (r *RawExpr) ImplPredExpr() + func (r *RawExpr) Selection() Selection + type RowMapCollector struct + func (cl *RowMapCollector) ImplSingleCollector() + type RowMapSliceCollector struct + func (cl *RowMapSliceCollector) ImplListCollector() + type Runner struct + func NewRunner(ctx context.Context, db Queryable, query QueryExpr) *Runner + func (r *Runner) Collect(collectors ...ListCollector) error + func (r *Runner) First(collectors ...SingleCollector) error + func (r *Runner) Rows() (*sql.Rows, error) + type SchemaTable interface + All func() *ColumnList + Except func(cols ...*Column) *ColumnList + type SelectClause interface + From func(table TableLike, tables ...TableLike) Clauses + type Selectable interface + Selection func() Selection + type Selection struct + Alias string + ColumnName string + FieldName string + StructName string + TableAlias string + TableName string + type SingleCollector interface + ImplSingleCollector func() + type SliceCollector struct + func (cl *SliceCollector) ImplListCollector() + type SliceMapCollector struct + func (cl *SliceMapCollector) ImplListCollector() + type SliceMapCollectorMaker struct + func (m *SliceMapCollectorMaker) By(key Selectable) *SliceMapCollector + func (m *SliceMapCollectorMaker) ByWith(ptr interface{}, key Selectable) *SliceMapCollector + type Table struct + func NewTable(name, alias string, cols []*Column) Table + func (t *Table) All() *ColumnList + func (t *Table) ApplyTable(q *Query, ctx DBContext) + func (t *Table) Except(excepts ...*Column) *ColumnList + type TableLike interface + ApplyTable func(q *Query, ctx DBContext) + type Tx struct + Tx *sql.Tx + func (tx *Tx) Commit() error + func (tx *Tx) Exec(query QueryRoot) (sql.Result, error) + func (tx *Tx) Query(query QueryExpr) *Runner + func (tx *Tx) Rollback() error + type Update struct + func (upd *Update) Apply(q *Query, ctx DBContext) + func (upd *Update) Construct() (Query, error) + func (upd *Update) Where(preds ...PredExpr) *Update + type UpdateMaker struct + func (m *UpdateMaker) Elem(elem interface{}, cols ...*Column) *Update + func (m *UpdateMaker) Set(vals Values) *Update + type Values map[*Column]interface + type WhenClause struct + func (w *WhenClause) Then(then interface{}) *WhenClause + type Where struct + func (w *Where) Apply(q *Query, ctx DBContext)