im

package
v0.44.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2026 License: MIT Imports: 8 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Excluded added in v0.44.0

func Excluded(column string) dialect.Expression

Excluded references a column from the EXCLUDED pseudo-table in ON CONFLICT DO UPDATE.

SQL: EXCLUDED."col"
Go: im.Excluded("col")

func Into

func Into(name any, columns ...string) bob.Mod[*dialect.InsertQuery]

func IntoAs

func IntoAs(name any, alias string, columns ...string) bob.Mod[*dialect.InsertQuery]

func OnConflict

func OnConflict(columns ...any) mods.Conflict[*dialect.InsertQuery]

The column to target. Will auto add brackets

func OnConflictOnConstraint

func OnConflictOnConstraint(constraint string) mods.Conflict[*dialect.InsertQuery]

func OverridingSystem

func OverridingSystem() bob.Mod[*dialect.InsertQuery]

func OverridingUser

func OverridingUser() bob.Mod[*dialect.InsertQuery]

func Query

func Query(q bob.Query) bob.Mod[*dialect.InsertQuery]

Insert from a query

func Recursive

func Recursive(r bool) bob.Mod[*dialect.InsertQuery]

func Returning

func Returning(clauses ...any) mods.Returning[*dialect.InsertQuery]

func Rows

func Rows(rows ...[]bob.Expression) bob.Mod[*dialect.InsertQuery]

func Set added in v0.23.0

func Set(sets ...bob.Expression) bob.Mod[*clause.ConflictClause]

func SetCol added in v0.23.0

func SetCol(from string) mods.Set[*clause.ConflictClause]

func SetCols added in v0.44.0

func SetCols(columns ...string) dialect.SetCols[*clause.ConflictClause]

SetCols creates a multi-column setter: (columns...) = ROW(...) | (values...) | (subquery)

func SetExcluded added in v0.23.0

func SetExcluded(cols ...string) bob.Mod[*clause.ConflictClause]

func Values

func Values(clauses ...bob.Expression) bob.Mod[*dialect.InsertQuery]

func Where added in v0.23.0

func With

func With(name string, columns ...string) dialect.CTEChain[*dialect.InsertQuery]

Types

type ConflictTargetExpr added in v0.44.0

type ConflictTargetExpr struct {
	// contains filtered or unexported fields
}

ConflictTargetExpr is a chainable helper expression for a single ON CONFLICT target item, e.g. email COLLATE "en_US" text_pattern_ops.

Values built by this helper are passed directly to OnConflict(...).

func ConflictTarget added in v0.44.0

func ConflictTarget(target any) ConflictTargetExpr

ConflictTarget creates a helper for a single ON CONFLICT target item.

The target is rendered as provided. This can be a column-like item ("email") or an expression (psql.Raw("lower(email)")). If extra grouping is needed, pass a grouped expression explicitly.

func (ConflictTargetExpr) Collate added in v0.44.0

func (c ConflictTargetExpr) Collate(collation any) ConflictTargetExpr

Collate appends COLLATE <name> for this target item.

The collation can be provided as a string token or any bob.Expression.

func (ConflictTargetExpr) OpClass added in v0.44.0

func (c ConflictTargetExpr) OpClass(opClass any) ConflictTargetExpr

OpClass appends an operator class token for this target item.

The operator class can be provided as a string token or any bob.Expression.

func (ConflictTargetExpr) WriteSQL added in v0.44.0

func (c ConflictTargetExpr) WriteSQL(ctx context.Context, w io.StringWriter, d bob.Dialect, start int) ([]any, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL