modified internal/db/feed.go +4 -4
| @@ -381,10 +381,10 @@ func (s *ArticleStore) BatchUpsertFeeds(ctx context.Context, feeds []*Feed) erro |
| 381 | 381 | INSERT INTO articles.feeds (feed_url, title, site_url, description, feed_type) |
| 382 | 382 | VALUES (?, ?, ?, ?, ?) |
| 383 | 383 | ON CONFLICT(feed_url) DO UPDATE SET |
| 384 | | - title = excluded.title, |
| 385 | | - site_url = excluded.site_url, |
| 386 | | - description = excluded.description, |
| 387 | | - feed_type = excluded.feed_type |
| 384 | + title = COALESCE(NULLIF(excluded.title, ''), articles.feeds.title), |
| 385 | + site_url = COALESCE(NULLIF(excluded.site_url, ''), articles.feeds.site_url), |
| 386 | + description = COALESCE(NULLIF(excluded.description, ''), articles.feeds.description), |
| 387 | + feed_type = COALESCE(NULLIF(excluded.feed_type, ''), articles.feeds.feed_type) |
| 388 | 388 | `) |
| 389 | 389 | if err != nil { |
| 390 | 390 | return err |
| @@ -381,10 +381,10 @@ func (s *ArticleStore) BatchUpsertFeeds(ctx context.Context, feeds []*Feed) erro |
| 381 | INSERT INTO articles.feeds (feed_url, title, site_url, description, feed_type) | 381 | INSERT INTO articles.feeds (feed_url, title, site_url, description, feed_type) |
| 382 | VALUES (?, ?, ?, ?, ?) | 382 | VALUES (?, ?, ?, ?, ?) |
| 383 | ON CONFLICT(feed_url) DO UPDATE SET | 383 | ON CONFLICT(feed_url) DO UPDATE SET |
| 384 | - title = excluded.title, | 384 | + title = COALESCE(NULLIF(excluded.title, ''), articles.feeds.title), |
| 385 | - site_url = excluded.site_url, | 385 | + site_url = COALESCE(NULLIF(excluded.site_url, ''), articles.feeds.site_url), |
| 386 | - description = excluded.description, | 386 | + description = COALESCE(NULLIF(excluded.description, ''), articles.feeds.description), |
| 387 | - feed_type = excluded.feed_type | 387 | + feed_type = COALESCE(NULLIF(excluded.feed_type, ''), articles.feeds.feed_type) |
| 388 | `) | 388 | `) |
| 389 | if err != nil { | 389 | if err != nil { |
| 390 | return err | 390 | return err |