Documentation ¶
Index ¶
- Constants
- func Count(ctx context.Context, q sqlx.QueryerContext, query string, params ...any) (int64, error)
- func MapError(err error) error
- func MapKeywordsToListFn(startMark, endMark string) func(item SearchQueryResultItem) SearchQueryResultItem
- func Scan[T any](rows *sqlx.Rows) (T, 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 Db
- type DbConfig
- type DbContainer
- 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 MapKeywordsToListFn ¶ added in v0.58.0
func MapKeywordsToListFn(startMark, endMark string) func(item SearchQueryResultItem) SearchQueryResultItem
func ScanRowsQueryResult ¶ added in v0.51.0
Types ¶
type Basis ¶ added in v0.5.0
type Basis json.RawMessage
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 DbContainer ¶ added in v0.53.0
func NewNilDbContainer ¶ added in v0.53.0
func NewNilDbContainer(opts ...DbOption) (DbContainer, error)
func NewPgDbContainer ¶ added in v0.53.0
NewPgDbContainer runs pg database in a docker container.
type DbOption ¶ added in v0.51.0
type DbOption func(cfg *DbConfig)
func WithDbName ¶ added in v0.51.0
func WithPassword ¶ added in v0.61.0
func WithSslMode ¶ added in v0.61.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 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.