fix(cache-purge): spread SQLite bindings in BucketCachePurge alarm so tag purges run (#1289)
fix(cache-purge): spread SQLite bindings in BucketCachePurge alarm SqlStorage.exec(query, ...bindings) is variadic over its bindings. alarm() passed the tags as a single array, so a multi-tag DELETE ... WHERE tag IN (?, ?, ...) had 1 binding for N placeholders and threw "Wrong number of parameter bindings" on every flush. revalidateTag purges therefore never reached the Cloudflare cache, and with bypassTagCacheOnCacheHit enabled pages served stale until the ISR TTL expired. Spread the bindings, normalise the INSERT to the same variadic form, and tighten the drain-loop guard from `while (tags.length >= 0)` to `> 0`. Fixes #1288 Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
S
Soheil Fakour committed
eef243ff04790151fb1a4bc832597e2e44b40e70
Parent: 51439b1
Committed by GitHub <noreply@github.com>
on 6/24/2026, 10:16:36 PM