tangled
alpha
login
or
join now
edavis.dev
/
bsky-feeds
1
fork
atom
this repo has no description
1
fork
atom
overview
issues
pulls
pipelines
feat: drop sqlc ViewFeed
Eric Davis
1 year ago
3177fc54
951ef206
-56
2 changed files
expand all
collapse all
unified
split
db
mostliked
query.sql.go
pkg
mostliked
query.sql
-49
db/mostliked/query.sql.go
···
7
7
8
8
import (
9
9
"context"
10
10
-
"database/sql"
11
10
)
12
11
13
12
const insertLang = `-- name: InsertLang :exec
···
56
55
_, err := q.db.ExecContext(ctx, updateLikes, uri)
57
56
return err
58
57
}
59
59
-
60
60
-
const viewFeed = `-- name: ViewFeed :many
61
61
-
select posts.uri, create_ts, likes, lang
62
62
-
from posts
63
63
-
left join langs on posts.uri = langs.uri
64
64
-
order by likes desc
65
65
-
limit ? offset ?
66
66
-
`
67
67
-
68
68
-
type ViewFeedParams struct {
69
69
-
Limit int64
70
70
-
Offset int64
71
71
-
}
72
72
-
73
73
-
type ViewFeedRow struct {
74
74
-
Uri string
75
75
-
CreateTs int64
76
76
-
Likes int64
77
77
-
Lang sql.NullString
78
78
-
}
79
79
-
80
80
-
func (q *Queries) ViewFeed(ctx context.Context, arg ViewFeedParams) ([]ViewFeedRow, error) {
81
81
-
rows, err := q.db.QueryContext(ctx, viewFeed, arg.Limit, arg.Offset)
82
82
-
if err != nil {
83
83
-
return nil, err
84
84
-
}
85
85
-
defer rows.Close()
86
86
-
var items []ViewFeedRow
87
87
-
for rows.Next() {
88
88
-
var i ViewFeedRow
89
89
-
if err := rows.Scan(
90
90
-
&i.Uri,
91
91
-
&i.CreateTs,
92
92
-
&i.Likes,
93
93
-
&i.Lang,
94
94
-
); err != nil {
95
95
-
return nil, err
96
96
-
}
97
97
-
items = append(items, i)
98
98
-
}
99
99
-
if err := rows.Close(); err != nil {
100
100
-
return nil, err
101
101
-
}
102
102
-
if err := rows.Err(); err != nil {
103
103
-
return nil, err
104
104
-
}
105
105
-
return items, nil
106
106
-
}
-7
pkg/mostliked/query.sql
···
9
9
10
10
-- name: TrimPosts :exec
11
11
delete from posts where create_ts < unixepoch('now', '-24 hours');
12
12
-
13
13
-
-- name: ViewFeed :many
14
14
-
select posts.uri, create_ts, likes, lang
15
15
-
from posts
16
16
-
left join langs on posts.uri = langs.uri
17
17
-
order by likes desc
18
18
-
limit ? offset ?;