Stringbuilder

This commit is contained in:
binwiederhier
2026-05-31 21:31:23 -04:00
parent a2dc290f31
commit 4196e6444c
+9 -4
View File
@@ -229,11 +229,16 @@ const (
// sqliteSelectAccessCacheUsersQuery builds the per-users cache-load query // sqliteSelectAccessCacheUsersQuery builds the per-users cache-load query
// with a "?, ?, ..." IN clause sized for n usernames. // with a "?, ?, ..." IN clause sized for n usernames.
func sqliteSelectAccessCacheUsersQuery(n int) string { func sqliteSelectAccessCacheUsersQuery(n int) string {
placeholders := strings.Repeat(",?", n) var sb strings.Builder
if n > 0 { sb.WriteString(`SELECT u.user, a.topic, a.read, a.write FROM user_access a JOIN user u ON u.id = a.user_id WHERE u.user IN (`)
placeholders = placeholders[1:] // drop the leading comma for i := 0; i < n; i++ {
if i > 0 {
sb.WriteString(",")
}
sb.WriteString("?")
} }
return `SELECT u.user, a.topic, a.read, a.write FROM user_access a JOIN user u ON u.id = a.user_id WHERE u.user IN (` + placeholders + `)` sb.WriteString(")")
return sb.String()
} }
var sqliteQueries = queries{ var sqliteQueries = queries{