aboutsummaryrefslogtreecommitdiff
path: root/roomserver/storage/sqlite3
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2020-03-17 18:00:10 +0000
committerGitHub <noreply@github.com>2020-03-17 18:00:10 +0000
commitc2bd0b97b34c9040325bf31c5c4a2a06579239d9 (patch)
tree45af6cf66af901b1a285fb8be6f7db278bea4dcd /roomserver/storage/sqlite3
parent1467cc10d8bd40b9ea85bc4f0aa4644b16cb37bb (diff)
Get room versions from database (#918)
* Retrieve room version where known in roomserver * Get room versions in alias code * Increase gocyclothreshold to 13, since we hit that number a lot * Remove gocyclo nolint from StoreEvent * Update interface to get room version from room ID instead of NID * Remove new API * Fixed this query for SQLite but not for Postgres
Diffstat (limited to 'roomserver/storage/sqlite3')
-rw-r--r--roomserver/storage/sqlite3/rooms_table.go16
-rw-r--r--roomserver/storage/sqlite3/storage.go7
2 files changed, 11 insertions, 12 deletions
diff --git a/roomserver/storage/sqlite3/rooms_table.go b/roomserver/storage/sqlite3/rooms_table.go
index b750f63e..49fa07ea 100644
--- a/roomserver/storage/sqlite3/rooms_table.go
+++ b/roomserver/storage/sqlite3/rooms_table.go
@@ -54,8 +54,8 @@ const selectLatestEventNIDsForUpdateSQL = "" +
const updateLatestEventNIDsSQL = "" +
"UPDATE roomserver_rooms SET latest_event_nids = $1, last_event_sent_nid = $2, state_snapshot_nid = $3 WHERE room_nid = $4"
-const selectRoomVersionForRoomNIDSQL = "" +
- "SELECT room_version FROM roomserver_rooms WHERE room_nid = $1"
+const selectRoomVersionForRoomIDSQL = "" +
+ "SELECT room_version FROM roomserver_rooms WHERE room_id = $1"
type roomStatements struct {
insertRoomNIDStmt *sql.Stmt
@@ -63,7 +63,7 @@ type roomStatements struct {
selectLatestEventNIDsStmt *sql.Stmt
selectLatestEventNIDsForUpdateStmt *sql.Stmt
updateLatestEventNIDsStmt *sql.Stmt
- selectRoomVersionForRoomNIDStmt *sql.Stmt
+ selectRoomVersionForRoomIDStmt *sql.Stmt
}
func (s *roomStatements) prepare(db *sql.DB) (err error) {
@@ -77,7 +77,7 @@ func (s *roomStatements) prepare(db *sql.DB) (err error) {
{&s.selectLatestEventNIDsStmt, selectLatestEventNIDsSQL},
{&s.selectLatestEventNIDsForUpdateStmt, selectLatestEventNIDsForUpdateSQL},
{&s.updateLatestEventNIDsStmt, updateLatestEventNIDsSQL},
- {&s.selectRoomVersionForRoomNIDStmt, selectRoomVersionForRoomNIDSQL},
+ {&s.selectRoomVersionForRoomIDStmt, selectRoomVersionForRoomIDSQL},
}.prepare(db)
}
@@ -157,11 +157,11 @@ func (s *roomStatements) updateLatestEventNIDs(
return err
}
-func (s *roomStatements) selectRoomVersionForRoomNID(
- ctx context.Context, txn *sql.Tx, roomNID types.RoomNID,
+func (s *roomStatements) selectRoomVersionForRoomID(
+ ctx context.Context, txn *sql.Tx, roomID string,
) (gomatrixserverlib.RoomVersion, error) {
var roomVersion gomatrixserverlib.RoomVersion
- stmt := common.TxStmt(txn, s.selectRoomVersionForRoomNIDStmt)
- err := stmt.QueryRowContext(ctx, roomNID).Scan(&roomVersion)
+ stmt := common.TxStmt(txn, s.selectRoomVersionForRoomIDStmt)
+ err := stmt.QueryRowContext(ctx, roomID).Scan(&roomVersion)
return roomVersion, err
}
diff --git a/roomserver/storage/sqlite3/storage.go b/roomserver/storage/sqlite3/storage.go
index b912b1c0..ea926ca6 100644
--- a/roomserver/storage/sqlite3/storage.go
+++ b/roomserver/storage/sqlite3/storage.go
@@ -70,7 +70,6 @@ func Open(dataSourceName string) (*Database, error) {
}
// StoreEvent implements input.EventDatabase
-// nolint:gocyclo
func (d *Database) StoreEvent(
ctx context.Context, event gomatrixserverlib.Event,
txnAndSessionID *api.TransactionID, authEventNIDs []types.EventNID,
@@ -895,10 +894,10 @@ func (d *Database) EventsFromIDs(ctx context.Context, eventIDs []string) ([]type
}
func (d *Database) GetRoomVersionForRoom(
- ctx context.Context, roomNID types.RoomNID,
+ ctx context.Context, roomID string,
) (gomatrixserverlib.RoomVersion, error) {
- return d.statements.selectRoomVersionForRoomNID(
- ctx, nil, roomNID,
+ return d.statements.selectRoomVersionForRoomID(
+ ctx, nil, roomID,
)
}