Fixed SQLite purges with world and block filters purging other tables (#1025)

On SQLite, /co purge r:#world i:<block> built the retain condition for
world-scoped tables without checking the block restriction, so it purged
co_container, co_chat and the other world-scoped tables in that world
although a block restriction should leave them untouched. The
entity_container/entity_interaction branch and the MySQL path already
check it.


Claude-Session: https://claude.ai/code/session_01PdEuKbjcVoVinVQJq4te1f

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
tonyjamesstarkandClaude authored and GitHub committed 2026-10-02 13:58:17 -06:00
1 parent 00e7b3819b
commit 4e70d63978
1 file changed
+1 -1
@@ -513,7 +513,7 @@ public class PurgeCommand extends Consumer {
timeLimit = " WHERE (" + worldMatch + " AND (time >= '" + timeEnd + "' OR time < '" + timeStart + "')) OR NOT " + worldMatch;
}
}
else {
else if (purge) {
timeLimit = " WHERE (" + blockRestriction + "wid = '" + argWid + "' AND (time >= '" + timeEnd + "' OR time < '" + timeStart + "'))) OR (wid != '" + argWid + "')";
}
}