Versions in this module Expand all Collapse all v0 v0.17.0 Jul 7, 2023 Changes in this version + func ExecQuery(ctx context.Context, wrapper QueryWrapper, query string, args ...any) (int, error) + func ExecQueryAndCheckUpdatedNotZero(ctx context.Context, wrapper QueryWrapper, query string, args ...any) error + func ExecStmt(ctx context.Context, wrapper StmtWrapper, args ...any) (int, error) + func ExecStmtAndCheckUpdatedNotZero(ctx context.Context, wrapper StmtWrapper, args ...any) error + func GenSQLIn(count int) string + func MapQueryRow(ctx context.Context, qw QueryWrapper, query string, args ...any) (T, error) + func MapQueryRowFn(ctx context.Context, qw QueryWrapper, query string, ...) (T, error) + func MapQueryRows(ctx context.Context, qw QueryWrapper, query string, args ...any) ([]T, error) + func MapQueryRowsFn(ctx context.Context, qw QueryWrapper, query string, ...) ([]T, error) + func MapSliceToAny(v []T) []any + func MapStmtRow(ctx context.Context, qw StmtWrapper, args ...any) (T, error) + func MapStmtRowFn(ctx context.Context, qw StmtWrapper, m func(RowScanner) (T, error), ...) (T, error) + func MapStmtRows(ctx context.Context, qw StmtWrapper, args ...any) ([]T, error) + func MapStmtRowsFn(ctx context.Context, qw StmtWrapper, m func(RowScanner) (T, error), ...) ([]T, error) + func QueryExists(ctx context.Context, qw QueryWrapper, query string, args ...any) (bool, error) + func QueryForEachRow(ctx context.Context, qw QueryWrapper, query string, m func(RowScanner) error, ...) error + func WrapStmtClose(st StmtWrapper) + type DBWrapper struct + DB *sql.DB + func (d DBWrapper) ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error) + func (d DBWrapper) PrepareStatement(ctx context.Context, query string) (StmtWrapper, error) + func (d DBWrapper) QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error) + func (d DBWrapper) QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row + type DebugQueryWrapper struct + Entry *logrus.Entry + QW QueryWrapper + func (d DebugQueryWrapper) ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error) + func (d DebugQueryWrapper) PrepareStatement(ctx context.Context, query string) (StmtWrapper, error) + func (d DebugQueryWrapper) QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error) + func (d DebugQueryWrapper) QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row + type DebugStmtWrapper struct + func (d DebugStmtWrapper) Close() error + func (d DebugStmtWrapper) ExecContext(ctx context.Context, args ...any) (sql.Result, error) + func (d DebugStmtWrapper) QueryContext(ctx context.Context, args ...any) (*sql.Rows, error) + func (d DebugStmtWrapper) QueryRowContext(ctx context.Context, args ...any) *sql.Row + type QueryWrapper interface + ExecContext func(ctx context.Context, query string, args ...any) (sql.Result, error) + PrepareStatement func(ctx context.Context, query string) (StmtWrapper, error) + QueryContext func(ctx context.Context, query string, args ...any) (*sql.Rows, error) + QueryRowContext func(ctx context.Context, query string, args ...any) *sql.Row + type ReadTracer struct + Entry *logrus.Entry + RD db.ReadOnly + func (r ReadTracer) GetAllMailboxesAsRemoteIDs(ctx context.Context) ([]imap.MailboxID, error) + func (r ReadTracer) GetAllMailboxesWithAttr(ctx context.Context) ([]*db.MailboxWithAttr, error) + func (r ReadTracer) GetAllMessagesIDsAsMap(ctx context.Context) (map[imap.InternalMessageID]struct{}, error) + func (r ReadTracer) GetDeletedSubscriptionSet(ctx context.Context) (map[imap.MailboxID]*db.DeletedSubscription, error) + func (r ReadTracer) GetImportedMessageData(ctx context.Context, id imap.InternalMessageID) (*db.MessageWithFlags, error) + func (r ReadTracer) GetMailboxAttributes(ctx context.Context, mboxID imap.InternalMailboxID) (imap.FlagSet, error) + func (r ReadTracer) GetMailboxByID(ctx context.Context, mboxID imap.InternalMailboxID) (*db.Mailbox, error) + func (r ReadTracer) GetMailboxByName(ctx context.Context, name string) (*db.Mailbox, error) + func (r ReadTracer) GetMailboxByRemoteID(ctx context.Context, mboxID imap.MailboxID) (*db.Mailbox, error) + func (r ReadTracer) GetMailboxCount(ctx context.Context) (int, error) + func (r ReadTracer) GetMailboxFlags(ctx context.Context, mboxID imap.InternalMailboxID) (imap.FlagSet, error) + func (r ReadTracer) GetMailboxIDFromRemoteID(ctx context.Context, mboxID imap.MailboxID) (imap.InternalMailboxID, error) + func (r ReadTracer) GetMailboxMessageCount(ctx context.Context, mboxID imap.InternalMailboxID) (int, error) + func (r ReadTracer) GetMailboxMessageCountAndUID(ctx context.Context, mboxID imap.InternalMailboxID) (int, imap.UID, error) + func (r ReadTracer) GetMailboxMessageCountWithRemoteID(ctx context.Context, mboxID imap.MailboxID) (int, error) + func (r ReadTracer) GetMailboxMessageForNewSnapshot(ctx context.Context, mboxID imap.InternalMailboxID) ([]db.SnapshotMessageResult, error) + func (r ReadTracer) GetMailboxMessageIDPairs(ctx context.Context, mboxID imap.InternalMailboxID) ([]db.MessageIDPair, error) + func (r ReadTracer) GetMailboxName(ctx context.Context, mboxID imap.InternalMailboxID) (string, error) + func (r ReadTracer) GetMailboxNameWithRemoteID(ctx context.Context, mboxID imap.MailboxID) (string, error) + func (r ReadTracer) GetMailboxPermanentFlags(ctx context.Context, mboxID imap.InternalMailboxID) (imap.FlagSet, error) + func (r ReadTracer) GetMailboxRecentCount(ctx context.Context, mboxID imap.InternalMailboxID) (int, error) + func (r ReadTracer) GetMailboxUID(ctx context.Context, mboxID imap.InternalMailboxID) (imap.UID, error) + func (r ReadTracer) GetMessageDateAndSize(ctx context.Context, id imap.InternalMessageID) (time.Time, int, error) + func (r ReadTracer) GetMessageDeletedFlag(ctx context.Context, id imap.InternalMessageID) (bool, error) + func (r ReadTracer) GetMessageIDFromRemoteID(ctx context.Context, id imap.MessageID) (imap.InternalMessageID, error) + func (r ReadTracer) GetMessageIDsMarkedAsDelete(ctx context.Context) ([]imap.InternalMessageID, error) + func (r ReadTracer) GetMessageMailboxIDs(ctx context.Context, id imap.InternalMessageID) ([]imap.InternalMailboxID, error) + func (r ReadTracer) GetMessageNoEdges(ctx context.Context, id imap.InternalMessageID) (*db.Message, error) + func (r ReadTracer) GetMessageRemoteID(ctx context.Context, id imap.InternalMessageID) (imap.MessageID, error) + func (r ReadTracer) GetMessagesFlags(ctx context.Context, ids []imap.InternalMessageID) ([]db.MessageFlagSet, error) + func (r ReadTracer) GetTotalMessageCount(ctx context.Context) (int, error) + func (r ReadTracer) MailboxExistsWithID(ctx context.Context, mboxID imap.InternalMailboxID) (bool, error) + func (r ReadTracer) MailboxExistsWithName(ctx context.Context, name string) (bool, error) + func (r ReadTracer) MailboxExistsWithRemoteID(ctx context.Context, mboxID imap.MailboxID) (bool, error) + func (r ReadTracer) MailboxFilterContains(ctx context.Context, mboxID imap.InternalMailboxID, ...) ([]imap.InternalMessageID, error) + func (r ReadTracer) MailboxTranslateRemoteIDs(ctx context.Context, mboxIDs []imap.MailboxID) ([]imap.InternalMailboxID, error) + func (r ReadTracer) MessageExists(ctx context.Context, id imap.InternalMessageID) (bool, error) + func (r ReadTracer) MessageExistsWithRemoteID(ctx context.Context, id imap.MessageID) (bool, error) + type RowScanner interface + Scan func(args ...any) error + type StmtWrapper interface + Close func() error + ExecContext func(ctx context.Context, args ...any) (sql.Result, error) + QueryContext func(ctx context.Context, args ...any) (*sql.Rows, error) + QueryRowContext func(ctx context.Context, args ...any) *sql.Row + type TXWrapper struct + TX *sql.Tx + func (t TXWrapper) ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error) + func (t TXWrapper) PrepareStatement(ctx context.Context, query string) (StmtWrapper, error) + func (t TXWrapper) QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error) + func (t TXWrapper) QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row + type WriteTracer struct + TX db.Transaction + func (w WriteTracer) AddDeletedSubscription(ctx context.Context, mboxName string, mboxID imap.MailboxID) error + func (w WriteTracer) AddFlagToMessages(ctx context.Context, ids []imap.InternalMessageID, flag string) error + func (w WriteTracer) AddMessagesToMailbox(ctx context.Context, mboxID imap.InternalMailboxID, ...) ([]db.UIDWithFlags, error) + func (w WriteTracer) ClearRecentFlagInMailboxOnMessage(ctx context.Context, mboxID imap.InternalMailboxID, ...) error + func (w WriteTracer) ClearRecentFlagsInMailbox(ctx context.Context, mboxID imap.InternalMailboxID) error + func (w WriteTracer) CreateMailbox(ctx context.Context, mboxID imap.MailboxID, name string, ...) (*db.Mailbox, error) + func (w WriteTracer) CreateMailboxIfNotExists(ctx context.Context, mbox imap.Mailbox, delimiter string, uidValidity imap.UID) error + func (w WriteTracer) CreateMessageAndAddToMailbox(ctx context.Context, mbox imap.InternalMailboxID, req *db.CreateMessageReq) (imap.UID, imap.FlagSet, error) + func (w WriteTracer) CreateMessages(ctx context.Context, reqs ...*db.CreateMessageReq) error + func (w WriteTracer) DeleteMailboxWithRemoteID(ctx context.Context, mboxID imap.MailboxID) error + func (w WriteTracer) DeleteMessages(ctx context.Context, ids []imap.InternalMessageID) error + func (w WriteTracer) GetOrCreateMailbox(ctx context.Context, mboxID imap.MailboxID, name string, ...) (*db.Mailbox, error) + func (w WriteTracer) GetOrCreateMailboxAlt(ctx context.Context, mbox imap.Mailbox, delimiter string, uidValidity imap.UID) (*db.Mailbox, error) + func (w WriteTracer) MarkMessageAsDeleted(ctx context.Context, id imap.InternalMessageID) error + func (w WriteTracer) MarkMessageAsDeletedAndAssignRandomRemoteID(ctx context.Context, id imap.InternalMessageID) error + func (w WriteTracer) MarkMessageAsDeletedWithRemoteID(ctx context.Context, id imap.MessageID) error + func (w WriteTracer) RemoveDeletedSubscriptionWithName(ctx context.Context, mboxName string) (int, error) + func (w WriteTracer) RemoveFlagFromMessages(ctx context.Context, ids []imap.InternalMessageID, flag string) error + func (w WriteTracer) RemoveMessagesFromMailbox(ctx context.Context, mboxID imap.InternalMailboxID, ...) error + func (w WriteTracer) RenameMailboxWithRemoteID(ctx context.Context, mboxID imap.MailboxID, name string) error + func (w WriteTracer) SetFlagsOnMessages(ctx context.Context, ids []imap.InternalMessageID, flags imap.FlagSet) error + func (w WriteTracer) SetMailboxMessagesDeletedFlag(ctx context.Context, mboxID imap.InternalMailboxID, ...) error + func (w WriteTracer) SetMailboxSubscribed(ctx context.Context, mboxID imap.InternalMailboxID, subscribed bool) error + func (w WriteTracer) SetMailboxUIDValidity(ctx context.Context, mboxID imap.InternalMailboxID, uidValidity imap.UID) error + func (w WriteTracer) UpdateRemoteMailboxID(ctx context.Context, mobxID imap.InternalMailboxID, remoteID imap.MailboxID) error + func (w WriteTracer) UpdateRemoteMessageID(ctx context.Context, internalID imap.InternalMessageID, ...) error