From 3cceed11b28b5f42a653d85ed779d652fd8c26ad Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 16 Apr 2024 13:10:13 +0200 Subject: [feature/performance] Store account stats in separate table (#2831) * [feature/performance] Store account stats in separate table, get stats from remote * test account stats * add some missing increment / decrement calls * change stats function signatures * rejig logging a bit * use lock when updating stats --- internal/db/bundb/upsert.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'internal/db/bundb/upsert.go') diff --git a/internal/db/bundb/upsert.go b/internal/db/bundb/upsert.go index 34724446c..4a6395179 100644 --- a/internal/db/bundb/upsert.go +++ b/internal/db/bundb/upsert.go @@ -189,14 +189,14 @@ func (u *UpsertQuery) insertQuery() (*bun.InsertQuery, error) { constraintIDPlaceholders = append(constraintIDPlaceholders, "?") constraintIDs = append(constraintIDs, bun.Ident(constraint)) } - onSQL := "conflict (" + strings.Join(constraintIDPlaceholders, ", ") + ") do update" + onSQL := "CONFLICT (" + strings.Join(constraintIDPlaceholders, ", ") + ") DO UPDATE" setClauses := make([]string, 0, len(columns)) setIDs := make([]interface{}, 0, 2*len(columns)) for _, column := range columns { + setClauses = append(setClauses, "? = ?") // "excluded" is a special table that contains only the row involved in a conflict. - setClauses = append(setClauses, "? = excluded.?") - setIDs = append(setIDs, bun.Ident(column), bun.Ident(column)) + setIDs = append(setIDs, bun.Ident(column), bun.Ident("excluded."+column)) } setSQL := strings.Join(setClauses, ", ") -- cgit v1.2.3