fix tenant sharding for group topics

This commit is contained in:
richjohnrambo
2026-09-23 09:49:14 +08:00
parent a968fd252e
commit 6fa3009987
4 changed files with 31 additions and 26 deletions
+5 -5
View File
@@ -117,14 +117,14 @@ func TestTenantPartitionTableNames(t *testing.T) {
func TestTenantShardSQL(t *testing.T) {
query := tenantShardSQL(7, "SELECT * FROM im_topics t JOIN im_group_members gm ON gm.topic=t.name JOIN im_subscriptions s ON s.topic=gm.topic; INSERT INTO im_system_notifications(event_id) VALUES(?)")
for _, expected := range []string{"im_topics", "im_group_members", "im_subscriptions", "im_system_notifications"} {
for _, expected := range []string{"im_007_topics", "im_007_group_members", "im_007_subscriptions", "im_007_system_notifications"} {
if !strings.Contains(query, expected) {
t.Fatalf("shared tenant query is missing %q: %s", expected, query)
t.Fatalf("tenant shard query is missing %q: %s", expected, query)
}
}
for _, legacy := range []string{"im_007_topics", "im_007_group_members", "im_007_subscriptions", "im_007_system_notifications"} {
if strings.Contains(query, legacy) {
t.Fatalf("shared tenant query should not reference %q: %s", legacy, query)
for _, shared := range []string{" im_topics ", " im_group_members ", " im_subscriptions ", " im_system_notifications"} {
if strings.Contains(query, shared) {
t.Fatalf("tenant shard query should not reference shared table %q: %s", shared, query)
}
}
}