aboutsummaryrefslogtreecommitdiff
path: root/roomserver/storage/sqlite3/storage.go
diff options
context:
space:
mode:
Diffstat (limited to 'roomserver/storage/sqlite3/storage.go')
-rw-r--r--roomserver/storage/sqlite3/storage.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/roomserver/storage/sqlite3/storage.go b/roomserver/storage/sqlite3/storage.go
index 444a8fdd..5df9c4e0 100644
--- a/roomserver/storage/sqlite3/storage.go
+++ b/roomserver/storage/sqlite3/storage.go
@@ -590,6 +590,23 @@ func (d *Database) RoomNID(ctx context.Context, roomID string) (roomNID types.Ro
return
}
+// RoomNIDExcludingStubs implements query.RoomserverQueryAPIDB
+func (d *Database) RoomNIDExcludingStubs(ctx context.Context, roomID string) (roomNID types.RoomNID, err error) {
+ roomNID, err = d.RoomNID(ctx, roomID)
+ if err != nil {
+ return
+ }
+ latestEvents, _, err := d.statements.selectLatestEventNIDs(ctx, nil, roomNID)
+ if err != nil {
+ return
+ }
+ if len(latestEvents) == 0 {
+ roomNID = 0
+ return
+ }
+ return
+}
+
// LatestEventIDs implements query.RoomserverQueryAPIDatabase
func (d *Database) LatestEventIDs(
ctx context.Context, roomNID types.RoomNID,