Documentation
¶
Index ¶
- Constants
- func MapError(err error) error
- func ScanRows[T any](rows *sqlx.Rows) ([]T, error)
- func ScanRowsQueryResult[T any](rows *sqlx.Rows) ([]T, error)
- func ScanRowsQueryResultAndMap[T, K any](rows *sqlx.Rows, mapFn func(entity T) K) ([]K, error)
- type Basis
- type ContainerDb
- type Db
- type DbConfig
- type DbOption
- type Format
- type Index
- type IndexQuery
- type IndexRecord
- type IndexRecordID
- type IndexRecordQuery
- type ModelTx
- type QueryResult
- type SearchQuery
- type SearchQueryResultItem
- type Tags
- type Tx
- type Vector
Constants ¶
View Source
const ( PqForeignKeyViolationError = pq.ErrorCode("23503") PqUniqueViolationError = pq.ErrorCode("23505") )
Variables ¶
This section is empty.
Functions ¶
func ScanRowsQueryResult ¶ added in v0.51.0
Types ¶
type Basis ¶ added in v0.5.0
type Basis json.RawMessage
type ContainerDb ¶ added in v0.51.0
func NewNilContainerDb ¶ added in v0.51.0
func NewNilContainerDb(opts ...DbOption) (ContainerDb, error)
func NewPgContainerDb ¶ added in v0.51.0
func NewPgContainerDb(image string, opts ...DbOption) (ContainerDb, error)
NewPgContainerDb runs pg database in a docker container.
type Db ¶
type Db interface {
// NewModelTx creates new ModelTx object
NewModelTx(ctx context.Context) ModelTx
// NewTx creates Tx object
NewTx(ctx context.Context) Tx
}
Db interface exposes
type DbConfig ¶ added in v0.51.0
type DbConfig struct {
Host string
Port string
User string
Password string
DbName string
SslMode string
}
func (DbConfig) DataSourceFull ¶ added in v0.51.0
func (DbConfig) DataSourceNoDb ¶ added in v0.51.0
type DbOption ¶ added in v0.51.0
type DbOption func(cfg *DbConfig)
func WithDbName ¶ added in v0.51.0
type IndexQuery ¶ added in v0.4.0
type IndexRecord ¶ added in v0.0.2
type IndexRecordID ¶ added in v0.11.0
type IndexRecordQuery ¶ added in v0.4.0
type ModelTx ¶
type ModelTx interface {
Tx
// CreateFormat creates format entry
CreateFormat(format Format) (Format, error)
// GetFormat retrieves format entry by ID
GetFormat(ID string) (Format, error)
// DeleteFormat deletes format entry by ID (only if not referenced)
DeleteFormat(ID string) error
// ListFormats lists all the existing format entries
ListFormats() ([]Format, error)
// CreateIndex creates index entry based on source ID
CreateIndex(index Index) (Index, error)
// GetIndex retrieves index info by ID
GetIndex(ID string) (Index, error)
// UpdateIndex updates index info
UpdateIndex(index Index) error
// DeleteIndex deletes index entry and all the related records
DeleteIndex(ID string) error
// QueryIndexes lists query matching index entries
QueryIndexes(query IndexQuery) (QueryResult[Index, string], error)
// UpsertIndexRecords creates or updates index record entries
UpsertIndexRecords(records ...IndexRecord) error
// GetIndexRecord retrieves index record entry
GetIndexRecord(ID, indexID string) (IndexRecord, error)
// UpdateIndexRecord updates index record
UpdateIndexRecord(record IndexRecord) error
// DeleteIndexRecords deletes index record entries
DeleteIndexRecords(records ...IndexRecord) (int, error)
// QueryIndexRecords lists query matching index record entries
QueryIndexRecords(query IndexRecordQuery) (QueryResult[IndexRecord, string], error)
// Search performs full text search across existing index records
// the query string should be formed in accordance with the query
// language of the underlying search engine
Search(query SearchQuery) (QueryResult[SearchQueryResultItem, string], error)
}
ModelTx provides a transaction with some methods for accessing to the Model objects
type QueryResult ¶
type SearchQuery ¶ added in v0.7.0
type SearchQueryResultItem ¶ added in v0.7.0
type SearchQueryResultItem struct {
IndexRecord
MatchedKeywordsList []string // mapped manually after filling the MatchedKeywords
MatchedKeywords string `db:"matched_keywords"`
Score float32 `db:"score"`
}
type Tx ¶
type Tx interface {
// MustBegin starts the transaction
MustBegin()
// MustBeginSerializable starts new transaction with Serializable isolation level
MustBeginSerializable()
// Commit commits the changes made within the transaction
Commit() error
// Rollback rolls the transaction back
Rollback() error
// ExecScript allows to execute the sql statements from the file provided
ExecScript(sqlScript string) error
}
Tx interface describes an abstract DB transaction.
type Vector ¶ added in v0.5.0
type Vector json.RawMessage
Click to show internal directories.
Click to hide internal directories.