Documentation ¶
Index ¶
- Constants
- Variables
- type CTE
- type CTECycle
- type CTESearch
- type Combine
- type Conflict
- type ConflictTarget
- type Fetch
- type For
- type Frame
- type From
- func (f *From) AppendIndexHint(i IndexHint)
- func (f *From) AppendJoin(j Join)
- func (f *From) AppendPartition(partitions ...string)
- func (f *From) SetIndexedBy(i *string)
- func (f *From) SetLateral(lateral bool)
- func (f *From) SetOnly(only bool)
- func (f *From) SetTable(table any)
- func (f *From) SetTableAlias(alias string, columns ...string)
- func (f *From) SetWithOrdinality(to bool)
- func (f From) WriteSQL(w io.Writer, d bob.Dialect, start int) ([]any, error)
- type GroupBy
- type GroupingSet
- type Having
- type IWindow
- type IndexHint
- type Join
- type Limit
- type Load
- func (l *Load[Q]) AppendEagerLoadMod(m bob.Mod[Q])
- func (l *Load[Q]) AppendExtraLoader(lo ...bob.ExtraLoader)
- func (l *Load[Q]) AppendLoader(f bob.LoadFunc)
- func (l *Load[Q]) AppendMapperMod(f scan.MapperMod)
- func (l *Load[Q]) GetExtraLoaders() []bob.ExtraLoader
- func (l *Load[Q]) GetLoaders() []bob.LoadFunc
- func (l *Load[Q]) GetMapperMods() []scan.MapperMod
- type NamedWindow
- type Offset
- type OrderBy
- type OrderDef
- type Returning
- type SelectList
- type Set
- type Table
- type Values
- type Where
- type WindowDef
- type Windows
- type With
Constants ¶
View Source
const ( Union = "UNION" Intersect = "INTERSECT" Except = "EXCEPT" )
View Source
const ( SearchBreadth = "BREADTH" SearchDepth = "DEPTH" )
View Source
const ( LockStrengthUpdate = "UPDATE" LockStrengthNoKeyUpdate = "NO KEY UPDATE" )
View Source
const ( LockWaitNoWait = "NOWAIT" LockWaitSkipLocked = "SKIP LOCKED" )
View Source
const ( InnerJoin = "INNER JOIN" LeftJoin = "LEFT JOIN" RightJoin = "RIGHT JOIN" FullJoin = "FULL JOIN" CrossJoin = "CROSS JOIN" StraightJoin = "STRAIGHT_JOIN" )
Variables ¶
View Source
var ErrNoCombinationStrategy = errors.New("Combination strategy must be set")
View Source
var ErrNoLockStrength = errors.New("No lock strength specified")
Functions ¶
This section is empty.
Types ¶
type CTE ¶
type Combine ¶
func (*Combine) SetCombine ¶
type Conflict ¶
type Conflict struct { Do string // DO NOTHING | DO UPDATE Target ConflictTarget Set Where }
func (*Conflict) SetConflict ¶
type ConflictTarget ¶
type Frame ¶
type Frame struct { Defined bool // whether any of the parts was defined Mode string Start any End any // can be nil Exclusion string // can be empty }
func (*Frame) SetExclusion ¶
type From ¶ added in v0.2.0
type From struct { Table any // Aliases Alias string Columns []string // Dialect specific modifiers Only bool // Postgres Lateral bool // Postgres & MySQL WithOrdinality bool // Postgres IndexedBy *string // SQLite Partitions []string // MySQL IndexHints []IndexHint // MySQL // Joins Joins []Join }
func (*From) AppendIndexHint ¶ added in v0.2.0
func (*From) AppendJoin ¶ added in v0.2.0
func (*From) AppendPartition ¶ added in v0.2.0
func (*From) SetIndexedBy ¶ added in v0.2.0
func (*From) SetLateral ¶ added in v0.2.0
func (*From) SetTableAlias ¶ added in v0.2.0
func (*From) SetWithOrdinality ¶ added in v0.2.0
type GroupBy ¶
func (*GroupBy) AppendGroup ¶
func (*GroupBy) SetGroupByDistinct ¶
func (*GroupBy) SetGroupWith ¶
type GroupingSet ¶
type GroupingSet struct { Groups []bob.Expression Type string // GROUPING SET | CUBE | ROLLUP }
type IndexHint ¶
type Join ¶
type Limit ¶
type Limit struct { // Some DBs (e.g. SQite) can take an expression // It is up to the mods to enforce any extra conditions Count any }
type Load ¶ added in v0.2.0
type Load[Q any] struct { LoadFuncs []bob.LoadFunc ExtraLoaders []bob.ExtraLoader EagerLoadMapperMods []scan.MapperMod EagerLoadMods []bob.Mod[Q] }
func (*Load[Q]) AppendEagerLoadMod ¶ added in v0.2.0
func (*Load[Q]) AppendExtraLoader ¶ added in v0.2.0
func (l *Load[Q]) AppendExtraLoader(lo ...bob.ExtraLoader)
func (*Load[Q]) AppendLoader ¶ added in v0.2.0
func (*Load[Q]) AppendMapperMod ¶ added in v0.2.0
func (*Load[Q]) GetExtraLoaders ¶ added in v0.2.0
func (l *Load[Q]) GetExtraLoaders() []bob.ExtraLoader
func (*Load[Q]) GetLoaders ¶ added in v0.2.0
func (*Load[Q]) GetMapperMods ¶ added in v0.2.0
type NamedWindow ¶
type Offset ¶
type Offset struct { // Some DBs (e.g. SQite) can take an expression // It is up to the mods to enforce any extra conditions Count any }
type OrderDef ¶
type SelectList ¶ added in v0.7.0
type SelectList struct {
Columns []any
}
func (*SelectList) AppendSelect ¶ added in v0.7.0
func (s *SelectList) AppendSelect(columns ...any)
type Values ¶
type Values struct { // Query takes the highest priority // If present, will attempt to insert from this query Query bob.Query // for multiple inserts // each sub-slice is one set of values Vals []value }
func (*Values) AppendValues ¶
type WindowDef ¶
type WindowDef struct { From string // an existing window name Frame // contains filtered or unexported fields }
func (*WindowDef) AddOrderBy ¶
func (*WindowDef) AddPartitionBy ¶
type Windows ¶
type Windows struct {
Windows []NamedWindow
}
func (*Windows) AppendWindow ¶
func (wi *Windows) AppendWindow(w NamedWindow)
Click to show internal directories.
Click to hide internal directories.