···
go trimPostsTable(ctx, queries)
for evt := range events {
var like appbsky.FeedLike
var event jetstream.Event
if err := json.Unmarshal(evt, &event); err != nil {
···
drafts.Delete(like.Subject.Uri)
log.Println("storing", like.Subject.Uri, "in database")
-
err := queries.InsertPost(ctx, db.InsertPostParams{
CreateTs: draftPost.Created,
···
log.Println("error inserting post")
for _, lang := range draftPost.Languages {
-
err = queries.InsertLang(ctx, db.InsertLangParams{
Lang: strings.ToLower(lang.IsoCode639_1().String()),
···
-
err := queries.UpdateLikes(ctx, like.Subject.Uri)
log.Println("error updating likes")
···
go trimPostsTable(ctx, queries)
for evt := range events {
+
dbTx, err = dbCnx.BeginTx(ctx, nil)
+
queriesTx = queries.WithTx(dbTx)
var like appbsky.FeedLike
var event jetstream.Event
if err := json.Unmarshal(evt, &event); err != nil {
···
drafts.Delete(like.Subject.Uri)
log.Println("storing", like.Subject.Uri, "in database")
+
err := queriesTx.InsertPost(ctx, db.InsertPostParams{
CreateTs: draftPost.Created,
···
log.Println("error inserting post")
for _, lang := range draftPost.Languages {
+
err = queriesTx.InsertLang(ctx, db.InsertLangParams{
Lang: strings.ToLower(lang.IsoCode639_1().String()),
···
+
err := queriesTx.UpdateLikes(ctx, like.Subject.Uri)
log.Println("error updating likes")
+
if eventCount % 500 == 0 {
+
if err := dbTx.Commit(); err != nil {
+
log.Fatalf("commit failed: %v\n", err)
+
log.Println("db committed")