Documentation
¶
Index ¶
- func BindNamedSQL(input []Param, sql string) string
- func BuildUpdateCTEInsertSQL(input []Param, cteName string, update CTEUpdate, insert InsertSelect) string
- func BuildWithPlanSQL(input []Param, ctes []NamedCTE, insert InsertSelectPlan) string
- func BuildWithSQL(input []Param, ctes []CTE, mainSQL string) string
- type Binding
- type CTE
- type CTEFromBuilder
- func (b CTEFromBuilder) Build() string
- func (b CTEFromBuilder) JoinCTE(name string, left, right ColumnRef) CTEFromBuilder
- func (b CTEFromBuilder) JoinTable(table TableRef, left, right ColumnRef) CTEFromBuilder
- func (b CTEFromBuilder) LeftJoinCTE(name string, left, right ColumnRef) CTEFromBuilder
- func (b CTEFromBuilder) LeftJoinTable(table TableRef, left, right ColumnRef) CTEFromBuilder
- func (b CTEFromBuilder) RightJoinCTE(name string, left, right ColumnRef) CTEFromBuilder
- func (b CTEFromBuilder) RightJoinTable(table TableRef, left, right ColumnRef) CTEFromBuilder
- type CTESelect
- type CTESelectBuilder
- func (b *CTESelectBuilder) Build() CTESelect
- func (b *CTESelectBuilder) FromCTE(name string) *CTESelectBuilder
- func (b *CTESelectBuilder) FromSource(from CTEFromBuilder) *CTESelectBuilder
- func (b *CTESelectBuilder) FromTable(table TableRef) *CTESelectBuilder
- func (b *CTESelectBuilder) JoinCTE(name string, left, right ColumnRef) *CTESelectBuilder
- func (b *CTESelectBuilder) JoinTable(table TableRef, left, right ColumnRef) *CTESelectBuilder
- func (b *CTESelectBuilder) LeftJoinCTE(name string, left, right ColumnRef) *CTESelectBuilder
- func (b *CTESelectBuilder) LeftJoinTable(table TableRef, left, right ColumnRef) *CTESelectBuilder
- func (b *CTESelectBuilder) RightJoinCTE(name string, left, right ColumnRef) *CTESelectBuilder
- func (b *CTESelectBuilder) RightJoinTable(table TableRef, left, right ColumnRef) *CTESelectBuilder
- func (b *CTESelectBuilder) Select(items ...CTESelectItem) *CTESelectBuilder
- func (b *CTESelectBuilder) WhereEq(columns ...ColumnRef) *CTESelectBuilder
- func (b *CTESelectBuilder) WhereNull(columns ...ColumnRef) *CTESelectBuilder
- type CTESelectItem
- type CTEUpdate
- type CTEUpdateBuilder
- func (b *CTEUpdateBuilder) Build() CTEUpdate
- func (b *CTEUpdateBuilder) Returning(columns ...ColumnRef) *CTEUpdateBuilder
- func (b *CTEUpdateBuilder) Set(columns ...ColumnRef) *CTEUpdateBuilder
- func (b *CTEUpdateBuilder) WhereEq(columns ...ColumnRef) *CTEUpdateBuilder
- func (b *CTEUpdateBuilder) WhereNull(columns ...ColumnRef) *CTEUpdateBuilder
- type ColumnRef
- func (c ColumnRef) As(paramName, paramType string) ColumnRef
- func (c ColumnRef) AsOptional(paramName string) ColumnRef
- func (c ColumnRef) AsRequired(paramName string) ColumnRef
- func (c ColumnRef) AsSlice(paramName string) ColumnRef
- func (c ColumnRef) Asc() string
- func (c ColumnRef) Desc() string
- func (c ColumnRef) From() ColumnRef
- func (c ColumnRef) Input() InputRef
- func (c ColumnRef) Max() ColumnRef
- func (c ColumnRef) Min() ColumnRef
- func (c ColumnRef) Named(paramName string) ColumnRef
- func (c ColumnRef) Optional() ColumnRef
- func (c ColumnRef) Pattern() ColumnRef
- func (c ColumnRef) QualifierOrTable() string
- func (c ColumnRef) Required() ColumnRef
- func (c ColumnRef) Role(role string) ColumnRef
- func (c ColumnRef) Slice() ColumnRef
- func (c ColumnRef) To() ColumnRef
- type FKRelation
- type HavingExpr
- type InputRef
- type InsertSelect
- type InsertSelectPlan
- type JSONBPair
- type Join
- type JoinOnBuilder
- func (j *JoinOnBuilder) And(configure func(*JoinOnBuilder)) *JoinOnBuilder
- func (j *JoinOnBuilder) Eq(left, right ColumnRef) *JoinOnBuilder
- func (j *JoinOnBuilder) Gt(left, right ColumnRef) *JoinOnBuilder
- func (j *JoinOnBuilder) Lt(left, right ColumnRef) *JoinOnBuilder
- func (j *JoinOnBuilder) Null(column ColumnRef) *JoinOnBuilder
- func (j *JoinOnBuilder) Or(configure func(*JoinOnBuilder)) *JoinOnBuilder
- type JoinPredicate
- type JoinType
- type Keyset
- type LockStrength
- type LockWaitMode
- type LockingClause
- type LogicalOperator
- type MethodKind
- type MethodRef
- type NamedCTE
- type OnConflict
- type OpBuilder
- func DeleteFrom(name string, table TableRef) *OpBuilder
- func DeleteReturning(name string, table TableRef) *OpBuilder
- func Exists(name string, table TableRef) *OpBuilder
- func GetOne(name string, table TableRef) *OpBuilder
- func InsertMany(name string, table TableRef) *OpBuilder
- func InsertReturning(name string, table TableRef) *OpBuilder
- func List(name string, table TableRef) *OpBuilder
- func PatchUpdate(name string, table TableRef) *OpBuilder
- func Update(name string, table TableRef) *OpBuilder
- func UpdateReturning(name string, table TableRef) *OpBuilder
- func UpsertMany(name string, table TableRef) *OpBuilder
- func (b *OpBuilder) AtomicBatch() *OpBuilder
- func (b *OpBuilder) BatchSize(size int) *OpBuilder
- func (b *OpBuilder) Build() Operation
- func (b *OpBuilder) CopyMode() *OpBuilder
- func (b *OpBuilder) DoNothing() *OpBuilder
- func (b *OpBuilder) DoUpdateSet(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) DoUpdateWhereExcludedGt(column ColumnRef) *OpBuilder
- func (b *OpBuilder) DoUpdateWhereExpr(expr string) *OpBuilder
- func (b *OpBuilder) ForShare() *OpBuilder
- func (b *OpBuilder) ForUpdate() *OpBuilder
- func (b *OpBuilder) From(table TableRef) *OpBuilder
- func (b *OpBuilder) FromCTE(name string) *OpBuilder
- func (b *OpBuilder) FromSource(from string) *OpBuilder
- func (b *OpBuilder) GroupBy(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) HavingCountGt(column ColumnRef, paramName string) *OpBuilder
- func (b *OpBuilder) HavingExpr(expr string, params ...Param) *OpBuilder
- func (b *OpBuilder) Inputs(inputs ...InputRef) *OpBuilder
- func (b *OpBuilder) Join(table TableRef, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) JoinCTE(name string, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) JoinFK(relation FKRelation) *OpBuilder
- func (b *OpBuilder) JoinFrom(table TableRef, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) JoinOn(table TableRef, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
- func (b *OpBuilder) JoinPath(relations ...FKRelation) *OpBuilder
- func (b *OpBuilder) JoinRole(table TableRef, role string, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) JoinTable(table TableColumns, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) JoinTableOn(table TableColumns, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
- func (b *OpBuilder) KeysetAsc(column, cursor ColumnRef, limitParamName string) *OpBuilder
- func (b *OpBuilder) KeysetAscAuto(column ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetAscAutoBy(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetAscBiAutoBy(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetAscBiByInput(limit InputRef, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetAscBy(limitParamName string, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetAscByInput(limit InputRef, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetAscWith(column, cursor ColumnRef, limit InputRef) *OpBuilder
- func (b *OpBuilder) KeysetDesc(column, cursor ColumnRef, limitParamName string) *OpBuilder
- func (b *OpBuilder) KeysetDescAuto(column ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetDescAutoBy(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetDescBiAutoBy(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetDescBiByInput(limit InputRef, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetDescBy(limitParamName string, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetDescByInput(limit InputRef, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) KeysetDescWith(column, cursor ColumnRef, limit InputRef) *OpBuilder
- func (b *OpBuilder) LeftJoin(table TableRef, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) LeftJoinCTE(name string, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) LeftJoinFK(relation FKRelation) *OpBuilder
- func (b *OpBuilder) LeftJoinFrom(table TableRef, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) LeftJoinOn(table TableRef, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
- func (b *OpBuilder) LeftJoinRole(table TableRef, role string, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) LeftJoinTable(table TableColumns, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) LeftJoinTableOn(table TableColumns, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
- func (b *OpBuilder) NoWait() *OpBuilder
- func (b *OpBuilder) On(configure func(*JoinOnBuilder)) *OpBuilder
- func (b *OpBuilder) OnConflict(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) OnConflictConstraint(name string) *OpBuilder
- func (b *OpBuilder) OrderByAsc(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) OrderByDesc(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) PatchSet(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) Returning(values ...any) *OpBuilder
- func (b *OpBuilder) RightJoin(table TableRef, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) RightJoinCTE(name string, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) RightJoinFK(relation FKRelation) *OpBuilder
- func (b *OpBuilder) RightJoinFrom(table TableRef, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) RightJoinOn(table TableRef, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
- func (b *OpBuilder) RightJoinRole(table TableRef, role string, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) RightJoinTable(table TableColumns, left, right ColumnRef) *OpBuilder
- func (b *OpBuilder) RightJoinTableOn(table TableColumns, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
- func (b *OpBuilder) Select(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) SelectAll(table TableColumns) *OpBuilder
- func (b *OpBuilder) SelectAs(column ColumnRef, fieldName string) *OpBuilder
- func (b *OpBuilder) SelectAsMap(fields map[string]ColumnRef) *OpBuilder
- func (b *OpBuilder) SelectExprAs(expr, fieldName, fieldType string) *OpBuilder
- func (b *OpBuilder) SelectOptional(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) SelectOptionalAs(column ColumnRef, fieldName string) *OpBuilder
- func (b *OpBuilder) SelectOptionalAsMap(fields map[string]ColumnRef) *OpBuilder
- func (b *OpBuilder) SelectRequired(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) SelectRequiredAs(column ColumnRef, fieldName string) *OpBuilder
- func (b *OpBuilder) SelectRequiredAsMap(fields map[string]ColumnRef) *OpBuilder
- func (b *OpBuilder) SelectRole(role string, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) SelectRoleAll(role string, table TableColumns) *OpBuilder
- func (b *OpBuilder) SelectRoleOptional(role string, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) SelectRoleRequired(role string, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) Set(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) SetTable(table TableColumns, except ...ColumnRef) *OpBuilder
- func (b *OpBuilder) SkipLocked() *OpBuilder
- func (b *OpBuilder) Stepf(format string, args ...ColumnRef) *OpBuilder
- func (b *OpBuilder) StepfInput(format string, inputNames ...string) *OpBuilder
- func (b *OpBuilder) StepfInputs(format string, inputs ...InputRef) *OpBuilder
- func (b *OpBuilder) StepfWhereEq(format string, columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereAnd(configure func(*WhereGroupBuilder)) *OpBuilder
- func (b *OpBuilder) WhereArrayContains(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereArrayOverlap(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereBetween(column, from, to ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereEq(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereEqAll(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereEqAny(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereEqAs(column ColumnRef, paramName string) *OpBuilder
- func (b *OpBuilder) WhereEqOptionalAs(column ColumnRef, paramName string) *OpBuilder
- func (b *OpBuilder) WhereEqRequiredAs(column ColumnRef, paramName string) *OpBuilder
- func (b *OpBuilder) WhereExists(subquery SubqueryPlan) *OpBuilder
- func (b *OpBuilder) WhereGt(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereILike(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereIn(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereInSubquery(column ColumnRef, subquery SubqueryPlan) *OpBuilder
- func (b *OpBuilder) WhereJSONContains(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereJSONHasAny(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereJSONHasKey(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereLike(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereLt(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereNotExists(subquery SubqueryPlan) *OpBuilder
- func (b *OpBuilder) WhereNull(columns ...ColumnRef) *OpBuilder
- func (b *OpBuilder) WhereOr(configure func(*WhereGroupBuilder)) *OpBuilder
- func (b *OpBuilder) WithCTE(ctes ...NamedCTE) *OpBuilder
- func (b *OpBuilder) WithoutPolicy(name, reason string) *OpBuilder
- func (b *OpBuilder) WithoutPolicyScope(scope, reason string) *OpBuilder
- type Operation
- type Param
- type PolicyBuilder
- func (b *PolicyBuilder) Build() QueryPolicy
- func (b *PolicyBuilder) ForMethods(kinds ...MethodKind) *PolicyBuilder
- func (b *PolicyBuilder) ForReads() *PolicyBuilder
- func (b *PolicyBuilder) ForWrites() *PolicyBuilder
- func (b *PolicyBuilder) Scope(scope string) *PolicyBuilder
- func (b *PolicyBuilder) WhereArrayContains(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereArrayOverlap(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereBetween(column, from, to ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereEq(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereEqAll(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereEqAny(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereGt(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereILike(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereIn(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereJSONContains(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereJSONHasAny(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereJSONHasKey(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereLike(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereLt(columns ...ColumnRef) *PolicyBuilder
- func (b *PolicyBuilder) WhereNull(columns ...ColumnRef) *PolicyBuilder
- type PolicyOptOut
- type Predicate
- type PredicateKind
- type QueryPolicy
- type RawOpBuilder
- func (b *RawOpBuilder) Build() RawOperation
- func (b *RawOpBuilder) Inputs(params ...Param) *RawOpBuilder
- func (b *RawOpBuilder) InputsRefs(inputs ...InputRef) *RawOpBuilder
- func (b *RawOpBuilder) Plan(plan SQLPlan) *RawOpBuilder
- func (b *RawOpBuilder) ReturnsRowsAffected() *RawOpBuilder
- func (b *RawOpBuilder) RowsAffected() *RawOpBuilder
- func (b *RawOpBuilder) SQL(value any) *RawOpBuilder
- func (b *RawOpBuilder) StepfInput(format string, inputNames ...string) *RawOpBuilder
- func (b *RawOpBuilder) StepfInputs(format string, inputs ...InputRef) *RawOpBuilder
- func (b *RawOpBuilder) UsesTables(tables ...TableRef) *RawOpBuilder
- type RawOperation
- type SQLExpr
- type SQLPlan
- type SelectExpr
- type SubqueryBuilder
- func (b *SubqueryBuilder) Build() SubqueryPlan
- func (b *SubqueryBuilder) Join(table TableRef, left, right ColumnRef) *SubqueryBuilder
- func (b *SubqueryBuilder) LeftJoin(table TableRef, left, right ColumnRef) *SubqueryBuilder
- func (b *SubqueryBuilder) RightJoin(table TableRef, left, right ColumnRef) *SubqueryBuilder
- func (b *SubqueryBuilder) Select(columns ...ColumnRef) *SubqueryBuilder
- func (b *SubqueryBuilder) SelectExpr(expr string) *SubqueryBuilder
- func (b *SubqueryBuilder) WhereEq(columns ...ColumnRef) *SubqueryBuilder
- func (b *SubqueryBuilder) WhereEqColumns(left, right ColumnRef) *SubqueryBuilder
- func (b *SubqueryBuilder) WhereNull(columns ...ColumnRef) *SubqueryBuilder
- type SubqueryPlan
- type TableColumns
- type TableRef
- type TxBranchBuilder
- func (b *TxBranchBuilder) Call(method MethodRef) *TxBranchBuilder
- func (b *TxBranchBuilder) CallAs(method MethodRef, saveAs string) *TxBranchBuilder
- func (b *TxBranchBuilder) CallAsRef(method MethodRef, saveAs InputRef) *TxBranchBuilder
- func (b *TxBranchBuilder) CallAsStepf(method MethodRef, saveAs, format string, inputNames ...string) *TxBranchBuilder
- func (b *TxBranchBuilder) CallAsStepfRef(method MethodRef, saveAs InputRef, format string, inputs ...InputRef) *TxBranchBuilder
- func (b *TxBranchBuilder) CallStepf(method MethodRef, format string, inputNames ...string) *TxBranchBuilder
- func (b *TxBranchBuilder) CallStepfInputs(method MethodRef, format string, inputs ...InputRef) *TxBranchBuilder
- func (b *TxBranchBuilder) Exec(stepName string, sql any) *TxBranchBuilder
- func (b *TxBranchBuilder) ExecFailIfNoRows(stepName string, sql any) *TxBranchBuilder
- func (b *TxBranchBuilder) Execf(stepFormat string, sql any, inputNames ...string) *TxBranchBuilder
- func (b *TxBranchBuilder) ExecfFailIfNoRows(stepFormat string, sql any, inputNames ...string) *TxBranchBuilder
- func (b *TxBranchBuilder) ExecfFailIfNoRowsInputs(stepFormat string, sql any, inputs ...InputRef) *TxBranchBuilder
- func (b *TxBranchBuilder) ExecfInputs(stepFormat string, sql any, inputs ...InputRef) *TxBranchBuilder
- func (b *TxBranchBuilder) If(conditionExpr string, onTrue func(*TxBranchBuilder), ...) *TxBranchBuilder
- func (b *TxBranchBuilder) WhenExists(stepName string, existsSQL any, onTrue func(*TxBranchBuilder), ...) *TxBranchBuilder
- type TxBuilder
- func (b *TxBuilder) Build() TxScript
- func (b *TxBuilder) Call(method MethodRef) *TxBuilder
- func (b *TxBuilder) CallAs(method MethodRef, saveAs string) *TxBuilder
- func (b *TxBuilder) CallAsRef(method MethodRef, saveAs InputRef) *TxBuilder
- func (b *TxBuilder) CallAsStepf(method MethodRef, saveAs, format string, inputNames ...string) *TxBuilder
- func (b *TxBuilder) CallAsStepfRef(method MethodRef, saveAs InputRef, format string, inputs ...InputRef) *TxBuilder
- func (b *TxBuilder) CallStepf(method MethodRef, format string, inputNames ...string) *TxBuilder
- func (b *TxBuilder) CallStepfInputs(method MethodRef, format string, inputs ...InputRef) *TxBuilder
- func (b *TxBuilder) Exec(stepName string, sql any) *TxBuilder
- func (b *TxBuilder) ExecFailIfNoRows(stepName string, sql any) *TxBuilder
- func (b *TxBuilder) Execf(stepFormat string, sql any, inputNames ...string) *TxBuilder
- func (b *TxBuilder) ExecfFailIfNoRows(stepFormat string, sql any, inputNames ...string) *TxBuilder
- func (b *TxBuilder) ExecfFailIfNoRowsInputs(stepFormat string, sql any, inputs ...InputRef) *TxBuilder
- func (b *TxBuilder) ExecfInputs(stepFormat string, sql any, inputs ...InputRef) *TxBuilder
- func (b *TxBuilder) If(conditionExpr string, onTrue func(*TxBranchBuilder), ...) *TxBuilder
- func (b *TxBuilder) IfStep(stepName string, conditionExpr string, onTrue func(*TxBranchBuilder), ...) *TxBuilder
- func (b *TxBuilder) Inputs(params ...Param) *TxBuilder
- func (b *TxBuilder) InputsRefs(inputs ...InputRef) *TxBuilder
- func (b *TxBuilder) RetryOn(maxRetries int, sqlStates ...string) *TxBuilder
- func (b *TxBuilder) RetryOnSerialization(maxRetries int) *TxBuilder
- func (b *TxBuilder) ReturnsRowsAffected() *TxBuilder
- func (b *TxBuilder) StepfInput(format string, inputNames ...string) *TxBuilder
- func (b *TxBuilder) StepfInputs(format string, inputs ...InputRef) *TxBuilder
- func (b *TxBuilder) UsesTables(tables ...TableRef) *TxBuilder
- func (b *TxBuilder) WhenExists(stepName string, existsSQL any, onTrue func(*TxBranchBuilder), ...) *TxBuilder
- type TxScript
- type TxStep
- type TxStepKind
- type WhereGroupBuilder
- func (g *WhereGroupBuilder) And(configure func(*WhereGroupBuilder)) *WhereGroupBuilder
- func (g *WhereGroupBuilder) ArrayContains(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) ArrayOverlap(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) Between(column, from, to ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) Eq(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) EqAll(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) EqAny(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) Gt(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) ILike(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) In(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) JSONContains(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) JSONHasAny(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) JSONHasKey(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) Like(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) Lt(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) Null(columns ...ColumnRef) *WhereGroupBuilder
- func (g *WhereGroupBuilder) Or(configure func(*WhereGroupBuilder)) *WhereGroupBuilder
- type WithPlanBuilder
- func (b *WithPlanBuilder) Build() string
- func (b *WithPlanBuilder) BuildPlan() SQLPlan
- func (b *WithPlanBuilder) Input() []Param
- func (b *WithPlanBuilder) InsertInto(table TableRef, columns ...ColumnRef) *WithPlanBuilder
- func (b *WithPlanBuilder) SelectCTE(name, from string, items ...CTESelectItem) *WithPlanBuilder
- func (b *WithPlanBuilder) SelectCTEBuilder(name string, configure func(*CTESelectBuilder)) *WithPlanBuilder
- func (b *WithPlanBuilder) SelectCTEFromBuilder(name string, from CTEFromBuilder, items ...CTESelectItem) *WithPlanBuilder
- func (b *WithPlanBuilder) SelectCTEFromCTE(name, from string, items ...CTESelectItem) *WithPlanBuilder
- func (b *WithPlanBuilder) SelectCTEFromTable(name string, from TableRef, items ...CTESelectItem) *WithPlanBuilder
- func (b *WithPlanBuilder) SelectFrom(from string, exprs ...SQLExpr) *WithPlanBuilder
- func (b *WithPlanBuilder) UpdateCTE(name string, table TableRef, configure func(*CTEUpdateBuilder)) *WithPlanBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BindNamedSQL ¶
BindNamedSQL binds named inputs to SQL placeholders.
func BuildUpdateCTEInsertSQL ¶
func BuildUpdateCTEInsertSQL(input []Param, cteName string, update CTEUpdate, insert InsertSelect) string
BuildUpdateCTEInsertSQL собирает SQL для паттерна: WITH cte AS (UPDATE ... RETURNING ...) INSERT INTO ... SELECT ... FROM cte
В выражениях SelectExprs можно использовать именованные параметры вида :ParamName, которые будут заменены на позиционные плейсхолдеры по input.
func BuildWithPlanSQL ¶
func BuildWithPlanSQL(input []Param, ctes []NamedCTE, insert InsertSelectPlan) string
BuildWithPlanSQL собирает WITH-запрос из структурированных CTE и финального INSERT ... SELECT.
Types ¶
type CTEFromBuilder ¶
type CTEFromBuilder struct {
// contains filtered or unexported fields
}
func CTEFromCTE ¶
func CTEFromCTE(name string) CTEFromBuilder
CTEFromCTE configures CTE builder step.
func CTEFromRaw ¶
func CTEFromRaw(from string) CTEFromBuilder
CTEFromRaw configures CTE builder step.
func CTEFromTable ¶
func CTEFromTable(table TableRef) CTEFromBuilder
CTEFromTable configures CTE builder step.
func (CTEFromBuilder) Build ¶
func (b CTEFromBuilder) Build() string
Build builds and returns the resulting value.
func (CTEFromBuilder) JoinCTE ¶
func (b CTEFromBuilder) JoinCTE(name string, left, right ColumnRef) CTEFromBuilder
JoinCTE appends join clause to the builder.
func (CTEFromBuilder) JoinTable ¶
func (b CTEFromBuilder) JoinTable(table TableRef, left, right ColumnRef) CTEFromBuilder
JoinTable appends join clause to the builder.
func (CTEFromBuilder) LeftJoinCTE ¶
func (b CTEFromBuilder) LeftJoinCTE(name string, left, right ColumnRef) CTEFromBuilder
LeftJoinCTE appends left join clause to the builder.
func (CTEFromBuilder) LeftJoinTable ¶
func (b CTEFromBuilder) LeftJoinTable(table TableRef, left, right ColumnRef) CTEFromBuilder
LeftJoinTable appends left join clause to the builder.
func (CTEFromBuilder) RightJoinCTE ¶
func (b CTEFromBuilder) RightJoinCTE(name string, left, right ColumnRef) CTEFromBuilder
RightJoinCTE appends right join clause to the builder.
func (CTEFromBuilder) RightJoinTable ¶
func (b CTEFromBuilder) RightJoinTable(table TableRef, left, right ColumnRef) CTEFromBuilder
RightJoinTable appends right join clause to the builder.
type CTESelect ¶
type CTESelect struct {
From string
Select []CTESelectItem
WhereEq []ColumnRef
WhereNull []ColumnRef
}
type CTESelectBuilder ¶
type CTESelectBuilder struct {
// contains filtered or unexported fields
}
func NewCTESelect ¶
func NewCTESelect() *CTESelectBuilder
NewCTESelect creates and initializes a new value.
func (*CTESelectBuilder) Build ¶
func (b *CTESelectBuilder) Build() CTESelect
Build builds and returns the resulting value.
func (*CTESelectBuilder) FromCTE ¶
func (b *CTESelectBuilder) FromCTE(name string) *CTESelectBuilder
FromCTE configures source for the builder.
func (*CTESelectBuilder) FromSource ¶
func (b *CTESelectBuilder) FromSource(from CTEFromBuilder) *CTESelectBuilder
FromSource configures source for the builder.
func (*CTESelectBuilder) FromTable ¶
func (b *CTESelectBuilder) FromTable(table TableRef) *CTESelectBuilder
FromTable configures source for the builder.
func (*CTESelectBuilder) JoinCTE ¶
func (b *CTESelectBuilder) JoinCTE(name string, left, right ColumnRef) *CTESelectBuilder
JoinCTE appends join clause to the builder.
func (*CTESelectBuilder) JoinTable ¶
func (b *CTESelectBuilder) JoinTable(table TableRef, left, right ColumnRef) *CTESelectBuilder
JoinTable appends join clause to the builder.
func (*CTESelectBuilder) LeftJoinCTE ¶
func (b *CTESelectBuilder) LeftJoinCTE(name string, left, right ColumnRef) *CTESelectBuilder
LeftJoinCTE appends left join clause to the builder.
func (*CTESelectBuilder) LeftJoinTable ¶
func (b *CTESelectBuilder) LeftJoinTable(table TableRef, left, right ColumnRef) *CTESelectBuilder
LeftJoinTable appends left join clause to the builder.
func (*CTESelectBuilder) RightJoinCTE ¶
func (b *CTESelectBuilder) RightJoinCTE(name string, left, right ColumnRef) *CTESelectBuilder
RightJoinCTE appends right join clause to the builder.
func (*CTESelectBuilder) RightJoinTable ¶
func (b *CTESelectBuilder) RightJoinTable(table TableRef, left, right ColumnRef) *CTESelectBuilder
RightJoinTable appends right join clause to the builder.
func (*CTESelectBuilder) Select ¶
func (b *CTESelectBuilder) Select(items ...CTESelectItem) *CTESelectBuilder
Select appends select projection to the builder.
func (*CTESelectBuilder) WhereEq ¶
func (b *CTESelectBuilder) WhereEq(columns ...ColumnRef) *CTESelectBuilder
WhereEq appends filter condition to the builder.
func (*CTESelectBuilder) WhereNull ¶
func (b *CTESelectBuilder) WhereNull(columns ...ColumnRef) *CTESelectBuilder
WhereNull appends filter condition to the builder.
type CTESelectItem ¶
func CTEItemAs ¶
func CTEItemAs(alias string, expr SQLExpr) CTESelectItem
CTEItemAs configures CTE builder step.
type CTEUpdateBuilder ¶
type CTEUpdateBuilder struct {
// contains filtered or unexported fields
}
func (*CTEUpdateBuilder) Build ¶
func (b *CTEUpdateBuilder) Build() CTEUpdate
Build builds and returns the resulting value.
func (*CTEUpdateBuilder) Returning ¶
func (b *CTEUpdateBuilder) Returning(columns ...ColumnRef) *CTEUpdateBuilder
Returning configures RETURNING clause projection.
func (*CTEUpdateBuilder) Set ¶
func (b *CTEUpdateBuilder) Set(columns ...ColumnRef) *CTEUpdateBuilder
Set sets builder field value.
func (*CTEUpdateBuilder) WhereEq ¶
func (b *CTEUpdateBuilder) WhereEq(columns ...ColumnRef) *CTEUpdateBuilder
WhereEq appends filter condition to the builder.
func (*CTEUpdateBuilder) WhereNull ¶
func (b *CTEUpdateBuilder) WhereNull(columns ...ColumnRef) *CTEUpdateBuilder
WhereNull appends filter condition to the builder.
type ColumnRef ¶
func Ref ¶
Ref создает ссылку на колонку без input-параметра. Удобно для JOIN/SELECT выражений, где не нужен in.<Param>.
func (ColumnRef) As ¶
As позволяет точечно переопределить имя/тип входного параметра для конкретного кейса.
func (ColumnRef) AsOptional ¶
AsOptional = Optional().Named(...), удобен для inline-переопределений.
func (ColumnRef) AsRequired ¶
AsRequired = Required().Named(...), удобен для inline-переопределений.
func (ColumnRef) AsSlice ¶
AsSlice = Slice().Named(...), чтобы переопределить имя параметра без ручного указания типа.
func (ColumnRef) QualifierOrTable ¶
QualifierOrTable handles qualifier or table.
type FKRelation ¶
type FKRelation struct {
Name string
FromTable string
ToTable string
From ColumnRef
To ColumnRef
Required bool
Role string
}
FKRelation описывает связь foreign key между таблицами. Направление: From -> To (child -> parent).
func (FKRelation) AsRole ¶
func (r FKRelation) AsRole(role string) FKRelation
AsRole aliases value for downstream usage.
func (FKRelation) Reverse ¶
func (r FKRelation) Reverse() FKRelation
Reverse configures ordering direction.
type HavingExpr ¶
type HavingExpr struct {
Expr string
}
type InputRef ¶
InputRef — типизированная ссылка на входной параметр (имя + тип), чтобы избегать "голых" строк в DSL.
type InsertSelect ¶
type InsertSelectPlan ¶
type JoinOnBuilder ¶
type JoinOnBuilder struct {
// contains filtered or unexported fields
}
func (*JoinOnBuilder) And ¶
func (j *JoinOnBuilder) And(configure func(*JoinOnBuilder)) *JoinOnBuilder
And creates predicate for query conditions.
func (*JoinOnBuilder) Eq ¶
func (j *JoinOnBuilder) Eq(left, right ColumnRef) *JoinOnBuilder
Eq creates predicate for query conditions.
func (*JoinOnBuilder) Gt ¶
func (j *JoinOnBuilder) Gt(left, right ColumnRef) *JoinOnBuilder
Gt creates predicate for query conditions.
func (*JoinOnBuilder) Lt ¶
func (j *JoinOnBuilder) Lt(left, right ColumnRef) *JoinOnBuilder
Lt creates predicate for query conditions.
func (*JoinOnBuilder) Null ¶
func (j *JoinOnBuilder) Null(column ColumnRef) *JoinOnBuilder
Null creates predicate for query conditions.
func (*JoinOnBuilder) Or ¶
func (j *JoinOnBuilder) Or(configure func(*JoinOnBuilder)) *JoinOnBuilder
Or creates predicate for query conditions.
type JoinPredicate ¶
type JoinPredicate struct {
Kind PredicateKind
Left string
Right string
GroupWith LogicalOperator
Group []JoinPredicate
}
type LockWaitMode ¶
type LockWaitMode string
const ( LockWaitDefault LockWaitMode = "" LockWaitSkipLocked LockWaitMode = "SKIP LOCKED" LockWaitNoWait LockWaitMode = "NOWAIT" )
type LockingClause ¶
type LockingClause struct {
Strength LockStrength
WaitMode LockWaitMode
}
type LogicalOperator ¶
type LogicalOperator string
const ( LogicalAnd LogicalOperator = "AND" LogicalOr LogicalOperator = "OR" )
type MethodKind ¶
type MethodKind string
const ( MethodInsertReturningScalar MethodKind = "insert_returning_scalar" MethodGetOne MethodKind = "get_one" MethodList MethodKind = "list" MethodExists MethodKind = "exists" MethodUpdate MethodKind = "update" MethodPatchUpdate MethodKind = "patch_update" MethodDelete MethodKind = "delete" MethodUpdateReturning MethodKind = "update_returning" MethodDeleteReturning MethodKind = "delete_returning" MethodInsertMany MethodKind = "insert_many" MethodUpsertMany MethodKind = "upsert_many" )
type NamedCTE ¶
func CTESelectNamed ¶
CTESelectNamed configures CTE builder step.
func CTEUpdateNamed ¶
CTEUpdateNamed configures CTE builder step.
type OnConflict ¶
type OpBuilder ¶
type OpBuilder struct {
// contains filtered or unexported fields
}
OpBuilder собирает компактное декларативное описание операции и разворачивает его в Operation для существующего генератора.
func DeleteFrom ¶
DeleteFrom configures delete operation builder.
func DeleteReturning ¶
DeleteReturning configures delete operation builder.
func InsertMany ¶
InsertMany configures insert operation builder.
func InsertReturning ¶
InsertReturning configures insert operation builder.
func PatchUpdate ¶
PatchUpdate configures patch update behavior.
func UpdateReturning ¶
UpdateReturning configures update operation builder.
func UpsertMany ¶
UpsertMany configures upsert operation builder.
func (*OpBuilder) AtomicBatch ¶
AtomicBatch enables transactional all-or-nothing execution for batched operations.
func (*OpBuilder) DoUpdateSet ¶
DoUpdateSet configures action to execute in current builder.
func (*OpBuilder) DoUpdateWhereExcludedGt ¶
DoUpdateWhereExcludedGt configures action to execute in current builder.
func (*OpBuilder) DoUpdateWhereExpr ¶
DoUpdateWhereExpr configures action to execute in current builder.
func (*OpBuilder) FromSource ¶
FromSource configures source for the builder.
func (*OpBuilder) HavingCountGt ¶
HavingCountGt appends HAVING condition to the builder.
func (*OpBuilder) HavingExpr ¶
HavingExpr appends HAVING condition to the builder.
func (*OpBuilder) JoinFK ¶
func (b *OpBuilder) JoinFK(relation FKRelation) *OpBuilder
JoinFK appends join clause to the builder.
func (*OpBuilder) JoinOn ¶
func (b *OpBuilder) JoinOn(table TableRef, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
JoinOn appends join clause to the builder.
func (*OpBuilder) JoinPath ¶
func (b *OpBuilder) JoinPath(relations ...FKRelation) *OpBuilder
JoinPath appends join clause to the builder.
func (*OpBuilder) JoinTable ¶
func (b *OpBuilder) JoinTable(table TableColumns, left, right ColumnRef) *OpBuilder
JoinTable appends join clause to the builder.
func (*OpBuilder) JoinTableOn ¶
func (b *OpBuilder) JoinTableOn(table TableColumns, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
JoinTableOn appends join clause to the builder.
func (*OpBuilder) KeysetAscAuto ¶
KeysetAscAuto использует стандартные имена input: cursor = After<ColumnParam>, limit = Limit.
func (*OpBuilder) KeysetAscAutoBy ¶
KeysetAscAutoBy configures keyset pagination in the builder.
func (*OpBuilder) KeysetAscBiAutoBy ¶
KeysetAscBiAutoBy configures keyset pagination in the builder.
func (*OpBuilder) KeysetAscBiByInput ¶
KeysetAscBiByInput configures keyset pagination in the builder.
func (*OpBuilder) KeysetAscBy ¶
KeysetAscBy настраивает составной keyset (по нескольким колонкам) с явным именем limit-параметра. Для каждой колонки автоматически используется курсор After<Param>.
func (*OpBuilder) KeysetAscByInput ¶
KeysetAscByInput configures keyset pagination in the builder.
func (*OpBuilder) KeysetAscWith ¶
KeysetAscWith configures keyset pagination in the builder.
func (*OpBuilder) KeysetDesc ¶
KeysetDesc configures keyset pagination in the builder.
func (*OpBuilder) KeysetDescAuto ¶
KeysetDescAuto использует стандартные имена input: cursor = After<ColumnParam>, limit = Limit.
func (*OpBuilder) KeysetDescAutoBy ¶
KeysetDescAutoBy configures keyset pagination in the builder.
func (*OpBuilder) KeysetDescBiAutoBy ¶
KeysetDescBiAutoBy configures keyset pagination in the builder.
func (*OpBuilder) KeysetDescBiByInput ¶
KeysetDescBiByInput configures keyset pagination in the builder.
func (*OpBuilder) KeysetDescBy ¶
KeysetDescBy настраивает составной keyset (по нескольким колонкам) с явным именем limit-параметра. Для каждой колонки автоматически используется курсор After<Param>.
func (*OpBuilder) KeysetDescByInput ¶
KeysetDescByInput configures keyset pagination in the builder.
func (*OpBuilder) KeysetDescWith ¶
KeysetDescWith configures keyset pagination in the builder.
func (*OpBuilder) LeftJoinCTE ¶
LeftJoinCTE appends left join clause to the builder.
func (*OpBuilder) LeftJoinFK ¶
func (b *OpBuilder) LeftJoinFK(relation FKRelation) *OpBuilder
LeftJoinFK appends left join clause to the builder.
func (*OpBuilder) LeftJoinFrom ¶
LeftJoinFrom appends left join clause to the builder.
func (*OpBuilder) LeftJoinOn ¶
func (b *OpBuilder) LeftJoinOn(table TableRef, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
LeftJoinOn appends left join clause to the builder.
func (*OpBuilder) LeftJoinRole ¶
LeftJoinRole appends left join clause to the builder.
func (*OpBuilder) LeftJoinTable ¶
func (b *OpBuilder) LeftJoinTable(table TableColumns, left, right ColumnRef) *OpBuilder
LeftJoinTable appends left join clause to the builder.
func (*OpBuilder) LeftJoinTableOn ¶
func (b *OpBuilder) LeftJoinTableOn( table TableColumns, left, right ColumnRef, configure func(*JoinOnBuilder), ) *OpBuilder
LeftJoinTableOn appends left join clause to the builder.
func (*OpBuilder) On ¶
func (b *OpBuilder) On(configure func(*JoinOnBuilder)) *OpBuilder
On configures ON clause for join builder.
func (*OpBuilder) OnConflict ¶
OnConflict configures ON clause for join builder.
func (*OpBuilder) OnConflictConstraint ¶
OnConflictConstraint configures ON clause for join builder.
func (*OpBuilder) OrderByAsc ¶
OrderByAsc configures ordering in the builder.
func (*OpBuilder) OrderByDesc ¶
OrderByDesc configures ordering in the builder.
func (*OpBuilder) PatchSet ¶
PatchSet добавляет patch-колонки для MethodPatchUpdate. Для patch-входа тип параметра принудительно делается optional (*T), чтобы nil означал "поле не менять".
func (*OpBuilder) RightJoinCTE ¶
RightJoinCTE appends right join clause to the builder.
func (*OpBuilder) RightJoinFK ¶
func (b *OpBuilder) RightJoinFK(relation FKRelation) *OpBuilder
RightJoinFK appends right join clause to the builder.
func (*OpBuilder) RightJoinFrom ¶
RightJoinFrom appends right join clause to the builder.
func (*OpBuilder) RightJoinOn ¶
func (b *OpBuilder) RightJoinOn(table TableRef, left, right ColumnRef, configure func(*JoinOnBuilder)) *OpBuilder
RightJoinOn appends right join clause to the builder.
func (*OpBuilder) RightJoinRole ¶
RightJoinRole appends right join clause to the builder.
func (*OpBuilder) RightJoinTable ¶
func (b *OpBuilder) RightJoinTable(table TableColumns, left, right ColumnRef) *OpBuilder
RightJoinTable appends right join clause to the builder.
func (*OpBuilder) RightJoinTableOn ¶
func (b *OpBuilder) RightJoinTableOn( table TableColumns, left, right ColumnRef, configure func(*JoinOnBuilder), ) *OpBuilder
RightJoinTableOn appends right join clause to the builder.
func (*OpBuilder) SelectAll ¶
func (b *OpBuilder) SelectAll(table TableColumns) *OpBuilder
SelectAll appends select projection to the builder.
func (*OpBuilder) SelectAsMap ¶
SelectAsMap добавляет набор select-колонок из map[FieldName]ColumnRef. Для детерминированной генерации порядок фиксируется сортировкой по FieldName.
func (*OpBuilder) SelectExprAs ¶
SelectExprAs appends select projection to the builder.
func (*OpBuilder) SelectOptional ¶
SelectOptional appends select projection to the builder.
func (*OpBuilder) SelectOptionalAs ¶
SelectOptionalAs appends select projection to the builder.
func (*OpBuilder) SelectOptionalAsMap ¶
SelectOptionalAsMap добавляет набор optional select-колонок из map[FieldName]ColumnRef. Для детерминированной генерации порядок фиксируется сортировкой по FieldName.
func (*OpBuilder) SelectRequired ¶
SelectRequired appends select projection to the builder.
func (*OpBuilder) SelectRequiredAs ¶
SelectRequiredAs appends select projection to the builder.
func (*OpBuilder) SelectRequiredAsMap ¶
SelectRequiredAsMap добавляет набор required select-колонок из map[FieldName]ColumnRef. Для детерминированной генерации порядок фиксируется сортировкой по FieldName.
func (*OpBuilder) SelectRole ¶
SelectRole appends select projection to the builder.
func (*OpBuilder) SelectRoleAll ¶
func (b *OpBuilder) SelectRoleAll(role string, table TableColumns) *OpBuilder
SelectRoleAll appends select projection to the builder.
func (*OpBuilder) SelectRoleOptional ¶
SelectRoleOptional appends select projection to the builder.
func (*OpBuilder) SelectRoleRequired ¶
SelectRoleRequired appends select projection to the builder.
func (*OpBuilder) SetTable ¶
func (b *OpBuilder) SetTable(table TableColumns, except ...ColumnRef) *OpBuilder
SetTable sets builder fields for all table columns except the excluded ones.
func (*OpBuilder) SkipLocked ¶
SkipLocked configures skip behavior in the builder.
func (*OpBuilder) StepfInput ¶
StepfInput задает шаг через уже объявленные input-поля (например после WhereEqAs/Set).
func (*OpBuilder) StepfInputs ¶
StepfInputs задает шаг через типизированные input-поля.
func (*OpBuilder) StepfWhereEq ¶
StepfWhereEq creates step component description.
func (*OpBuilder) WhereAnd ¶
func (b *OpBuilder) WhereAnd(configure func(*WhereGroupBuilder)) *OpBuilder
WhereAnd appends filter condition to the builder.
func (*OpBuilder) WhereArrayContains ¶
WhereArrayContains appends filter condition to the builder.
func (*OpBuilder) WhereArrayOverlap ¶
WhereArrayOverlap appends filter condition to the builder.
func (*OpBuilder) WhereBetween ¶
WhereBetween appends filter condition to the builder.
func (*OpBuilder) WhereEqAll ¶
WhereEqAll appends filter condition to the builder.
func (*OpBuilder) WhereEqAny ¶
WhereEqAny appends filter condition to the builder.
func (*OpBuilder) WhereEqOptionalAs ¶
WhereEqOptionalAs appends filter condition to the builder.
func (*OpBuilder) WhereEqRequiredAs ¶
WhereEqRequiredAs appends filter condition to the builder.
func (*OpBuilder) WhereExists ¶
func (b *OpBuilder) WhereExists(subquery SubqueryPlan) *OpBuilder
WhereExists appends filter condition to the builder.
func (*OpBuilder) WhereILike ¶
WhereILike appends filter condition to the builder.
func (*OpBuilder) WhereInSubquery ¶
func (b *OpBuilder) WhereInSubquery(column ColumnRef, subquery SubqueryPlan) *OpBuilder
WhereInSubquery appends filter condition to the builder.
func (*OpBuilder) WhereJSONContains ¶
WhereJSONContains appends filter condition to the builder.
func (*OpBuilder) WhereJSONHasAny ¶
WhereJSONHasAny appends filter condition to the builder.
func (*OpBuilder) WhereJSONHasKey ¶
WhereJSONHasKey appends filter condition to the builder.
func (*OpBuilder) WhereNotExists ¶
func (b *OpBuilder) WhereNotExists(subquery SubqueryPlan) *OpBuilder
WhereNotExists appends filter condition to the builder.
func (*OpBuilder) WhereOr ¶
func (b *OpBuilder) WhereOr(configure func(*WhereGroupBuilder)) *OpBuilder
WhereOr appends filter condition to the builder.
func (*OpBuilder) WithoutPolicy ¶
WithoutPolicy applies an additional option to the builder.
func (*OpBuilder) WithoutPolicyScope ¶
WithoutPolicyScope applies an additional option to the builder.
type Operation ¶
type Operation struct {
Name string
Kind MethodKind
StepExpr string
Table string
Input []Param
Select []ColumnRef
SelectExpr []SelectExpr
GroupBy []string
Having []HavingExpr
Where []Binding
Predicates []Predicate
Set []Binding
Returning []ColumnRef
ReturningAll bool
Joins []Join
With []NamedCTE
From string
OnConflict *OnConflict
OrderBy []string
BulkCopy bool
BulkBatch int
BulkAtomic bool
Keyset *Keyset
Locking *LockingClause
PolicyOptOut []PolicyOptOut
}
type PolicyBuilder ¶
type PolicyBuilder struct {
// contains filtered or unexported fields
}
func Policy ¶
func Policy(name string, tables ...TableRef) *PolicyBuilder
Policy configures query policy builder.
func (*PolicyBuilder) Build ¶
func (b *PolicyBuilder) Build() QueryPolicy
Build builds and returns the resulting value.
func (*PolicyBuilder) ForMethods ¶
func (b *PolicyBuilder) ForMethods(kinds ...MethodKind) *PolicyBuilder
ForMethods configures lock or scope for the builder.
func (*PolicyBuilder) ForReads ¶
func (b *PolicyBuilder) ForReads() *PolicyBuilder
ForReads configures lock or scope for the builder.
func (*PolicyBuilder) ForWrites ¶
func (b *PolicyBuilder) ForWrites() *PolicyBuilder
ForWrites configures lock or scope for the builder.
func (*PolicyBuilder) Scope ¶
func (b *PolicyBuilder) Scope(scope string) *PolicyBuilder
Scope sets policy scope.
func (*PolicyBuilder) WhereArrayContains ¶
func (b *PolicyBuilder) WhereArrayContains(columns ...ColumnRef) *PolicyBuilder
WhereArrayContains appends filter condition to the builder.
func (*PolicyBuilder) WhereArrayOverlap ¶
func (b *PolicyBuilder) WhereArrayOverlap(columns ...ColumnRef) *PolicyBuilder
WhereArrayOverlap appends filter condition to the builder.
func (*PolicyBuilder) WhereBetween ¶
func (b *PolicyBuilder) WhereBetween(column, from, to ColumnRef) *PolicyBuilder
WhereBetween appends filter condition to the builder.
func (*PolicyBuilder) WhereEq ¶
func (b *PolicyBuilder) WhereEq(columns ...ColumnRef) *PolicyBuilder
WhereEq appends filter condition to the builder.
func (*PolicyBuilder) WhereEqAll ¶
func (b *PolicyBuilder) WhereEqAll(columns ...ColumnRef) *PolicyBuilder
WhereEqAll appends filter condition to the builder.
func (*PolicyBuilder) WhereEqAny ¶
func (b *PolicyBuilder) WhereEqAny(columns ...ColumnRef) *PolicyBuilder
WhereEqAny appends filter condition to the builder.
func (*PolicyBuilder) WhereGt ¶
func (b *PolicyBuilder) WhereGt(columns ...ColumnRef) *PolicyBuilder
WhereGt appends filter condition to the builder.
func (*PolicyBuilder) WhereILike ¶
func (b *PolicyBuilder) WhereILike(columns ...ColumnRef) *PolicyBuilder
WhereILike appends filter condition to the builder.
func (*PolicyBuilder) WhereIn ¶
func (b *PolicyBuilder) WhereIn(columns ...ColumnRef) *PolicyBuilder
WhereIn appends filter condition to the builder.
func (*PolicyBuilder) WhereJSONContains ¶
func (b *PolicyBuilder) WhereJSONContains(columns ...ColumnRef) *PolicyBuilder
WhereJSONContains appends filter condition to the builder.
func (*PolicyBuilder) WhereJSONHasAny ¶
func (b *PolicyBuilder) WhereJSONHasAny(columns ...ColumnRef) *PolicyBuilder
WhereJSONHasAny appends filter condition to the builder.
func (*PolicyBuilder) WhereJSONHasKey ¶
func (b *PolicyBuilder) WhereJSONHasKey(columns ...ColumnRef) *PolicyBuilder
WhereJSONHasKey appends filter condition to the builder.
func (*PolicyBuilder) WhereLike ¶
func (b *PolicyBuilder) WhereLike(columns ...ColumnRef) *PolicyBuilder
WhereLike appends filter condition to the builder.
func (*PolicyBuilder) WhereLt ¶
func (b *PolicyBuilder) WhereLt(columns ...ColumnRef) *PolicyBuilder
WhereLt appends filter condition to the builder.
func (*PolicyBuilder) WhereNull ¶
func (b *PolicyBuilder) WhereNull(columns ...ColumnRef) *PolicyBuilder
WhereNull appends filter condition to the builder.
type PolicyOptOut ¶
type Predicate ¶
type Predicate struct {
Kind PredicateKind
Column string
Expr string
ExprTo string
ExprList []string
Subquery string
GroupWith LogicalOperator
Group []Predicate
}
type PredicateKind ¶
type PredicateKind string
const ( PredicateEq PredicateKind = "eq" PredicateNull PredicateKind = "null" PredicateIn PredicateKind = "in" PredicateGt PredicateKind = "gt" PredicateLt PredicateKind = "lt" PredicateLike PredicateKind = "like" PredicateILike PredicateKind = "ilike" PredicateBetween PredicateKind = "between" PredicateGroup PredicateKind = "group" PredicateExists PredicateKind = "exists" PredicateNotExists PredicateKind = "not_exists" PredicateInSubquery PredicateKind = "in_subquery" PredicateJSONContains PredicateKind = "json_contains" PredicateJSONHasKey PredicateKind = "json_has_key" PredicateJSONHasAny PredicateKind = "json_has_any" PredicateArrayContains PredicateKind = "array_contains" PredicateArrayOverlap PredicateKind = "array_overlap" PredicateEqAny PredicateKind = "eq_any" PredicateEqAll PredicateKind = "eq_all" )
type QueryPolicy ¶
type RawOpBuilder ¶
type RawOpBuilder struct {
// contains filtered or unexported fields
}
func (*RawOpBuilder) Build ¶
func (b *RawOpBuilder) Build() RawOperation
Build builds and returns the resulting value.
func (*RawOpBuilder) Inputs ¶
func (b *RawOpBuilder) Inputs(params ...Param) *RawOpBuilder
Inputs configures component input binding.
func (*RawOpBuilder) InputsRefs ¶
func (b *RawOpBuilder) InputsRefs(inputs ...InputRef) *RawOpBuilder
InputsRefs configures component input binding.
func (*RawOpBuilder) Plan ¶
func (b *RawOpBuilder) Plan(plan SQLPlan) *RawOpBuilder
Plan sugar for SQL(SQLPlan).
func (*RawOpBuilder) ReturnsRowsAffected ¶
func (b *RawOpBuilder) ReturnsRowsAffected() *RawOpBuilder
ReturnsRowsAffected handles returns rows affected.
func (*RawOpBuilder) RowsAffected ¶
func (b *RawOpBuilder) RowsAffected() *RawOpBuilder
RowsAffected sugar for ReturnsRowsAffected().
func (*RawOpBuilder) StepfInput ¶
func (b *RawOpBuilder) StepfInput(format string, inputNames ...string) *RawOpBuilder
StepfInput creates step component description.
func (*RawOpBuilder) StepfInputs ¶
func (b *RawOpBuilder) StepfInputs(format string, inputs ...InputRef) *RawOpBuilder
StepfInputs creates step component description.
func (*RawOpBuilder) UsesTables ¶
func (b *RawOpBuilder) UsesTables(tables ...TableRef) *RawOpBuilder
UsesTables handles uses tables.
type RawOperation ¶
type RawOperation struct {
Name string
StepExpr string
Input []Param
Tables []string
SQL string
ReturnsRowsAffected bool
}
func RawList ¶
func RawList(builders ...*RawOpBuilder) []RawOperation
RawList собирает набор raw-операций из билдера без ручного []RawOperation и Build().
type SQLExpr ¶
type SQLExpr string
func JSONBObjectExpr ¶
JSONBObjectExpr builds jsonb_build_object SQL expression from key-value pairs.
func StringExpr ¶
StringExpr returns string-based expression value.
type SelectExpr ¶
type SubqueryBuilder ¶
type SubqueryBuilder struct {
// contains filtered or unexported fields
}
func Subquery ¶
func Subquery(table TableRef) *SubqueryBuilder
Subquery configures subquery builder.
func (*SubqueryBuilder) Build ¶
func (b *SubqueryBuilder) Build() SubqueryPlan
Build builds and returns the resulting value.
func (*SubqueryBuilder) Join ¶
func (b *SubqueryBuilder) Join(table TableRef, left, right ColumnRef) *SubqueryBuilder
Join appends join clause to the builder.
func (*SubqueryBuilder) LeftJoin ¶
func (b *SubqueryBuilder) LeftJoin(table TableRef, left, right ColumnRef) *SubqueryBuilder
LeftJoin appends left join clause to the builder.
func (*SubqueryBuilder) RightJoin ¶
func (b *SubqueryBuilder) RightJoin(table TableRef, left, right ColumnRef) *SubqueryBuilder
RightJoin appends right join clause to the builder.
func (*SubqueryBuilder) Select ¶
func (b *SubqueryBuilder) Select(columns ...ColumnRef) *SubqueryBuilder
Select appends select projection to the builder.
func (*SubqueryBuilder) SelectExpr ¶
func (b *SubqueryBuilder) SelectExpr(expr string) *SubqueryBuilder
SelectExpr appends select projection to the builder.
func (*SubqueryBuilder) WhereEq ¶
func (b *SubqueryBuilder) WhereEq(columns ...ColumnRef) *SubqueryBuilder
WhereEq appends filter condition to the builder.
func (*SubqueryBuilder) WhereEqColumns ¶
func (b *SubqueryBuilder) WhereEqColumns(left, right ColumnRef) *SubqueryBuilder
WhereEqColumns appends filter condition to the builder.
func (*SubqueryBuilder) WhereNull ¶
func (b *SubqueryBuilder) WhereNull(columns ...ColumnRef) *SubqueryBuilder
WhereNull appends filter condition to the builder.
type SubqueryPlan ¶
type TableColumns ¶
type TxBranchBuilder ¶
type TxBranchBuilder struct {
// contains filtered or unexported fields
}
func (*TxBranchBuilder) Call ¶
func (b *TxBranchBuilder) Call(method MethodRef) *TxBranchBuilder
Call handles call.
func (*TxBranchBuilder) CallAs ¶
func (b *TxBranchBuilder) CallAs(method MethodRef, saveAs string) *TxBranchBuilder
CallAs handles call as.
func (*TxBranchBuilder) CallAsRef ¶
func (b *TxBranchBuilder) CallAsRef(method MethodRef, saveAs InputRef) *TxBranchBuilder
CallAsRef handles call as ref.
func (*TxBranchBuilder) CallAsStepf ¶
func (b *TxBranchBuilder) CallAsStepf(method MethodRef, saveAs, format string, inputNames ...string) *TxBranchBuilder
CallAsStepf handles call as stepf.
func (*TxBranchBuilder) CallAsStepfRef ¶
func (b *TxBranchBuilder) CallAsStepfRef( method MethodRef, saveAs InputRef, format string, inputs ...InputRef, ) *TxBranchBuilder
CallAsStepfRef handles call as stepf ref.
func (*TxBranchBuilder) CallStepf ¶
func (b *TxBranchBuilder) CallStepf(method MethodRef, format string, inputNames ...string) *TxBranchBuilder
CallStepf handles call stepf.
func (*TxBranchBuilder) CallStepfInputs ¶
func (b *TxBranchBuilder) CallStepfInputs(method MethodRef, format string, inputs ...InputRef) *TxBranchBuilder
CallStepfInputs handles call stepf inputs.
func (*TxBranchBuilder) Exec ¶
func (b *TxBranchBuilder) Exec(stepName string, sql any) *TxBranchBuilder
Exec handles exec.
func (*TxBranchBuilder) ExecFailIfNoRows ¶
func (b *TxBranchBuilder) ExecFailIfNoRows(stepName string, sql any) *TxBranchBuilder
ExecFailIfNoRows handles exec fail if no rows.
func (*TxBranchBuilder) Execf ¶
func (b *TxBranchBuilder) Execf(stepFormat string, sql any, inputNames ...string) *TxBranchBuilder
Execf handles execf.
func (*TxBranchBuilder) ExecfFailIfNoRows ¶
func (b *TxBranchBuilder) ExecfFailIfNoRows(stepFormat string, sql any, inputNames ...string) *TxBranchBuilder
ExecfFailIfNoRows handles execf fail if no rows.
func (*TxBranchBuilder) ExecfFailIfNoRowsInputs ¶
func (b *TxBranchBuilder) ExecfFailIfNoRowsInputs(stepFormat string, sql any, inputs ...InputRef) *TxBranchBuilder
ExecfFailIfNoRowsInputs handles execf fail if no rows inputs.
func (*TxBranchBuilder) ExecfInputs ¶
func (b *TxBranchBuilder) ExecfInputs(stepFormat string, sql any, inputs ...InputRef) *TxBranchBuilder
ExecfInputs handles execf inputs.
func (*TxBranchBuilder) If ¶
func (b *TxBranchBuilder) If( conditionExpr string, onTrue func(*TxBranchBuilder), onFalse ...func(*TxBranchBuilder), ) *TxBranchBuilder
If handles if.
func (*TxBranchBuilder) WhenExists ¶
func (b *TxBranchBuilder) WhenExists( stepName string, existsSQL any, onTrue func(*TxBranchBuilder), onFalse ...func(*TxBranchBuilder), ) *TxBranchBuilder
WhenExists handles when exists.
type TxBuilder ¶
type TxBuilder struct {
// contains filtered or unexported fields
}
func (*TxBuilder) CallAs ¶
CallAs вызывает метод и сохраняет его результат в SaveAs-алиас. Значение алиаса можно автоматически использовать в следующих Call-шагах: если входной параметр следующего метода совпадает с SaveAs, генератор подставит значение предыдущего шага.
func (*TxBuilder) CallAsStepf ¶
func (b *TxBuilder) CallAsStepf(method MethodRef, saveAs, format string, inputNames ...string) *TxBuilder
CallAsStepf handles call as stepf.
func (*TxBuilder) CallAsStepfRef ¶
func (b *TxBuilder) CallAsStepfRef(method MethodRef, saveAs InputRef, format string, inputs ...InputRef) *TxBuilder
CallAsStepfRef handles call as stepf ref.
func (*TxBuilder) CallStepfInputs ¶
CallStepfInputs handles call stepf inputs.
func (*TxBuilder) ExecFailIfNoRows ¶
ExecFailIfNoRows handles exec fail if no rows.
func (*TxBuilder) ExecfFailIfNoRows ¶
ExecfFailIfNoRows handles execf fail if no rows.
func (*TxBuilder) ExecfFailIfNoRowsInputs ¶
func (b *TxBuilder) ExecfFailIfNoRowsInputs(stepFormat string, sql any, inputs ...InputRef) *TxBuilder
ExecfFailIfNoRowsInputs handles execf fail if no rows inputs.
func (*TxBuilder) ExecfInputs ¶
ExecfInputs handles execf inputs.
func (*TxBuilder) If ¶
func (b *TxBuilder) If( conditionExpr string, onTrue func(*TxBranchBuilder), onFalse ...func(*TxBranchBuilder), ) *TxBuilder
If handles if.
func (*TxBuilder) IfStep ¶
func (b *TxBuilder) IfStep( stepName string, conditionExpr string, onTrue func(*TxBranchBuilder), onFalse ...func(*TxBranchBuilder), ) *TxBuilder
IfStep handles if step.
func (*TxBuilder) InputsRefs ¶
InputsRefs configures component input binding.
func (*TxBuilder) RetryOnSerialization ¶
RetryOnSerialization handles retry on serialization.
func (*TxBuilder) ReturnsRowsAffected ¶
ReturnsRowsAffected handles returns rows affected.
func (*TxBuilder) StepfInput ¶
StepfInput creates step component description.
func (*TxBuilder) StepfInputs ¶
StepfInputs creates step component description.
func (*TxBuilder) UsesTables ¶
UsesTables handles uses tables.
func (*TxBuilder) WhenExists ¶
func (b *TxBuilder) WhenExists( stepName string, existsSQL any, onTrue func(*TxBranchBuilder), onFalse ...func(*TxBranchBuilder), ) *TxBuilder
WhenExists handles when exists.
type TxStepKind ¶
type TxStepKind string
const ( TxStepSQL TxStepKind = "sql" TxStepCall TxStepKind = "call" TxStepIf TxStepKind = "if" TxStepWhenExists TxStepKind = "when_exists" )
type WhereGroupBuilder ¶
type WhereGroupBuilder struct {
// contains filtered or unexported fields
}
func (*WhereGroupBuilder) And ¶
func (g *WhereGroupBuilder) And(configure func(*WhereGroupBuilder)) *WhereGroupBuilder
And creates predicate for query conditions.
func (*WhereGroupBuilder) ArrayContains ¶
func (g *WhereGroupBuilder) ArrayContains(columns ...ColumnRef) *WhereGroupBuilder
ArrayContains creates predicate for query conditions.
func (*WhereGroupBuilder) ArrayOverlap ¶
func (g *WhereGroupBuilder) ArrayOverlap(columns ...ColumnRef) *WhereGroupBuilder
ArrayOverlap creates predicate for query conditions.
func (*WhereGroupBuilder) Between ¶
func (g *WhereGroupBuilder) Between(column, from, to ColumnRef) *WhereGroupBuilder
Between creates predicate for query conditions.
func (*WhereGroupBuilder) Eq ¶
func (g *WhereGroupBuilder) Eq(columns ...ColumnRef) *WhereGroupBuilder
Eq creates predicate for query conditions.
func (*WhereGroupBuilder) EqAll ¶
func (g *WhereGroupBuilder) EqAll(columns ...ColumnRef) *WhereGroupBuilder
EqAll creates predicate for query conditions.
func (*WhereGroupBuilder) EqAny ¶
func (g *WhereGroupBuilder) EqAny(columns ...ColumnRef) *WhereGroupBuilder
EqAny creates predicate for query conditions.
func (*WhereGroupBuilder) Gt ¶
func (g *WhereGroupBuilder) Gt(columns ...ColumnRef) *WhereGroupBuilder
Gt creates predicate for query conditions.
func (*WhereGroupBuilder) ILike ¶
func (g *WhereGroupBuilder) ILike(columns ...ColumnRef) *WhereGroupBuilder
ILike creates predicate for query conditions.
func (*WhereGroupBuilder) In ¶
func (g *WhereGroupBuilder) In(columns ...ColumnRef) *WhereGroupBuilder
In creates predicate for query conditions.
func (*WhereGroupBuilder) JSONContains ¶
func (g *WhereGroupBuilder) JSONContains(columns ...ColumnRef) *WhereGroupBuilder
JSONContains creates predicate for query conditions.
func (*WhereGroupBuilder) JSONHasAny ¶
func (g *WhereGroupBuilder) JSONHasAny(columns ...ColumnRef) *WhereGroupBuilder
JSONHasAny creates predicate for query conditions.
func (*WhereGroupBuilder) JSONHasKey ¶
func (g *WhereGroupBuilder) JSONHasKey(columns ...ColumnRef) *WhereGroupBuilder
JSONHasKey creates predicate for query conditions.
func (*WhereGroupBuilder) Like ¶
func (g *WhereGroupBuilder) Like(columns ...ColumnRef) *WhereGroupBuilder
Like creates predicate for query conditions.
func (*WhereGroupBuilder) Lt ¶
func (g *WhereGroupBuilder) Lt(columns ...ColumnRef) *WhereGroupBuilder
Lt creates predicate for query conditions.
func (*WhereGroupBuilder) Null ¶
func (g *WhereGroupBuilder) Null(columns ...ColumnRef) *WhereGroupBuilder
Null creates predicate for query conditions.
func (*WhereGroupBuilder) Or ¶
func (g *WhereGroupBuilder) Or(configure func(*WhereGroupBuilder)) *WhereGroupBuilder
Or creates predicate for query conditions.
type WithPlanBuilder ¶
type WithPlanBuilder struct {
// contains filtered or unexported fields
}
func WithPlan ¶
func WithPlan(input []Param) *WithPlanBuilder
WithPlan applies an additional option to the builder.
func (*WithPlanBuilder) Build ¶
func (b *WithPlanBuilder) Build() string
Build builds and returns the resulting value.
func (*WithPlanBuilder) BuildPlan ¶
func (b *WithPlanBuilder) BuildPlan() SQLPlan
BuildPlan builds and returns the resulting value.
func (*WithPlanBuilder) Input ¶
func (b *WithPlanBuilder) Input() []Param
Input configures component input binding.
func (*WithPlanBuilder) InsertInto ¶
func (b *WithPlanBuilder) InsertInto(table TableRef, columns ...ColumnRef) *WithPlanBuilder
InsertInto configures insert operation builder.
func (*WithPlanBuilder) SelectCTE ¶
func (b *WithPlanBuilder) SelectCTE(name, from string, items ...CTESelectItem) *WithPlanBuilder
SelectCTE appends select projection to the builder.
func (*WithPlanBuilder) SelectCTEBuilder ¶
func (b *WithPlanBuilder) SelectCTEBuilder(name string, configure func(*CTESelectBuilder)) *WithPlanBuilder
SelectCTEBuilder appends select projection to the builder.
func (*WithPlanBuilder) SelectCTEFromBuilder ¶
func (b *WithPlanBuilder) SelectCTEFromBuilder( name string, from CTEFromBuilder, items ...CTESelectItem, ) *WithPlanBuilder
SelectCTEFromBuilder appends select projection to the builder.
func (*WithPlanBuilder) SelectCTEFromCTE ¶
func (b *WithPlanBuilder) SelectCTEFromCTE(name, from string, items ...CTESelectItem) *WithPlanBuilder
SelectCTEFromCTE appends select projection to the builder.
func (*WithPlanBuilder) SelectCTEFromTable ¶
func (b *WithPlanBuilder) SelectCTEFromTable(name string, from TableRef, items ...CTESelectItem) *WithPlanBuilder
SelectCTEFromTable appends select projection to the builder.
func (*WithPlanBuilder) SelectFrom ¶
func (b *WithPlanBuilder) SelectFrom(from string, exprs ...SQLExpr) *WithPlanBuilder
SelectFrom appends select projection to the builder.
func (*WithPlanBuilder) UpdateCTE ¶
func (b *WithPlanBuilder) UpdateCTE(name string, table TableRef, configure func(*CTEUpdateBuilder)) *WithPlanBuilder
UpdateCTE configures update operation builder.