Documentation ¶
Index ¶
- Constants
- func CopyWithNewKey[R Record](r R, k entity.AutoGenKey) R
- func MultiplePlaceholder(lv int) string
- func Values(r Record) []any
- type AnonymousErrorCallback
- type DatabaseContext
- func (ctx DatabaseContext[R]) CustomQuery(q string, mp TypedQueryResultMapper[R], v ...any) ([]R, error)
- func (ctx DatabaseContext[Record]) Insert(i Import) (AutoGenKey, error)
- func (ctx DatabaseContext[Record]) InsertSubscription(s Subscription) error
- func (ctx DatabaseContext[R]) NewTransactionContext() (TransactionContext[R], error)
- type DatabaseTable
- type Field
- type ForeignTable
- func NewConcurrentHashForeignTable[F HashUser, P User](maxElementsOfGoroutine int, primaryElements []P, ...) ForeignTable[F]
- func NewHashUserTable(us []User) ForeignTable[HashUser]
- func NewLeakBadActorTable(lba map[Leak][]BadActor) ForeignTable[LeakBadActor]
- func NewLeakPlatformTable(lpt map[Leak][]Platform) ForeignTable[LeakPlatform]
- func NewLeakUserTable(lus map[Leak][]User) ForeignTable[LeakUser]
- func NewSubscriberAffectedTable(s Subscriber, a []Affected) ForeignTable[SubscriberAffected]
- func (ft ForeignTable[R]) Copy(rs Records[R]) ForeignTable[R]
- func (ft ForeignTable[R]) Fields() []Field
- func (ft ForeignTable[R]) InsertFields() []Field
- func (ft ForeignTable[R]) InsertValues(r R) []any
- func (ft ForeignTable[R]) Name() string
- func (ft ForeignTable[R]) PrepareInsertStatement(tx *sql.Tx) (*sql.Stmt, error)
- type PrimaryTable
- func NewAffectedTable(af []Affected) PrimaryTable[Affected]
- func NewBadActorTable(ba []BadActor) PrimaryTable[BadActor]
- func NewConcurrentPrimaryTable[P BadActor | User | Platform](maxElementsOfGoroutine int, primaryElements []P, ...) PrimaryTable[P]
- func NewLeakTable(ls ...Leak) PrimaryTable[Leak]
- func NewPlatformTable(ps []Platform) PrimaryTable[Platform]
- func NewSubscriberTable(su ...Subscriber) PrimaryTable[Subscriber]
- func NewUserTable(us []User) PrimaryTable[User]
- func (pt PrimaryTable[R]) Copy(rs Records[R]) PrimaryTable[R]
- func (pt PrimaryTable[R]) Fields() []Field
- func (pt PrimaryTable[R]) FindFields() []Field
- func (pt PrimaryTable[R]) FindValues(r R) []any
- func (pt PrimaryTable[R]) HasPrimaryKeySet(r R) bool
- func (pt PrimaryTable[R]) InsertFields() []Field
- func (pt PrimaryTable[R]) InsertValues(r R) []any
- func (pt PrimaryTable[R]) Name() string
- func (pt PrimaryTable[R]) PrepareFindStatement(tx *sql.Tx) (*sql.Stmt, error)
- func (pt PrimaryTable[R]) PrepareInsertStatement(tx *sql.Tx) (*sql.Stmt, error)
- func (pt PrimaryTable[R]) Values(r R) []any
- type Record
- type Records
- type Table
- type TransactionContext
- type TypedQueryResultMapper
Constants ¶
View Source
const ( AscendingSortOrderKeyword = "ASC" DescendingSortOrderKeyword = "DESC" )
View Source
const MaxElementsOfGoroutine = 5000
Variables ¶
This section is empty.
Functions ¶
func CopyWithNewKey ¶
func CopyWithNewKey[R Record](r R, k entity.AutoGenKey) R
func MultiplePlaceholder ¶ added in v0.0.3
Types ¶
type AnonymousErrorCallback ¶ added in v0.0.2
type DatabaseContext ¶
func Convert ¶ added in v0.0.2
func Convert[R Record, T Record](ctx DatabaseContext[R]) DatabaseContext[T]
func NewDatabaseContext ¶
func NewDatabaseContext[R Record](fp string) (DatabaseContext[R], error)
func (DatabaseContext[R]) CustomQuery ¶ added in v0.0.2
func (ctx DatabaseContext[R]) CustomQuery(q string, mp TypedQueryResultMapper[R], v ...any) ([]R, error)
Execute a query that can be customized using prepared statements. Consumers must provide a typed callback that shall return each row result mapped as a pointer to a struct.
An example of a call would be:
ctx.CustomQuery("SELECT * FROM User WHERE email = ?", func() (*User, []any) { u := User{} return u, []any{&u.UserId, &u.Email} }, email)
func (DatabaseContext[Record]) Insert ¶
func (ctx DatabaseContext[Record]) Insert(i Import) (AutoGenKey, error)
func (DatabaseContext[Record]) InsertSubscription ¶ added in v0.0.5
func (ctx DatabaseContext[Record]) InsertSubscription(s Subscription) error
func (DatabaseContext[R]) NewTransactionContext ¶ added in v0.0.2
func (ctx DatabaseContext[R]) NewTransactionContext() (TransactionContext[R], error)
type DatabaseTable ¶
func (DatabaseTable[R]) Fields ¶
func (t DatabaseTable[R]) Fields() []Field
func (DatabaseTable[R]) Name ¶
func (t DatabaseTable[R]) Name() string
type ForeignTable ¶
type ForeignTable[R Record] DatabaseTable[R]
func NewConcurrentHashForeignTable ¶ added in v0.0.9
func NewConcurrentHashForeignTable[F HashUser, P User](maxElementsOfGoroutine int, primaryElements []P, newForeignTableCallback func([]P) ForeignTable[F]) ForeignTable[F]
func NewHashUserTable ¶
func NewHashUserTable(us []User) ForeignTable[HashUser]
func NewLeakBadActorTable ¶
func NewLeakBadActorTable(lba map[Leak][]BadActor) ForeignTable[LeakBadActor]
func NewLeakPlatformTable ¶
func NewLeakPlatformTable(lpt map[Leak][]Platform) ForeignTable[LeakPlatform]
func NewLeakUserTable ¶
func NewLeakUserTable(lus map[Leak][]User) ForeignTable[LeakUser]
func NewSubscriberAffectedTable ¶ added in v0.0.5
func NewSubscriberAffectedTable(s Subscriber, a []Affected) ForeignTable[SubscriberAffected]
func (ForeignTable[R]) Copy ¶
func (ft ForeignTable[R]) Copy(rs Records[R]) ForeignTable[R]
func (ForeignTable[R]) Fields ¶
func (ft ForeignTable[R]) Fields() []Field
func (ForeignTable[R]) InsertFields ¶
func (ft ForeignTable[R]) InsertFields() []Field
func (ForeignTable[R]) InsertValues ¶
func (ft ForeignTable[R]) InsertValues(r R) []any
func (ForeignTable[R]) Name ¶
func (ft ForeignTable[R]) Name() string
func (ForeignTable[R]) PrepareInsertStatement ¶
type PrimaryTable ¶
type PrimaryTable[R Record] DatabaseTable[R]
func NewAffectedTable ¶ added in v0.0.5
func NewAffectedTable(af []Affected) PrimaryTable[Affected]
func NewBadActorTable ¶
func NewBadActorTable(ba []BadActor) PrimaryTable[BadActor]
func NewConcurrentPrimaryTable ¶ added in v0.0.9
func NewConcurrentPrimaryTable[P BadActor | User | Platform](maxElementsOfGoroutine int, primaryElements []P, newPrimaryTableCallback func([]P) PrimaryTable[P]) PrimaryTable[P]
func NewLeakTable ¶
func NewLeakTable(ls ...Leak) PrimaryTable[Leak]
func NewPlatformTable ¶
func NewPlatformTable(ps []Platform) PrimaryTable[Platform]
func NewSubscriberTable ¶ added in v0.0.5
func NewSubscriberTable(su ...Subscriber) PrimaryTable[Subscriber]
func NewUserTable ¶
func NewUserTable(us []User) PrimaryTable[User]
func (PrimaryTable[R]) Copy ¶
func (pt PrimaryTable[R]) Copy(rs Records[R]) PrimaryTable[R]
func (PrimaryTable[R]) Fields ¶
func (pt PrimaryTable[R]) Fields() []Field
func (PrimaryTable[R]) FindFields ¶
func (pt PrimaryTable[R]) FindFields() []Field
func (PrimaryTable[R]) FindValues ¶
func (pt PrimaryTable[R]) FindValues(r R) []any
func (PrimaryTable[R]) HasPrimaryKeySet ¶
func (pt PrimaryTable[R]) HasPrimaryKeySet(r R) bool
func (PrimaryTable[R]) InsertFields ¶
func (pt PrimaryTable[R]) InsertFields() []Field
func (PrimaryTable[R]) InsertValues ¶
func (pt PrimaryTable[R]) InsertValues(r R) []any
func (PrimaryTable[R]) Name ¶
func (pt PrimaryTable[R]) Name() string
func (PrimaryTable[R]) PrepareFindStatement ¶
func (PrimaryTable[R]) PrepareInsertStatement ¶
func (PrimaryTable[R]) Values ¶
func (pt PrimaryTable[R]) Values(r R) []any
type Table ¶
type Table[R Record] interface { Name() string Records() []R Fields() []Field Values(R) []any Copy([]R) DatabaseTable[R] Generalize() DatabaseTable[Record] HasPrimaryKeySet(R) bool InsertFields() []Field InsertValues(R) []any FindFields() []Field FindValues(R) []any PrepareInsertStatement(*sql.Tx) (*sql.Stmt, error) PrepareFindStatement(*sql.Tx) (*sql.Stmt, error) }
type TransactionContext ¶
type TypedQueryResultMapper ¶ added in v0.0.2
Click to show internal directories.
Click to hide internal directories.