aboutsummaryrefslogtreecommitdiff
path: root/roomserver/storage/postgres/membership_table.go
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2021-04-26 13:25:57 +0100
committerGitHub <noreply@github.com>2021-04-26 13:25:57 +0100
commit5ce1fe80dea8b8cfca8712e8d584deb995bbddcc (patch)
tree1307a1edf73abf68cebd4601efec1e467dac964c /roomserver/storage/postgres/membership_table.go
parentd6e9b7b307ff0d7541046ec33890d49239c7a6ca (diff)
State storage refactor (#1839)
* Hash-deduplicated state storage (and migrations) for PostgreSQL and SQLite * Refactor droomserver database setup for migrations * Fix conflict statements * Update migration names * Set a boundary for old to new block/snapshot IDs so we don't rewrite them more than once accidentally * Create sequence if not exists * Fix boundary queries * Fix boundary queries * Use Query * Break out queries a bit * More sequence tweaks * Query parameters are not playing the game * Injection escaping may not work for CREATE SEQUENCE after all * Fix snapshot sequence name * Use boundaried IDs in SQLite too * Use IFNULL for SQLite * Use COALESCE in PostgreSQL * Review comments @Kegsay
Diffstat (limited to 'roomserver/storage/postgres/membership_table.go')
-rw-r--r--roomserver/storage/postgres/membership_table.go16
1 files changed, 6 insertions, 10 deletions
diff --git a/roomserver/storage/postgres/membership_table.go b/roomserver/storage/postgres/membership_table.go
index e392a4fb..3466da6d 100644
--- a/roomserver/storage/postgres/membership_table.go
+++ b/roomserver/storage/postgres/membership_table.go
@@ -139,12 +139,13 @@ type membershipStatements struct {
updateMembershipForgetRoomStmt *sql.Stmt
}
-func NewPostgresMembershipTable(db *sql.DB) (tables.Membership, error) {
- s := &membershipStatements{}
+func createMembershipTable(db *sql.DB) error {
_, err := db.Exec(membershipSchema)
- if err != nil {
- return nil, err
- }
+ return err
+}
+
+func prepareMembershipTable(db *sql.DB) (tables.Membership, error) {
+ s := &membershipStatements{}
return s, shared.StatementList{
{&s.insertMembershipStmt, insertMembershipSQL},
@@ -162,11 +163,6 @@ func NewPostgresMembershipTable(db *sql.DB) (tables.Membership, error) {
}.Prepare(db)
}
-func (s *membershipStatements) execSchema(db *sql.DB) error {
- _, err := db.Exec(membershipSchema)
- return err
-}
-
func (s *membershipStatements) InsertMembership(
ctx context.Context,
txn *sql.Tx, roomNID types.RoomNID, targetUserNID types.EventStateKeyNID,