mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 08:49:13 +00:00
refactor(database): clean-up queries (#569)
* fix(database): build WHERE using squirrel * flip LIKEs * change sql.LevelReadCommitted * feat(db): add missing commits * implement single query for releases * cleanup * feat(releases): properly handle limit for Find * feat(releases): make dynamic ILike helper * feat(releases): check for empty ReleaseActionStatus * add values as sql.NullX * check if ID is non 0 * feat(releases): improve find
This commit is contained in:
parent
e6c48a5228
commit
19b3899a5c
12 changed files with 206 additions and 168 deletions
|
@ -8,6 +8,7 @@ import (
|
|||
"github.com/autobrr/autobrr/internal/domain"
|
||||
"github.com/autobrr/autobrr/internal/logger"
|
||||
"github.com/autobrr/autobrr/pkg/errors"
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
@ -31,9 +32,9 @@ func (r *FeedCacheRepo) Get(bucket string, key string) ([]byte, error) {
|
|||
"ttl",
|
||||
).
|
||||
From("feed_cache").
|
||||
Where("bucket = ?", bucket).
|
||||
Where("key = ?", key).
|
||||
Where("ttl > ?", time.Now())
|
||||
Where(sq.Eq{"bucket": bucket}).
|
||||
Where(sq.Eq{"key": key}).
|
||||
Where(sq.Gt{"ttl": time.Now()})
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
|
@ -64,7 +65,7 @@ func (r *FeedCacheRepo) GetByBucket(ctx context.Context, bucket string) ([]domai
|
|||
"ttl",
|
||||
).
|
||||
From("feed_cache").
|
||||
Where("bucket = ?", bucket)
|
||||
Where(sq.Eq{"bucket": bucket})
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
|
@ -102,7 +103,7 @@ func (r *FeedCacheRepo) GetCountByBucket(ctx context.Context, bucket string) (in
|
|||
queryBuilder := r.db.squirrel.
|
||||
Select("COUNT(*)").
|
||||
From("feed_cache").
|
||||
Where("bucket = ?", bucket)
|
||||
Where(sq.Eq{"bucket": bucket})
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
|
@ -128,8 +129,8 @@ func (r *FeedCacheRepo) Exists(bucket string, key string) (bool, error) {
|
|||
Select("1").
|
||||
Prefix("SELECT EXISTS (").
|
||||
From("feed_cache").
|
||||
Where("bucket = ?", bucket).
|
||||
Where("key = ?", key).
|
||||
Where(sq.Eq{"bucket": bucket}).
|
||||
Where(sq.Eq{"key": key}).
|
||||
Suffix(")")
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
|
@ -167,8 +168,8 @@ func (r *FeedCacheRepo) Put(bucket string, key string, val []byte, ttl time.Time
|
|||
func (r *FeedCacheRepo) Delete(ctx context.Context, bucket string, key string) error {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Delete("feed_cache").
|
||||
Where("bucket = ?", bucket).
|
||||
Where("key = ?", key)
|
||||
Where(sq.Eq{"bucket": bucket}).
|
||||
Where(sq.Eq{"key": key})
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
|
@ -186,7 +187,7 @@ func (r *FeedCacheRepo) Delete(ctx context.Context, bucket string, key string) e
|
|||
func (r *FeedCacheRepo) DeleteBucket(ctx context.Context, bucket string) error {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Delete("feed_cache").
|
||||
Where("bucket = ?", bucket)
|
||||
Where(sq.Eq{"bucket": bucket})
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue