Documentation
¶
Index ¶
- func BelongsToLoad[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], ...](relation *BackwardRelation[T, C, S, RT, RC, RS], ...) exec2.RelationLoader[S]
- func HasManyLoad[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], ...](relation *ForwardRelation[T, C, S, RT, RC, RS], ...) exec2.RelationLoader[S]
- func HasOneLoad[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], ...](relation *ForwardRelation[T, C, S, RT, RC, RS], ...) exec2.RelationLoader[S]
- func ManyToManyLoad[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], ...](relation *ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS], ...) exec2.RelationLoader[S]
- type BackwardRelation
- func (r *BackwardRelation[T, C, S, RT, RC, RS]) LoadOne(ctx context.Context, db exec2.DB, relatedTable RelationTableQuery[RT, RC, RS], ...) (RS, error)
- func (r *BackwardRelation[T, C, S, RT, RC, RS]) WithJoin(currentTable RelationTableJoin[T, C], query *dml.SelectQuery[T, C], ...) *dml.SelectQuery[T, C]
- type BelongsToLoader
- type BigIntColumnI
- type BigSerialColumnI
- type BooleanColumnI
- type ByteaColumnI
- type CharColumnI
- type Column
- type DoublePrecisionColumnI
- type ForwardRelation
- func HasMany[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], ...](currentTableAlias T, relatedTable RelationTableAlias[RT], foreignKey RC, ...) *ForwardRelation[T, C, S, RT, RC, RS]
- func HasOne[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], ...](currentTableAlias T, relatedTable RelationTableAlias[RT], foreignKey RC, ...) *ForwardRelation[T, C, S, RT, RC, RS]
- func (r *ForwardRelation[T, C, S, RT, RC, RS]) LoadMany(ctx context.Context, db exec2.DB, relatedTable RelationTableQuery[RT, RC, RS], ...) ([]RS, error)
- func (r *ForwardRelation[T, C, S, RT, RC, RS]) LoadOne(ctx context.Context, db exec2.DB, relatedTable RelationTableQuery[RT, RC, RS], ...) (RS, error)
- func (r *ForwardRelation[T, C, S, RT, RC, RS]) WithJoin(currentTable RelationTableJoin[T, C], query *dml.SelectQuery[T, C], ...) *dml.SelectQuery[T, C]
- type HasManyLoader
- type HasOneLoader
- type IntegerColumnI
- type IntervalColumnI
- type JSONColumnI
- type ManyToManyLoader
- type ManyToManyRelation
- func (r *ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS]) LoadMany(ctx context.Context, db exec2.DB, relatedTable RelationTableQuery[RT, RC, RS], ...) ([]RS, error)
- func (r *ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS]) WithJoin(currentTable RelationTableJoin[T, C], query *dml.SelectQuery[T, C], ...) *dml.SelectQuery[T, C]
- type NullBigIntColumnI
- type NullBigSerialColumnI
- type NullBooleanColumnI
- type NullByteaColumnI
- type NullCharColumnI
- type NullDoublePrecisionColumnI
- type NullIntegerColumnI
- type NullIntervalColumnI
- type NullJSONColumnI
- type NullNumericColumnI
- type NullRealColumnI
- type NullSmallIntColumnI
- type NullTextColumnI
- type NullTimeColumnI
- type NullTimestamptzColumnI
- type NullUuidColumnI
- type NumericColumnI
- type RealColumnI
- type RelationTableAlias
- type RelationTableJoin
- type RelationTableQuery
- type SmallIntColumnI
- type Table
- type TextColumnI
- type TimeColumnI
- type TimestamptzColumnI
- type UuidColumnI
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BelongsToLoad ¶
func BelongsToLoad[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ]( relation *BackwardRelation[T, C, S, RT, RC, RS], related RelationTableQuery[RT, RC, RS], foreignKey C, assign func(S, RS), ) exec2.RelationLoader[S]
func HasManyLoad ¶
func HasManyLoad[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ]( relation *ForwardRelation[T, C, S, RT, RC, RS], related RelationTableQuery[RT, RC, RS], localKey C, assign func(S, []RS), ) exec2.RelationLoader[S]
func HasOneLoad ¶ added in v0.2.0
func HasOneLoad[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ]( relation *ForwardRelation[T, C, S, RT, RC, RS], related RelationTableQuery[RT, RC, RS], localKey C, assign func(S, RS), ) exec2.RelationLoader[S]
HasOneLoad creates a loader for one-to-one forward relations
func ManyToManyLoad ¶
func ManyToManyLoad[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], PT types.TableAlias, PC types.ColumnAlias, RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ]( relation *ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS], related RelationTableQuery[RT, RC, RS], localKey C, assign func(S, []RS), ) exec2.RelationLoader[S]
ManyToManyLoad creates a loader for many-to-many relations
Types ¶
type BackwardRelation ¶
type BackwardRelation[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ] struct { // contains filtered or unexported fields }
BackwardRelation represents a "belongs to" relationship From current table to parent table (e.g., Post -> User)
func BelongsTo ¶
func BelongsTo[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC]]( currentTableAlias T, relatedTable RelationTableAlias[RT], foreignKey C, ownerKey RC, ) *BackwardRelation[T, C, S, RT, RC, RS]
BelongsTo creates a backward relation (many-to-one) Example: Post belongs to User
func (*BackwardRelation[T, C, S, RT, RC, RS]) LoadOne ¶
func (r *BackwardRelation[T, C, S, RT, RC, RS]) LoadOne( ctx context.Context, db exec2.DB, relatedTable RelationTableQuery[RT, RC, RS], foreignValue any, ) (RS, error)
LoadOne loads a related record for a backward relation (BelongsTo)
func (*BackwardRelation[T, C, S, RT, RC, RS]) WithJoin ¶
func (r *BackwardRelation[T, C, S, RT, RC, RS]) WithJoin( currentTable RelationTableJoin[T, C], query *dml.SelectQuery[T, C], joinType dml.JoinType, ) *dml.SelectQuery[T, C]
WithJoin adds a JOIN clause to a SelectQuery for backward relation
type BelongsToLoader ¶
type BelongsToLoader[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ] struct { // contains filtered or unexported fields }
type BigIntColumnI ¶
type BigIntColumnI[C types.ColumnAlias] interface { set2.SetterColumn[int64, C] clause2.CommonScalarOperand[int64, C] // contains filtered or unexported methods }
func BigIntColumn ¶
func BigIntColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) BigIntColumnI[C]
type BigSerialColumnI ¶
type BigSerialColumnI[C types.ColumnAlias] interface { set2.SetterColumn[int64, C] clause2.CommonScalarOperand[int64, C] // contains filtered or unexported methods }
func BigSerialColumn ¶
func BigSerialColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) BigSerialColumnI[C]
type BooleanColumnI ¶
type BooleanColumnI[C types.ColumnAlias] interface { set2.SetterColumn[bool, C] clause2.CommonScalarOperand[bool, C] // contains filtered or unexported methods }
func BooleanColumn ¶
func BooleanColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) BooleanColumnI[C]
type ByteaColumnI ¶
type ByteaColumnI[C types.ColumnAlias] interface { set2.SetterColumn[[]byte, C] clause2.CommonScalarOperand[[]byte, C] // contains filtered or unexported methods }
func ByteaColumn ¶
func ByteaColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) ByteaColumnI[C]
type CharColumnI ¶
type CharColumnI[C types.ColumnAlias] interface { set2.SetterColumn[string, C] clause2.CommonScalarOperand[string, C] clause2.LikeOperand[C] // contains filtered or unexported methods }
func CharColumn ¶
func CharColumn[C types.ColumnAlias](alias C, length int, options ...ddl2.ColumnOption[C]) CharColumnI[C]
type Column ¶
type Column[V any, C types.ColumnAlias] struct { *ddl2.ColumnDDL[C] *clause2.ColumnDML[V, C] set2.SetterColumn[V, C] }
type DoublePrecisionColumnI ¶
type DoublePrecisionColumnI[C types.ColumnAlias] interface { set2.SetterColumn[float64, C] clause2.CommonScalarOperand[float64, C] // contains filtered or unexported methods }
func DoublePrecisionColumn ¶
func DoublePrecisionColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) DoublePrecisionColumnI[C]
type ForwardRelation ¶
type ForwardRelation[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ] struct { // contains filtered or unexported fields }
ForwardRelation represents a "has many" or "has one" relationship From current table to related table (e.g., User -> Posts)
func HasMany ¶
func HasMany[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC]]( currentTableAlias T, relatedTable RelationTableAlias[RT], foreignKey RC, localKey C, ) *ForwardRelation[T, C, S, RT, RC, RS]
HasMany creates a forward relation (one-to-many) Example: User has many Posts
func HasOne ¶ added in v0.2.0
func HasOne[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC]]( currentTableAlias T, relatedTable RelationTableAlias[RT], foreignKey RC, localKey C, ) *ForwardRelation[T, C, S, RT, RC, RS]
HasOne creates a forward relation (one-to-one) Example: User has one Profile
func (*ForwardRelation[T, C, S, RT, RC, RS]) LoadMany ¶
func (r *ForwardRelation[T, C, S, RT, RC, RS]) LoadMany( ctx context.Context, db exec2.DB, relatedTable RelationTableQuery[RT, RC, RS], localValue any, ) ([]RS, error)
LoadMany loads related records for a forward relation (HasMany)
func (*ForwardRelation[T, C, S, RT, RC, RS]) LoadOne ¶ added in v0.2.0
func (r *ForwardRelation[T, C, S, RT, RC, RS]) LoadOne( ctx context.Context, db exec2.DB, relatedTable RelationTableQuery[RT, RC, RS], localValue any, ) (RS, error)
LoadOne loads a single related record for a forward relation (HasOne)
func (*ForwardRelation[T, C, S, RT, RC, RS]) WithJoin ¶
func (r *ForwardRelation[T, C, S, RT, RC, RS]) WithJoin( currentTable RelationTableJoin[T, C], query *dml.SelectQuery[T, C], joinType dml.JoinType, ) *dml.SelectQuery[T, C]
WithJoin adds a JOIN clause to a SelectQuery for forward relation
type HasManyLoader ¶
type HasManyLoader[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ] struct { // contains filtered or unexported fields }
type HasOneLoader ¶ added in v0.2.0
type HasOneLoader[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ] struct { // contains filtered or unexported fields }
HasOneLoader implements RelationLoader for one-to-one forward relations
type IntegerColumnI ¶
type IntegerColumnI[C types.ColumnAlias] interface { set2.SetterColumn[int32, C] clause2.CommonScalarOperand[int32, C] // contains filtered or unexported methods }
func IntegerColumn ¶
func IntegerColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) IntegerColumnI[C]
type IntervalColumnI ¶
type IntervalColumnI[C types.ColumnAlias] interface { set2.SetterColumn[time.Duration, C] clause2.CommonScalarOperand[time.Duration, C] // contains filtered or unexported methods }
func IntervalColumn ¶
func IntervalColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) IntervalColumnI[C]
type JSONColumnI ¶
type JSONColumnI[C types.ColumnAlias] interface { set2.SetterColumn[[]byte, C] clause2.JsonOperand[C] // contains filtered or unexported methods }
func JSONColumn ¶
func JSONColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) JSONColumnI[C]
type ManyToManyLoader ¶
type ManyToManyLoader[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], PT types.TableAlias, PC types.ColumnAlias, RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ] struct { // contains filtered or unexported fields }
ManyToManyLoader implements RelationLoader for many-to-many relations
type ManyToManyRelation ¶
type ManyToManyRelation[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], PT types.TableAlias, PC types.ColumnAlias, RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ] struct { // contains filtered or unexported fields }
ManyToManyRelation represents a many-to-many relationship through a pivot table Example: Product <-> Categories through product_categories pivot table
func ManyToMany ¶
func ManyToMany[ T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C], PT types.TableAlias, PC types.ColumnAlias, RT types.TableAlias, RC types.ColumnAlias, RS exec2.Scanner[RC], ]( currentTableAlias T, pivotTable RelationTableAlias[PT], relatedTable RelationTableAlias[RT], localKey C, pivotLocalKey PC, pivotRelatedKey PC, relatedKey RC, ) *ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS]
ManyToMany creates a many-to-many relation through a pivot table Example: Product has many Categories through product_categories
func (*ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS]) LoadMany ¶
func (r *ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS]) LoadMany( ctx context.Context, db exec2.DB, relatedTable RelationTableQuery[RT, RC, RS], localValue any, ) ([]RS, error)
LoadMany loads related records for a many-to-many relation
func (*ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS]) WithJoin ¶
func (r *ManyToManyRelation[T, C, S, PT, PC, RT, RC, RS]) WithJoin( currentTable RelationTableJoin[T, C], query *dml.SelectQuery[T, C], joinType dml.JoinType, ) *dml.SelectQuery[T, C]
WithJoin adds JOIN clauses to a SelectQuery for many-to-many relation Joins: current_table -> pivot_table -> related_table
type NullBigIntColumnI ¶
type NullBigIntColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*int64, C] clause2.CommonScalarOperand[*int64, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullBigIntColumn ¶
func NullBigIntColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullBigIntColumnI[C]
type NullBigSerialColumnI ¶
type NullBigSerialColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*int64, C] clause2.CommonScalarOperand[*int64, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullBigSerialColumn ¶
func NullBigSerialColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullBigSerialColumnI[C]
type NullBooleanColumnI ¶
type NullBooleanColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*bool, C] clause2.CommonScalarOperand[*bool, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullBooleanColumn ¶
func NullBooleanColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullBooleanColumnI[C]
type NullByteaColumnI ¶
type NullByteaColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*[]byte, C] clause2.CommonScalarOperand[*[]byte, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullByteaColumn ¶
func NullByteaColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullByteaColumnI[C]
type NullCharColumnI ¶
type NullCharColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*string, C] clause2.CommonScalarOperand[*string, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullCharColumn ¶
func NullCharColumn[C types.ColumnAlias](alias C, length int, options ...ddl2.ColumnOption[C]) NullCharColumnI[C]
type NullDoublePrecisionColumnI ¶
type NullDoublePrecisionColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*float64, C] clause2.CommonScalarOperand[*float64, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullDoublePrecisionColumn ¶
func NullDoublePrecisionColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullDoublePrecisionColumnI[C]
type NullIntegerColumnI ¶
type NullIntegerColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*int32, C] clause2.CommonScalarOperand[*int32, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullIntegerColumn ¶
func NullIntegerColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullIntegerColumnI[C]
type NullIntervalColumnI ¶
type NullIntervalColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*time.Duration, C] clause2.CommonScalarOperand[*time.Duration, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullIntervalColumn ¶
func NullIntervalColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullIntervalColumnI[C]
type NullJSONColumnI ¶
type NullJSONColumnI[C types.ColumnAlias] interface { set2.SetterColumn[[]byte, C] clause2.JsonOperand[C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullJSONColumn ¶
func NullJSONColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullJSONColumnI[C]
type NullNumericColumnI ¶
type NullNumericColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*float64, C] clause2.CommonScalarOperand[*float64, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullNumericColumn ¶
func NullNumericColumn[C types.ColumnAlias](alias C, precision, scale int, options ...ddl2.ColumnOption[C]) NullNumericColumnI[C]
type NullRealColumnI ¶
type NullRealColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*float32, C] clause2.CommonScalarOperand[*float32, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullRealColumn ¶
func NullRealColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullRealColumnI[C]
type NullSmallIntColumnI ¶
type NullSmallIntColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*int16, C] clause2.CommonScalarOperand[*int16, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullSmallIntColumn ¶
func NullSmallIntColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullSmallIntColumnI[C]
type NullTextColumnI ¶
type NullTextColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*string, C] clause2.CommonScalarOperand[*string, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullTextColumn ¶
func NullTextColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullTextColumnI[C]
type NullTimeColumnI ¶
type NullTimeColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*time.Time, C] clause2.CommonScalarOperand[*time.Time, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullTimeColumn ¶
func NullTimeColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullTimeColumnI[C]
type NullTimestamptzColumnI ¶
type NullTimestamptzColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*time.Time, C] clause2.CommonScalarOperand[*time.Time, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullTimestamptzColumn ¶
func NullTimestamptzColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullTimestamptzColumnI[C]
type NullUuidColumnI ¶
type NullUuidColumnI[C types.ColumnAlias] interface { set2.SetterColumn[*pgtype.UUID, C] clause2.CommonScalarOperand[*pgtype.UUID, C] clause2.IsNullOperand[C] // contains filtered or unexported methods }
func NullUuidColumn ¶
func NullUuidColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) NullUuidColumnI[C]
type NumericColumnI ¶
type NumericColumnI[C types.ColumnAlias] interface { set2.SetterColumn[float64, C] clause2.CommonScalarOperand[float64, C] // contains filtered or unexported methods }
func NumericColumn ¶
func NumericColumn[C types.ColumnAlias](alias C, precision, scale int, options ...ddl2.ColumnOption[C]) NumericColumnI[C]
type RealColumnI ¶
type RealColumnI[C types.ColumnAlias] interface { set2.SetterColumn[float32, C] clause2.CommonScalarOperand[float32, C] // contains filtered or unexported methods }
func RealColumn ¶
func RealColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) RealColumnI[C]
type RelationTableAlias ¶
type RelationTableAlias[T types.TableAlias] interface { Alias() T }
type RelationTableJoin ¶
type RelationTableJoin[T types.TableAlias, C types.ColumnAlias] interface { RelationTableAlias[T] Raw(sql string, args ...any) clause.Clause[C] }
type RelationTableQuery ¶
type RelationTableQuery[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C]] interface { RelationTableJoin[T, C] SelectAll() *dml.SelectQuery[T, C] Query(ctx context.Context, db exec2.DB, query types.Scannable, opts ...exec2.QueryOption[C, S]) ([]S, error) QueryRow(ctx context.Context, db exec2.DB, query types.Scannable, opts ...exec2.QueryOption[C, S]) (S, error) }
type SmallIntColumnI ¶
type SmallIntColumnI[C types.ColumnAlias] interface { set2.SetterColumn[int16, C] clause2.CommonScalarOperand[int16, C] // contains filtered or unexported methods }
func SmallIntColumn ¶
func SmallIntColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) SmallIntColumnI[C]
type Table ¶
type Table[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C]] struct { *ddl2.TableDDL[T, C] *dml.TableDML[T, C] *exec2.TableExecutor[T, C, S] // contains filtered or unexported fields }
func NewTable ¶
func NewTable[T types.TableAlias, C types.ColumnAlias, S exec2.Scanner[C]]( alias T, constructor func() S, columns []*ddl2.ColumnDDL[C], ddlOptions ...ddl2.TableOptions[T, C], ) *Table[T, C, S]
type TextColumnI ¶
type TextColumnI[C types.ColumnAlias] interface { set2.SetterColumn[string, C] clause2.CommonScalarOperand[string, C] clause2.LikeOperand[C] // contains filtered or unexported methods }
func TextColumn ¶
func TextColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) TextColumnI[C]
type TimeColumnI ¶
type TimeColumnI[C types.ColumnAlias] interface { set2.SetterColumn[time.Time, C] clause2.CommonScalarOperand[time.Time, C] // contains filtered or unexported methods }
func TimeColumn ¶
func TimeColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) TimeColumnI[C]
type TimestamptzColumnI ¶
type TimestamptzColumnI[C types.ColumnAlias] interface { set2.SetterColumn[time.Time, C] clause2.CommonScalarOperand[time.Time, C] // contains filtered or unexported methods }
func TimestamptzColumn ¶
func TimestamptzColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) TimestamptzColumnI[C]
type UuidColumnI ¶
type UuidColumnI[C types.ColumnAlias] interface { set2.SetterColumn[pgtype.UUID, C] clause2.CommonScalarOperand[pgtype.UUID, C] // contains filtered or unexported methods }
func UuidColumn ¶
func UuidColumn[C types.ColumnAlias](alias C, options ...ddl2.ColumnOption[C]) UuidColumnI[C]