refactor: use sql named arg

This commit is contained in:
nkanaev
2026-04-25 21:19:18 +01:00
parent 1d654ac4de
commit cbe1f971a5
7 changed files with 129 additions and 86 deletions

View File

@@ -1,6 +1,7 @@
package storage
import (
"database/sql"
"log"
"reflect"
"strconv"
@@ -59,8 +60,8 @@ func testItemsSetup(db *Storage) testItemScope {
{GUID: "item012", FeedId: feed01.Id, Title: "title012", Date: now.Add(time.Hour * 24 * 9)}, // read
{GUID: "item013", FeedId: feed01.Id, Title: "title013", Date: now.Add(time.Hour * 24 * 10)}, // starred
})
db.db.Exec(`update items set status = ? where guid in ("item112", "item122", "item211", "item012")`, READ)
db.db.Exec(`update items set status = ? where guid in ("item113", "item212", "item013")`, STARRED)
db.db.Exec(`update items set status = :status where guid in ("item112", "item122", "item211", "item012")`, sql.Named("status", READ))
db.db.Exec(`update items set status = :status where guid in ("item113", "item212", "item013")`, sql.Named("status", STARRED))
return testItemScope{
feed11: feed11,
@@ -79,8 +80,8 @@ func getItem(db *Storage, guid string) *Item {
i.id, i.guid, i.feed_id, i.title, i.link, i.content,
i.date, i.status, i.media_links
from items i
where i.guid = ?
`, guid).Scan(
where i.guid = :guid
`, sql.Named("guid", guid)).Scan(
&i.Id, &i.GUID, &i.FeedId, &i.Title, &i.Link, &i.Content,
&i.Date, &i.Status, &i.MediaLinks,
)
@@ -295,7 +296,7 @@ func TestDeleteOldItems(t *testing.T) {
db.SetFeedSize(feed.Id, itemsKeepSize)
var feedSize int
err := db.db.QueryRow(
`select size from feed_sizes where feed_id = ?`, feed.Id,
`select size from feed_sizes where feed_id = :feed_id`, sql.Named("feed_id", feed.Id),
).Scan(&feedSize)
if err != nil {
t.Fatal(err)
@@ -310,9 +311,9 @@ func TestDeleteOldItems(t *testing.T) {
// expire only the first 3 articles
_, err = db.db.Exec(
`update items set date_arrived = ?
`update items set date_arrived = :date_arrived
where id in (select id from items limit 3)`,
now.Add(-time.Hour*time.Duration(itemsKeepDays*24)),
sql.Named("date_arrived", now.Add(-time.Hour*time.Duration(itemsKeepDays*24))),
)
if err != nil {
t.Fatal(err)