aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKegan Dougal <kegan@matrix.org>2021-07-28 18:30:04 +0100
committerKegan Dougal <kegan@matrix.org>2021-07-28 18:30:04 +0100
commited4097825bc65f2332bcdc975ed201841221ff7c (patch)
tree4ac6270fa282b1d13ac73c97e4078f1961dbdf4e
parent9e4618000e0347741eac1279bf6c94c3b9980785 (diff)
Factor out StatementList to `sqlutil` and use it in `userapi`
It helps with the boilerplate.
-rw-r--r--internal/sqlutil/sql.go16
-rw-r--r--roomserver/storage/postgres/event_json_table.go4
-rw-r--r--roomserver/storage/postgres/event_state_keys_table.go3
-rw-r--r--roomserver/storage/postgres/event_types_table.go3
-rw-r--r--roomserver/storage/postgres/events_table.go3
-rw-r--r--roomserver/storage/postgres/invite_table.go3
-rw-r--r--roomserver/storage/postgres/membership_table.go3
-rw-r--r--roomserver/storage/postgres/previous_events_table.go3
-rw-r--r--roomserver/storage/postgres/published_table.go3
-rw-r--r--roomserver/storage/postgres/redactions_table.go3
-rw-r--r--roomserver/storage/postgres/room_aliases_table.go3
-rw-r--r--roomserver/storage/postgres/rooms_table.go3
-rw-r--r--roomserver/storage/postgres/state_block_table.go4
-rw-r--r--roomserver/storage/postgres/state_snapshot_table.go3
-rw-r--r--roomserver/storage/postgres/transactions_table.go4
-rw-r--r--roomserver/storage/sqlite3/event_json_table.go3
-rw-r--r--roomserver/storage/sqlite3/event_state_keys_table.go3
-rw-r--r--roomserver/storage/sqlite3/event_types_table.go3
-rw-r--r--roomserver/storage/sqlite3/events_table.go3
-rw-r--r--roomserver/storage/sqlite3/invite_table.go3
-rw-r--r--roomserver/storage/sqlite3/membership_table.go3
-rw-r--r--roomserver/storage/sqlite3/previous_events_table.go3
-rw-r--r--roomserver/storage/sqlite3/published_table.go3
-rw-r--r--roomserver/storage/sqlite3/redactions_table.go3
-rw-r--r--roomserver/storage/sqlite3/room_aliases_table.go3
-rw-r--r--roomserver/storage/sqlite3/rooms_table.go3
-rw-r--r--roomserver/storage/sqlite3/state_block_table.go3
-rw-r--r--roomserver/storage/sqlite3/state_snapshot_table.go3
-rw-r--r--roomserver/storage/sqlite3/transactions_table.go3
-rw-r--r--userapi/storage/accounts/postgres/account_data_table.go15
-rw-r--r--userapi/storage/accounts/postgres/accounts_table.go27
-rw-r--r--userapi/storage/accounts/postgres/key_backup_table.go28
-rw-r--r--userapi/storage/accounts/postgres/key_backup_version_table.go29
-rw-r--r--userapi/storage/accounts/postgres/openid_table.go11
-rw-r--r--userapi/storage/accounts/postgres/profile_table.go23
-rw-r--r--userapi/storage/accounts/postgres/threepid_table.go20
-rw-r--r--userapi/storage/accounts/sqlite3/account_data_table.go15
-rw-r--r--userapi/storage/accounts/sqlite3/accounts_table.go27
-rw-r--r--userapi/storage/accounts/sqlite3/key_backup_table.go28
-rw-r--r--userapi/storage/accounts/sqlite3/key_backup_version_table.go29
-rw-r--r--userapi/storage/accounts/sqlite3/openid_table.go11
-rw-r--r--userapi/storage/accounts/sqlite3/profile_table.go23
-rw-r--r--userapi/storage/accounts/sqlite3/threepid_table.go20
43 files changed, 145 insertions, 264 deletions
diff --git a/internal/sqlutil/sql.go b/internal/sqlutil/sql.go
index 6cf17bea..98cc396a 100644
--- a/internal/sqlutil/sql.go
+++ b/internal/sqlutil/sql.go
@@ -152,3 +152,19 @@ func RunLimitedVariablesQuery(ctx context.Context, query string, qp QueryProvide
}
return nil
}
+
+// StatementList is a list of SQL statements to prepare and a pointer to where to store the resulting prepared statement.
+type StatementList []struct {
+ Statement **sql.Stmt
+ SQL string
+}
+
+// Prepare the SQL for each statement in the list and assign the result to the prepared statement.
+func (s StatementList) Prepare(db *sql.DB) (err error) {
+ for _, statement := range s {
+ if *statement.Statement, err = db.Prepare(statement.SQL); err != nil {
+ return
+ }
+ }
+ return
+}
diff --git a/roomserver/storage/postgres/event_json_table.go b/roomserver/storage/postgres/event_json_table.go
index e0976b12..32e45782 100644
--- a/roomserver/storage/postgres/event_json_table.go
+++ b/roomserver/storage/postgres/event_json_table.go
@@ -20,7 +20,7 @@ import (
"database/sql"
"github.com/matrix-org/dendrite/internal"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
+ "github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -67,7 +67,7 @@ func createEventJSONTable(db *sql.DB) error {
func prepareEventJSONTable(db *sql.DB) (tables.EventJSON, error) {
s := &eventJSONStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertEventJSONStmt, insertEventJSONSQL},
{&s.bulkSelectEventJSONStmt, bulkSelectEventJSONSQL},
}.Prepare(db)
diff --git a/roomserver/storage/postgres/event_state_keys_table.go b/roomserver/storage/postgres/event_state_keys_table.go
index 61682356..3a7cf03e 100644
--- a/roomserver/storage/postgres/event_state_keys_table.go
+++ b/roomserver/storage/postgres/event_state_keys_table.go
@@ -22,7 +22,6 @@ import (
"github.com/lib/pq"
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -85,7 +84,7 @@ func createEventStateKeysTable(db *sql.DB) error {
func prepareEventStateKeysTable(db *sql.DB) (tables.EventStateKeys, error) {
s := &eventStateKeyStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertEventStateKeyNIDStmt, insertEventStateKeyNIDSQL},
{&s.selectEventStateKeyNIDStmt, selectEventStateKeyNIDSQL},
{&s.bulkSelectEventStateKeyNIDStmt, bulkSelectEventStateKeyNIDSQL},
diff --git a/roomserver/storage/postgres/event_types_table.go b/roomserver/storage/postgres/event_types_table.go
index f4257850..e558072a 100644
--- a/roomserver/storage/postgres/event_types_table.go
+++ b/roomserver/storage/postgres/event_types_table.go
@@ -22,7 +22,6 @@ import (
"github.com/lib/pq"
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -108,7 +107,7 @@ func createEventTypesTable(db *sql.DB) error {
func prepareEventTypesTable(db *sql.DB) (tables.EventTypes, error) {
s := &eventTypeStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertEventTypeNIDStmt, insertEventTypeNIDSQL},
{&s.selectEventTypeNIDStmt, selectEventTypeNIDSQL},
{&s.bulkSelectEventTypeNIDStmt, bulkSelectEventTypeNIDSQL},
diff --git a/roomserver/storage/postgres/events_table.go b/roomserver/storage/postgres/events_table.go
index 88c82083..c549fb65 100644
--- a/roomserver/storage/postgres/events_table.go
+++ b/roomserver/storage/postgres/events_table.go
@@ -24,7 +24,6 @@ import (
"github.com/lib/pq"
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/gomatrixserverlib"
@@ -160,7 +159,7 @@ func createEventsTable(db *sql.DB) error {
func prepareEventsTable(db *sql.DB) (tables.Events, error) {
s := &eventStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertEventStmt, insertEventSQL},
{&s.selectEventStmt, selectEventSQL},
{&s.bulkSelectStateEventByIDStmt, bulkSelectStateEventByIDSQL},
diff --git a/roomserver/storage/postgres/invite_table.go b/roomserver/storage/postgres/invite_table.go
index 0a2183e2..344302c8 100644
--- a/roomserver/storage/postgres/invite_table.go
+++ b/roomserver/storage/postgres/invite_table.go
@@ -21,7 +21,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -90,7 +89,7 @@ func createInvitesTable(db *sql.DB) error {
func prepareInvitesTable(db *sql.DB) (tables.Invites, error) {
s := &inviteStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertInviteEventStmt, insertInviteEventSQL},
{&s.selectInviteActiveForUserInRoomStmt, selectInviteActiveForUserInRoomSQL},
{&s.updateInviteRetiredStmt, updateInviteRetiredSQL},
diff --git a/roomserver/storage/postgres/membership_table.go b/roomserver/storage/postgres/membership_table.go
index b4a27900..b0d906c8 100644
--- a/roomserver/storage/postgres/membership_table.go
+++ b/roomserver/storage/postgres/membership_table.go
@@ -23,7 +23,6 @@ import (
"github.com/lib/pq"
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/gomatrixserverlib"
@@ -168,7 +167,7 @@ func createMembershipTable(db *sql.DB) error {
func prepareMembershipTable(db *sql.DB) (tables.Membership, error) {
s := &membershipStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertMembershipStmt, insertMembershipSQL},
{&s.selectMembershipForUpdateStmt, selectMembershipForUpdateSQL},
{&s.selectMembershipFromRoomAndTargetStmt, selectMembershipFromRoomAndTargetSQL},
diff --git a/roomserver/storage/postgres/previous_events_table.go b/roomserver/storage/postgres/previous_events_table.go
index 4a93c3d6..bd4e853e 100644
--- a/roomserver/storage/postgres/previous_events_table.go
+++ b/roomserver/storage/postgres/previous_events_table.go
@@ -20,7 +20,6 @@ import (
"database/sql"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -73,7 +72,7 @@ func createPrevEventsTable(db *sql.DB) error {
func preparePrevEventsTable(db *sql.DB) (tables.PreviousEvents, error) {
s := &previousEventStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertPreviousEventStmt, insertPreviousEventSQL},
{&s.selectPreviousEventExistsStmt, selectPreviousEventExistsSQL},
}.Prepare(db)
diff --git a/roomserver/storage/postgres/published_table.go b/roomserver/storage/postgres/published_table.go
index c180576e..8deb6844 100644
--- a/roomserver/storage/postgres/published_table.go
+++ b/roomserver/storage/postgres/published_table.go
@@ -20,7 +20,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
)
@@ -58,7 +57,7 @@ func createPublishedTable(db *sql.DB) error {
func preparePublishedTable(db *sql.DB) (tables.Published, error) {
s := &publishedStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.upsertPublishedStmt, upsertPublishedSQL},
{&s.selectAllPublishedStmt, selectAllPublishedSQL},
{&s.selectPublishedStmt, selectPublishedSQL},
diff --git a/roomserver/storage/postgres/redactions_table.go b/roomserver/storage/postgres/redactions_table.go
index 3741d5f6..5614f2bd 100644
--- a/roomserver/storage/postgres/redactions_table.go
+++ b/roomserver/storage/postgres/redactions_table.go
@@ -19,7 +19,6 @@ import (
"database/sql"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
)
@@ -68,7 +67,7 @@ func createRedactionsTable(db *sql.DB) error {
func prepareRedactionsTable(db *sql.DB) (tables.Redactions, error) {
s := &redactionStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertRedactionStmt, insertRedactionSQL},
{&s.selectRedactionInfoByRedactionEventIDStmt, selectRedactionInfoByRedactionEventIDSQL},
{&s.selectRedactionInfoByEventBeingRedactedStmt, selectRedactionInfoByEventBeingRedactedSQL},
diff --git a/roomserver/storage/postgres/room_aliases_table.go b/roomserver/storage/postgres/room_aliases_table.go
index c808813e..031825fe 100644
--- a/roomserver/storage/postgres/room_aliases_table.go
+++ b/roomserver/storage/postgres/room_aliases_table.go
@@ -21,7 +21,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
)
@@ -70,7 +69,7 @@ func createRoomAliasesTable(db *sql.DB) error {
func prepareRoomAliasesTable(db *sql.DB) (tables.RoomAliases, error) {
s := &roomAliasesStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertRoomAliasStmt, insertRoomAliasSQL},
{&s.selectRoomIDFromAliasStmt, selectRoomIDFromAliasSQL},
{&s.selectAliasesFromRoomIDStmt, selectAliasesFromRoomIDSQL},
diff --git a/roomserver/storage/postgres/rooms_table.go b/roomserver/storage/postgres/rooms_table.go
index f2b39fe5..ba8eb671 100644
--- a/roomserver/storage/postgres/rooms_table.go
+++ b/roomserver/storage/postgres/rooms_table.go
@@ -22,7 +22,6 @@ import (
"github.com/lib/pq"
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/gomatrixserverlib"
@@ -104,7 +103,7 @@ func createRoomsTable(db *sql.DB) error {
func prepareRoomsTable(db *sql.DB) (tables.Rooms, error) {
s := &roomStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertRoomNIDStmt, insertRoomNIDSQL},
{&s.selectRoomNIDStmt, selectRoomNIDSQL},
{&s.selectLatestEventNIDsStmt, selectLatestEventNIDsSQL},
diff --git a/roomserver/storage/postgres/state_block_table.go b/roomserver/storage/postgres/state_block_table.go
index 7ae987d6..27d85e83 100644
--- a/roomserver/storage/postgres/state_block_table.go
+++ b/roomserver/storage/postgres/state_block_table.go
@@ -23,7 +23,7 @@ import (
"github.com/lib/pq"
"github.com/matrix-org/dendrite/internal"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
+ "github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/util"
@@ -79,7 +79,7 @@ func createStateBlockTable(db *sql.DB) error {
func prepareStateBlockTable(db *sql.DB) (tables.StateBlock, error) {
s := &stateBlockStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertStateDataStmt, insertStateDataSQL},
{&s.bulkSelectStateBlockEntriesStmt, bulkSelectStateBlockEntriesSQL},
}.Prepare(db)
diff --git a/roomserver/storage/postgres/state_snapshot_table.go b/roomserver/storage/postgres/state_snapshot_table.go
index 15e14e2e..4fc0fa48 100644
--- a/roomserver/storage/postgres/state_snapshot_table.go
+++ b/roomserver/storage/postgres/state_snapshot_table.go
@@ -22,7 +22,6 @@ import (
"github.com/lib/pq"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/util"
@@ -86,7 +85,7 @@ func createStateSnapshotTable(db *sql.DB) error {
func prepareStateSnapshotTable(db *sql.DB) (tables.StateSnapshot, error) {
s := &stateSnapshotStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertStateStmt, insertStateSQL},
{&s.bulkSelectStateBlockNIDsStmt, bulkSelectStateBlockNIDsSQL},
}.Prepare(db)
diff --git a/roomserver/storage/postgres/transactions_table.go b/roomserver/storage/postgres/transactions_table.go
index cada0d8a..af023b74 100644
--- a/roomserver/storage/postgres/transactions_table.go
+++ b/roomserver/storage/postgres/transactions_table.go
@@ -19,7 +19,7 @@ import (
"context"
"database/sql"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
+ "github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
)
@@ -62,7 +62,7 @@ func createTransactionsTable(db *sql.DB) error {
func prepareTransactionsTable(db *sql.DB) (tables.Transactions, error) {
s := &transactionStatements{}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertTransactionStmt, insertTransactionSQL},
{&s.selectTransactionEventIDStmt, selectTransactionEventIDSQL},
}.Prepare(db)
diff --git a/roomserver/storage/sqlite3/event_json_table.go b/roomserver/storage/sqlite3/event_json_table.go
index 29d54b83..53b21929 100644
--- a/roomserver/storage/sqlite3/event_json_table.go
+++ b/roomserver/storage/sqlite3/event_json_table.go
@@ -22,7 +22,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -63,7 +62,7 @@ func prepareEventJSONTable(db *sql.DB) (tables.EventJSON, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertEventJSONStmt, insertEventJSONSQL},
{&s.bulkSelectEventJSONStmt, bulkSelectEventJSONSQL},
}.Prepare(db)
diff --git a/roomserver/storage/sqlite3/event_state_keys_table.go b/roomserver/storage/sqlite3/event_state_keys_table.go
index d430e553..62fbce2d 100644
--- a/roomserver/storage/sqlite3/event_state_keys_table.go
+++ b/roomserver/storage/sqlite3/event_state_keys_table.go
@@ -22,7 +22,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -80,7 +79,7 @@ func prepareEventStateKeysTable(db *sql.DB) (tables.EventStateKeys, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertEventStateKeyNIDStmt, insertEventStateKeyNIDSQL},
{&s.selectEventStateKeyNIDStmt, selectEventStateKeyNIDSQL},
{&s.bulkSelectEventStateKeyNIDStmt, bulkSelectEventStateKeyNIDSQL},
diff --git a/roomserver/storage/sqlite3/event_types_table.go b/roomserver/storage/sqlite3/event_types_table.go
index 694f4e21..22df3fb2 100644
--- a/roomserver/storage/sqlite3/event_types_table.go
+++ b/roomserver/storage/sqlite3/event_types_table.go
@@ -23,7 +23,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -95,7 +94,7 @@ func prepareEventTypesTable(db *sql.DB) (tables.EventTypes, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertEventTypeNIDStmt, insertEventTypeNIDSQL},
{&s.insertEventTypeNIDResultStmt, insertEventTypeNIDResultSQL},
{&s.selectEventTypeNIDStmt, selectEventTypeNIDSQL},
diff --git a/roomserver/storage/sqlite3/events_table.go b/roomserver/storage/sqlite3/events_table.go
index e964770d..a28d95fa 100644
--- a/roomserver/storage/sqlite3/events_table.go
+++ b/roomserver/storage/sqlite3/events_table.go
@@ -25,7 +25,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/gomatrixserverlib"
@@ -131,7 +130,7 @@ func prepareEventsTable(db *sql.DB) (tables.Events, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertEventStmt, insertEventSQL},
{&s.selectEventStmt, selectEventSQL},
{&s.bulkSelectStateEventByIDStmt, bulkSelectStateEventByIDSQL},
diff --git a/roomserver/storage/sqlite3/invite_table.go b/roomserver/storage/sqlite3/invite_table.go
index e1aa1ebd..c1d7347a 100644
--- a/roomserver/storage/sqlite3/invite_table.go
+++ b/roomserver/storage/sqlite3/invite_table.go
@@ -21,7 +21,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -80,7 +79,7 @@ func prepareInvitesTable(db *sql.DB) (tables.Invites, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertInviteEventStmt, insertInviteEventSQL},
{&s.selectInviteActiveForUserInRoomStmt, selectInviteActiveForUserInRoomSQL},
{&s.updateInviteRetiredStmt, updateInviteRetiredSQL},
diff --git a/roomserver/storage/sqlite3/membership_table.go b/roomserver/storage/sqlite3/membership_table.go
index 911a2516..2e58431d 100644
--- a/roomserver/storage/sqlite3/membership_table.go
+++ b/roomserver/storage/sqlite3/membership_table.go
@@ -23,7 +23,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/gomatrixserverlib"
@@ -146,7 +145,7 @@ func prepareMembershipTable(db *sql.DB) (tables.Membership, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertMembershipStmt, insertMembershipSQL},
{&s.selectMembershipForUpdateStmt, selectMembershipForUpdateSQL},
{&s.selectMembershipFromRoomAndTargetStmt, selectMembershipFromRoomAndTargetSQL},
diff --git a/roomserver/storage/sqlite3/previous_events_table.go b/roomserver/storage/sqlite3/previous_events_table.go
index 3cb52767..7304bf0d 100644
--- a/roomserver/storage/sqlite3/previous_events_table.go
+++ b/roomserver/storage/sqlite3/previous_events_table.go
@@ -22,7 +22,6 @@ import (
"strings"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
)
@@ -81,7 +80,7 @@ func preparePrevEventsTable(db *sql.DB) (tables.PreviousEvents, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertPreviousEventStmt, insertPreviousEventSQL},
{&s.selectPreviousEventNIDsStmt, selectPreviousEventNIDsSQL},
{&s.selectPreviousEventExistsStmt, selectPreviousEventExistsSQL},
diff --git a/roomserver/storage/sqlite3/published_table.go b/roomserver/storage/sqlite3/published_table.go
index 6d9d9135..b07c0ac4 100644
--- a/roomserver/storage/sqlite3/published_table.go
+++ b/roomserver/storage/sqlite3/published_table.go
@@ -20,7 +20,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
)
@@ -60,7 +59,7 @@ func preparePublishedTable(db *sql.DB) (tables.Published, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.upsertPublishedStmt, upsertPublishedSQL},
{&s.selectAllPublishedStmt, selectAllPublishedSQL},
{&s.selectPublishedStmt, selectPublishedSQL},
diff --git a/roomserver/storage/sqlite3/redactions_table.go b/roomserver/storage/sqlite3/redactions_table.go
index b3498182..aed190b1 100644
--- a/roomserver/storage/sqlite3/redactions_table.go
+++ b/roomserver/storage/sqlite3/redactions_table.go
@@ -19,7 +19,6 @@ import (
"database/sql"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
)
@@ -69,7 +68,7 @@ func prepareRedactionsTable(db *sql.DB) (tables.Redactions, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertRedactionStmt, insertRedactionSQL},
{&s.selectRedactionInfoByRedactionEventIDStmt, selectRedactionInfoByRedactionEventIDSQL},
{&s.selectRedactionInfoByEventBeingRedactedStmt, selectRedactionInfoByEventBeingRedactedSQL},
diff --git a/roomserver/storage/sqlite3/room_aliases_table.go b/roomserver/storage/sqlite3/room_aliases_table.go
index 5215fa6f..323945b8 100644
--- a/roomserver/storage/sqlite3/room_aliases_table.go
+++ b/roomserver/storage/sqlite3/room_aliases_table.go
@@ -21,7 +21,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
)
@@ -74,7 +73,7 @@ func prepareRoomAliasesTable(db *sql.DB) (tables.RoomAliases, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertRoomAliasStmt, insertRoomAliasSQL},
{&s.selectRoomIDFromAliasStmt, selectRoomIDFromAliasSQL},
{&s.selectAliasesFromRoomIDStmt, selectAliasesFromRoomIDSQL},
diff --git a/roomserver/storage/sqlite3/rooms_table.go b/roomserver/storage/sqlite3/rooms_table.go
index 534a870c..2dfb830d 100644
--- a/roomserver/storage/sqlite3/rooms_table.go
+++ b/roomserver/storage/sqlite3/rooms_table.go
@@ -24,7 +24,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/gomatrixserverlib"
@@ -96,7 +95,7 @@ func prepareRoomsTable(db *sql.DB) (tables.Rooms, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertRoomNIDStmt, insertRoomNIDSQL},
{&s.selectRoomNIDStmt, selectRoomNIDSQL},
{&s.selectLatestEventNIDsStmt, selectLatestEventNIDsSQL},
diff --git a/roomserver/storage/sqlite3/state_block_table.go b/roomserver/storage/sqlite3/state_block_table.go
index 5cb21e91..a472437a 100644
--- a/roomserver/storage/sqlite3/state_block_table.go
+++ b/roomserver/storage/sqlite3/state_block_table.go
@@ -25,7 +25,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/util"
@@ -75,7 +74,7 @@ func prepareStateBlockTable(db *sql.DB) (tables.StateBlock, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertStateDataStmt, insertStateDataSQL},
{&s.bulkSelectStateBlockEntriesStmt, bulkSelectStateBlockEntriesSQL},
}.Prepare(db)
diff --git a/roomserver/storage/sqlite3/state_snapshot_table.go b/roomserver/storage/sqlite3/state_snapshot_table.go
index 95cae99e..ad623d65 100644
--- a/roomserver/storage/sqlite3/state_snapshot_table.go
+++ b/roomserver/storage/sqlite3/state_snapshot_table.go
@@ -24,7 +24,6 @@ import (
"github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/util"
@@ -79,7 +78,7 @@ func prepareStateSnapshotTable(db *sql.DB) (tables.StateSnapshot, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertStateStmt, insertStateSQL},
{&s.bulkSelectStateBlockNIDsStmt, bulkSelectStateBlockNIDsSQL},
}.Prepare(db)
diff --git a/roomserver/storage/sqlite3/transactions_table.go b/roomserver/storage/sqlite3/transactions_table.go
index e7471d7b..1fb0a831 100644
--- a/roomserver/storage/sqlite3/transactions_table.go
+++ b/roomserver/storage/sqlite3/transactions_table.go
@@ -20,7 +20,6 @@ import (
"database/sql"
"github.com/matrix-org/dendrite/internal/sqlutil"
- "github.com/matrix-org/dendrite/roomserver/storage/shared"
"github.com/matrix-org/dendrite/roomserver/storage/tables"
)
@@ -59,7 +58,7 @@ func prepareTransactionsTable(db *sql.DB) (tables.Transactions, error) {
db: db,
}
- return s, shared.StatementList{
+ return s, sqlutil.StatementList{
{&s.insertTransactionStmt, insertTransactionSQL},
{&s.selectTransactionEventIDStmt, selectTransactionEventIDSQL},
}.Prepare(db)
diff --git a/userapi/storage/accounts/postgres/account_data_table.go b/userapi/storage/accounts/postgres/account_data_table.go
index 09eb2611..8ba890e7 100644
--- a/userapi/storage/accounts/postgres/account_data_table.go
+++ b/userapi/storage/accounts/postgres/account_data_table.go
@@ -61,16 +61,11 @@ func (s *accountDataStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.insertAccountDataStmt, err = db.Prepare(insertAccountDataSQL); err != nil {
- return
- }
- if s.selectAccountDataStmt, err = db.Prepare(selectAccountDataSQL); err != nil {
- return
- }
- if s.selectAccountDataByTypeStmt, err = db.Prepare(selectAccountDataByTypeSQL); err != nil {
- return
- }
- return
+ return sqlutil.StatementList{
+ {&s.insertAccountDataStmt, insertAccountDataSQL},
+ {&s.selectAccountDataStmt, selectAccountDataSQL},
+ {&s.selectAccountDataByTypeStmt, selectAccountDataByTypeSQL},
+ }.Prepare(db)
}
func (s *accountDataStatements) insertAccountData(
diff --git a/userapi/storage/accounts/postgres/accounts_table.go b/userapi/storage/accounts/postgres/accounts_table.go
index 4eaa5b58..b57aa901 100644
--- a/userapi/storage/accounts/postgres/accounts_table.go
+++ b/userapi/storage/accounts/postgres/accounts_table.go
@@ -81,26 +81,15 @@ func (s *accountsStatements) execSchema(db *sql.DB) error {
}
func (s *accountsStatements) prepare(db *sql.DB, server gomatrixserverlib.ServerName) (err error) {
- if s.insertAccountStmt, err = db.Prepare(insertAccountSQL); err != nil {
- return
- }
- if s.updatePasswordStmt, err = db.Prepare(updatePasswordSQL); err != nil {
- return
- }
- if s.deactivateAccountStmt, err = db.Prepare(deactivateAccountSQL); err != nil {
- return
- }
- if s.selectAccountByLocalpartStmt, err = db.Prepare(selectAccountByLocalpartSQL); err != nil {
- return
- }
- if s.selectPasswordHashStmt, err = db.Prepare(selectPasswordHashSQL); err != nil {
- return
- }
- if s.selectNewNumericLocalpartStmt, err = db.Prepare(selectNewNumericLocalpartSQL); err != nil {
- return
- }
s.serverName = server
- return
+ return sqlutil.StatementList{
+ {&s.insertAccountStmt, insertAccountSQL},
+ {&s.updatePasswordStmt, updatePasswordSQL},
+ {&s.deactivateAccountStmt, deactivateAccountSQL},
+ {&s.selectAccountByLocalpartStmt, selectAccountByLocalpartSQL},
+ {&s.selectPasswordHashStmt, selectPasswordHashSQL},
+ {&s.selectNewNumericLocalpartStmt, selectNewNumericLocalpartSQL},
+ }.Prepare(db)
}
// insertAccount creates a new account. 'hash' should be the password hash for this account. If it is missing,
diff --git a/userapi/storage/accounts/postgres/key_backup_table.go b/userapi/storage/accounts/postgres/key_backup_table.go
index 0a2a2655..c1402d4d 100644
--- a/userapi/storage/accounts/postgres/key_backup_table.go
+++ b/userapi/storage/accounts/postgres/key_backup_table.go
@@ -20,6 +20,7 @@ import (
"encoding/json"
"github.com/matrix-org/dendrite/internal"
+ "github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/dendrite/userapi/api"
)
@@ -76,25 +77,14 @@ func (s *keyBackupStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.insertBackupKeyStmt, err = db.Prepare(insertBackupKeySQL); err != nil {
- return
- }
- if s.updateBackupKeyStmt, err = db.Prepare(updateBackupKeySQL); err != nil {
- return
- }
- if s.countKeysStmt, err = db.Prepare(countKeysSQL); err != nil {
- return
- }
- if s.selectKeysStmt, err = db.Prepare(selectKeysSQL); err != nil {
- return
- }
- if s.selectKeysByRoomIDStmt, err = db.Prepare(selectKeysByRoomIDSQL); err != nil {
- return
- }
- if s.selectKeysByRoomIDAndSessionIDStmt, err = db.Prepare(selectKeysByRoomIDAndSessionIDSQL); err != nil {
- return
- }
- return
+ return sqlutil.StatementList{
+ {&s.insertBackupKeyStmt, insertBackupKeySQL},
+ {&s.updateBackupKeyStmt, updateBackupKeySQL},
+ {&s.countKeysStmt, countKeysSQL},
+ {&s.selectKeysStmt, selectKeysSQL},
+ {&s.selectKeysByRoomIDStmt, selectKeysByRoomIDSQL},
+ {&s.selectKeysByRoomIDAndSessionIDStmt, selectKeysByRoomIDAndSessionIDSQL},
+ }.Prepare(db)
}
func (s keyBackupStatements) countKeys(
diff --git a/userapi/storage/accounts/postgres/key_backup_version_table.go b/userapi/storage/accounts/postgres/key_backup_version_table.go
index 51a462b3..d73447b4 100644
--- a/userapi/storage/accounts/postgres/key_backup_version_table.go
+++ b/userapi/storage/accounts/postgres/key_backup_version_table.go
@@ -20,6 +20,8 @@ import (
"encoding/json"
"fmt"
"strconv"
+
+ "github.com/matrix-org/dendrite/internal/sqlutil"
)
const keyBackupVersionTableSchema = `
@@ -72,25 +74,14 @@ func (s *keyBackupVersionStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.insertKeyBackupStmt, err = db.Prepare(insertKeyBackupSQL); err != nil {
- return
- }
- if s.updateKeyBackupAuthDataStmt, err = db.Prepare(updateKeyBackupAuthDataSQL); err != nil {
- return
- }
- if s.deleteKeyBackupStmt, err = db.Prepare(deleteKeyBackupSQL); err != nil {
- return
- }
- if s.selectKeyBackupStmt, err = db.Prepare(selectKeyBackupSQL); err != nil {
- return
- }
- if s.selectLatestVersionStmt, err = db.Prepare(selectLatestVersionSQL); err != nil {
- return
- }
- if s.updateKeyBackupETagStmt, err = db.Prepare(updateKeyBackupETagSQL); err != nil {
- return
- }
- return
+ return sqlutil.StatementList{
+ {&s.insertKeyBackupStmt, insertKeyBackupSQL},
+ {&s.updateKeyBackupAuthDataStmt, updateKeyBackupAuthDataSQL},
+ {&s.deleteKeyBackupStmt, deleteKeyBackupSQL},
+ {&s.selectKeyBackupStmt, selectKeyBackupSQL},
+ {&s.selectLatestVersionStmt, selectLatestVersionSQL},
+ {&s.updateKeyBackupETagStmt, updateKeyBackupETagSQL},
+ }.Prepare(db)
}
func (s *keyBackupVersionStatements) insertKeyBackup(
diff --git a/userapi/storage/accounts/postgres/openid_table.go b/userapi/storage/accounts/postgres/openid_table.go
index 86c19705..190d141b 100644
--- a/userapi/storage/accounts/postgres/openid_table.go
+++ b/userapi/storage/accounts/postgres/openid_table.go
@@ -39,14 +39,11 @@ func (s *tokenStatements) prepare(db *sql.DB, server gomatrixserverlib.ServerNam
if err != nil {
return
}
- if s.insertTokenStmt, err = db.Prepare(insertTokenSQL); err != nil {
- return
- }
- if s.selectTokenStmt, err = db.Prepare(selectTokenSQL); err != nil {
- return
- }
s.serverName = server
- return
+ return sqlutil.StatementList{
+ {&s.insertTokenStmt, insertTokenSQL},
+ {&s.selectTokenStmt, selectTokenSQL},
+ }.Prepare(db)
}
// insertToken inserts a new OpenID Connect token to the DB.
diff --git a/userapi/storage/accounts/postgres/profile_table.go b/userapi/storage/accounts/postgres/profile_table.go
index 45d802f1..9313864b 100644
--- a/userapi/storage/accounts/postgres/profile_table.go
+++ b/userapi/storage/accounts/postgres/profile_table.go
@@ -64,22 +64,13 @@ func (s *profilesStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.insertProfileStmt, err = db.Prepare(insertProfileSQL); err != nil {
- return
- }
- if s.selectProfileByLocalpartStmt, err = db.Prepare(selectProfileByLocalpartSQL); err != nil {
- return
- }
- if s.setAvatarURLStmt, err = db.Prepare(setAvatarURLSQL); err != nil {
- return
- }
- if s.setDisplayNameStmt, err = db.Prepare(setDisplayNameSQL); err != nil {
- return
- }
- if s.selectProfilesBySearchStmt, err = db.Prepare(selectProfilesBySearchSQL); err != nil {
- return
- }
- return
+ return sqlutil.StatementList{
+ {&s.insertProfileStmt, insertProfileSQL},
+ {&s.selectProfileByLocalpartStmt, selectProfileByLocalpartSQL},
+ {&s.setAvatarURLStmt, setAvatarURLSQL},
+ {&s.setDisplayNameStmt, setDisplayNameSQL},
+ {&s.selectProfilesBySearchStmt, selectProfilesBySearchSQL},
+ }.Prepare(db)
}
func (s *profilesStatements) insertProfile(
diff --git a/userapi/storage/accounts/postgres/threepid_table.go b/userapi/storage/accounts/postgres/threepid_table.go
index 7de96350..9280fc87 100644
--- a/userapi/storage/accounts/postgres/threepid_table.go
+++ b/userapi/storage/accounts/postgres/threepid_table.go
@@ -63,20 +63,12 @@ func (s *threepidStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.selectLocalpartForThreePIDStmt, err = db.Prepare(selectLocalpartForThreePIDSQL); err != nil {
- return
- }
- if s.selectThreePIDsForLocalpartStmt, err = db.Prepare(selectThreePIDsForLocalpartSQL); err != nil {
- return
- }
- if s.insertThreePIDStmt, err = db.Prepare(insertThreePIDSQL); err != nil {
- return
- }
- if s.deleteThreePIDStmt, err = db.Prepare(deleteThreePIDSQL); err != nil {
- return
- }
-
- return
+ return sqlutil.StatementList{
+ {&s.selectLocalpartForThreePIDStmt, selectLocalpartForThreePIDSQL},
+ {&s.selectThreePIDsForLocalpartStmt, selectThreePIDsForLocalpartSQL},
+ {&s.insertThreePIDStmt, insertThreePIDSQL},
+ {&s.deleteThreePIDStmt, deleteThreePIDSQL},
+ }.Prepare(db)
}
func (s *threepidStatements) selectLocalpartForThreePID(
diff --git a/userapi/storage/accounts/sqlite3/account_data_table.go b/userapi/storage/accounts/sqlite3/account_data_table.go
index 870a3706..871f996e 100644
--- a/userapi/storage/accounts/sqlite3/account_data_table.go
+++ b/userapi/storage/accounts/sqlite3/account_data_table.go
@@ -62,16 +62,11 @@ func (s *accountDataStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.insertAccountDataStmt, err = db.Prepare(insertAccountDataSQL); err != nil {
- return
- }
- if s.selectAccountDataStmt, err = db.Prepare(selectAccountDataSQL); err != nil {
- return
- }
- if s.selectAccountDataByTypeStmt, err = db.Prepare(selectAccountDataByTypeSQL); err != nil {
- return
- }
- return
+ return sqlutil.StatementList{
+ {&s.insertAccountDataStmt, insertAccountDataSQL},
+ {&s.selectAccountDataStmt, selectAccountDataSQL},
+ {&s.selectAccountDataByTypeStmt, selectAccountDataByTypeSQL},
+ }.Prepare(db)
}
func (s *accountDataStatements) insertAccountData(
diff --git a/userapi/storage/accounts/sqlite3/accounts_table.go b/userapi/storage/accounts/sqlite3/accounts_table.go
index 50f07237..8a7c8fba 100644
--- a/userapi/storage/accounts/sqlite3/accounts_table.go
+++ b/userapi/storage/accounts/sqlite3/accounts_table.go
@@ -81,26 +81,15 @@ func (s *accountsStatements) execSchema(db *sql.DB) error {
func (s *accountsStatements) prepare(db *sql.DB, server gomatrixserverlib.ServerName) (err error) {
s.db = db
- if s.insertAccountStmt, err = db.Prepare(insertAccountSQL); err != nil {
- return
- }
- if s.updatePasswordStmt, err = db.Prepare(updatePasswordSQL); err != nil {
- return
- }
- if s.deactivateAccountStmt, err = db.Prepare(deactivateAccountSQL); err != nil {
- return
- }
- if s.selectAccountByLocalpartStmt, err = db.Prepare(selectAccountByLocalpartSQL); err != nil {
- return
- }
- if s.selectPasswordHashStmt, err = db.Prepare(selectPasswordHashSQL); err != nil {
- return
- }
- if s.selectNewNumericLocalpartStmt, err = db.Prepare(selectNewNumericLocalpartSQL); err != nil {
- return
- }
s.serverName = server
- return
+ return sqlutil.StatementList{
+ {&s.insertAccountStmt, insertAccountSQL},
+ {&s.updatePasswordStmt, updatePasswordSQL},
+ {&s.deactivateAccountStmt, deactivateAccountSQL},
+ {&s.selectAccountByLocalpartStmt, selectAccountByLocalpartSQL},
+ {&s.selectPasswordHashStmt, selectPasswordHashSQL},
+ {&s.selectNewNumericLocalpartStmt, selectNewNumericLocalpartSQL},
+ }.Prepare(db)
}
// insertAccount creates a new account. 'hash' should be the password hash for this account. If it is missing,
diff --git a/userapi/storage/accounts/sqlite3/key_backup_table.go b/userapi/storage/accounts/sqlite3/key_backup_table.go
index 67509351..837d38cf 100644
--- a/userapi/storage/accounts/sqlite3/key_backup_table.go
+++ b/userapi/storage/accounts/sqlite3/key_backup_table.go
@@ -20,6 +20,7 @@ import (
"encoding/json"
"github.com/matrix-org/dendrite/internal"
+ "github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/dendrite/userapi/api"
)
@@ -76,25 +77,14 @@ func (s *keyBackupStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.insertBackupKeyStmt, err = db.Prepare(insertBackupKeySQL); err != nil {
- return
- }
- if s.updateBackupKeyStmt, err = db.Prepare(updateBackupKeySQL); err != nil {
- return
- }
- if s.countKeysStmt, err = db.Prepare(countKeysSQL); err != nil {
- return
- }
- if s.selectKeysStmt, err = db.Prepare(selectKeysSQL); err != nil {
- return
- }
- if s.selectKeysByRoomIDStmt, err = db.Prepare(selectKeysByRoomIDSQL); err != nil {
- return
- }
- if s.selectKeysByRoomIDAndSessionIDStmt, err = db.Prepare(selectKeysByRoomIDAndSessionIDSQL); err != nil {
- return
- }
- return
+ return sqlutil.StatementList{
+ {&s.insertBackupKeyStmt, insertBackupKeySQL},
+ {&s.updateBackupKeyStmt, updateBackupKeySQL},
+ {&s.countKeysStmt, countKeysSQL},
+ {&s.selectKeysStmt, selectKeysSQL},
+ {&s.selectKeysByRoomIDStmt, selectKeysByRoomIDSQL},
+ {&s.selectKeysByRoomIDAndSessionIDStmt, selectKeysByRoomIDAndSessionIDSQL},
+ }.Prepare(db)
}
func (s keyBackupStatements) countKeys(
diff --git a/userapi/storage/accounts/sqlite3/key_backup_version_table.go b/userapi/storage/accounts/sqlite3/key_backup_version_table.go
index a9e7bf5d..4211ed0f 100644
--- a/userapi/storage/accounts/sqlite3/key_backup_version_table.go
+++ b/userapi/storage/accounts/sqlite3/key_backup_version_table.go
@@ -20,6 +20,8 @@ import (
"encoding/json"
"fmt"
"strconv"
+
+ "github.com/matrix-org/dendrite/internal/sqlutil"
)
const keyBackupVersionTableSchema = `
@@ -70,25 +72,14 @@ func (s *keyBackupVersionStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.insertKeyBackupStmt, err = db.Prepare(insertKeyBackupSQL); err != nil {
- return
- }
- if s.updateKeyBackupAuthDataStmt, err = db.Prepare(updateKeyBackupAuthDataSQL); err != nil {
- return
- }
- if s.deleteKeyBackupStmt, err = db.Prepare(deleteKeyBackupSQL); err != nil {
- return
- }
- if s.selectKeyBackupStmt, err = db.Prepare(selectKeyBackupSQL); err != nil {
- return
- }
- if s.selectLatestVersionStmt, err = db.Prepare(selectLatestVersionSQL); err != nil {
- return
- }
- if s.updateKeyBackupETagStmt, err = db.Prepare(updateKeyBackupETagSQL); err != nil {
- return
- }
- return
+ return sqlutil.StatementList{
+ {&s.insertKeyBackupStmt, insertKeyBackupSQL},
+ {&s.updateKeyBackupAuthDataStmt, updateKeyBackupAuthDataSQL},
+ {&s.deleteKeyBackupStmt, deleteKeyBackupSQL},
+ {&s.selectKeyBackupStmt, selectKeyBackupSQL},
+ {&s.selectLatestVersionStmt, selectLatestVersionSQL},
+ {&s.updateKeyBackupETagStmt, updateKeyBackupETagSQL},
+ }.Prepare(db)
}
func (s *keyBackupVersionStatements) insertKeyBackup(
diff --git a/userapi/storage/accounts/sqlite3/openid_table.go b/userapi/storage/accounts/sqlite3/openid_table.go
index 80b9dd4c..98c0488b 100644
--- a/userapi/storage/accounts/sqlite3/openid_table.go
+++ b/userapi/storage/accounts/sqlite3/openid_table.go
@@ -41,14 +41,11 @@ func (s *tokenStatements) prepare(db *sql.DB, server gomatrixserverlib.ServerNam
if err != nil {
return err
}
- if s.insertTokenStmt, err = db.Prepare(insertTokenSQL); err != nil {
- return
- }
- if s.selectTokenStmt, err = db.Prepare(selectTokenSQL); err != nil {
- return
- }
s.serverName = server
- return
+ return sqlutil.StatementList{
+ {&s.insertTokenStmt, insertTokenSQL},
+ {&s.selectTokenStmt, selectTokenSQL},
+ }.Prepare(db)
}
// insertToken inserts a new OpenID Connect token to the DB.
diff --git a/userapi/storage/accounts/sqlite3/profile_table.go b/userapi/storage/accounts/sqlite3/profile_table.go
index a67e892f..a92e9566 100644
--- a/userapi/storage/accounts/sqlite3/profile_table.go
+++ b/userapi/storage/accounts/sqlite3/profile_table.go
@@ -66,22 +66,13 @@ func (s *profilesStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.insertProfileStmt, err = db.Prepare(insertProfileSQL); err != nil {
- return
- }
- if s.selectProfileByLocalpartStmt, err = db.Prepare(selectProfileByLocalpartSQL); err != nil {
- return
- }
- if s.setAvatarURLStmt, err = db.Prepare(setAvatarURLSQL); err != nil {
- return
- }
- if s.setDisplayNameStmt, err = db.Prepare(setDisplayNameSQL); err != nil {
- return
- }
- if s.selectProfilesBySearchStmt, err = db.Prepare(selectProfilesBySearchSQL); err != nil {
- return
- }
- return
+ return sqlutil.StatementList{
+ {&s.insertProfileStmt, insertProfileSQL},
+ {&s.selectProfileByLocalpartStmt, selectProfileByLocalpartSQL},
+ {&s.setAvatarURLStmt, setAvatarURLSQL},
+ {&s.setDisplayNameStmt, setDisplayNameSQL},
+ {&s.selectProfilesBySearchStmt, selectProfilesBySearchSQL},
+ }.Prepare(db)
}
func (s *profilesStatements) insertProfile(
diff --git a/userapi/storage/accounts/sqlite3/threepid_table.go b/userapi/storage/accounts/sqlite3/threepid_table.go
index 43112d38..9dc0e2d2 100644
--- a/userapi/storage/accounts/sqlite3/threepid_table.go
+++ b/userapi/storage/accounts/sqlite3/threepid_table.go
@@ -66,20 +66,12 @@ func (s *threepidStatements) prepare(db *sql.DB) (err error) {
if err != nil {
return
}
- if s.selectLocalpartForThreePIDStmt, err = db.Prepare(selectLocalpartForThreePIDSQL); err != nil {
- return
- }
- if s.selectThreePIDsForLocalpartStmt, err = db.Prepare(selectThreePIDsForLocalpartSQL); err != nil {
- return
- }
- if s.insertThreePIDStmt, err = db.Prepare(insertThreePIDSQL); err != nil {
- return
- }
- if s.deleteThreePIDStmt, err = db.Prepare(deleteThreePIDSQL); err != nil {
- return
- }
-
- return
+ return sqlutil.StatementList{
+ {&s.selectLocalpartForThreePIDStmt, selectLocalpartForThreePIDSQL},
+ {&s.selectThreePIDsForLocalpartStmt, selectThreePIDsForLocalpartSQL},
+ {&s.insertThreePIDStmt, insertThreePIDSQL},
+ {&s.deleteThreePIDStmt, deleteThreePIDSQL},
+ }.Prepare(db)
}
func (s *threepidStatements) selectLocalpartForThreePID(