From a1eca625f6f89040f475c53d94517bfc00dc2172 Mon Sep 17 00:00:00 2001 From: Joshua Hong Date: Wed, 21 Jul 2021 14:22:38 -0400 Subject: [PATCH] Make displayname non-nullable --- roomserver/internal/input/input_membership.go | 4 ++-- .../deltas/20210622210900_add_displayname_column.go | 2 +- roomserver/storage/postgres/membership_table.go | 4 ++-- roomserver/storage/shared/membership_updater.go | 6 +++--- .../sqlite3/deltas/20210622210900_add_displayname_column.go | 2 +- roomserver/storage/sqlite3/membership_table.go | 4 ++-- roomserver/storage/tables/interface.go | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/roomserver/internal/input/input_membership.go b/roomserver/internal/input/input_membership.go index 33a7358e8..c848d901f 100644 --- a/roomserver/internal/input/input_membership.go +++ b/roomserver/internal/input/input_membership.go @@ -161,9 +161,9 @@ func updateToJoinMembership( if err != nil { return nil, err } - var displayname *string + var displayname string if memberEvent.DisplayName != "" { - displayname = &memberEvent.DisplayName + displayname = memberEvent.DisplayName } // If the user is already marked as being joined, we call SetToJoin to update diff --git a/roomserver/storage/postgres/deltas/20210622210900_add_displayname_column.go b/roomserver/storage/postgres/deltas/20210622210900_add_displayname_column.go index bba5b325b..36b54c99c 100644 --- a/roomserver/storage/postgres/deltas/20210622210900_add_displayname_column.go +++ b/roomserver/storage/postgres/deltas/20210622210900_add_displayname_column.go @@ -27,7 +27,7 @@ func LoadAddDisplaynameColumn(m *sqlutil.Migrations) { } func UpAddDisplaynameColumn(tx *sql.Tx) error { - _, err := tx.Exec(`ALTER TABLE roomserver_membership ADD COLUMN IF NOT EXISTS displayname TEXT DEFAULT "";`) + _, err := tx.Exec(`ALTER TABLE roomserver_membership ADD COLUMN IF NOT EXISTS displayname TEXT DEFAULT '';`) if err != nil { return fmt.Errorf("failed to execute upgrade: %w", err) } diff --git a/roomserver/storage/postgres/membership_table.go b/roomserver/storage/postgres/membership_table.go index 875539bdf..9577fbf71 100644 --- a/roomserver/storage/postgres/membership_table.go +++ b/roomserver/storage/postgres/membership_table.go @@ -61,7 +61,7 @@ CREATE TABLE IF NOT EXISTS roomserver_membership ( -- room joins. target_local BOOLEAN NOT NULL DEFAULT false, forgotten BOOLEAN NOT NULL DEFAULT FALSE, - displayname TEXT NOT NULL DEFAULT "", + displayname TEXT NOT NULL DEFAULT '', UNIQUE (room_nid, target_nid) ); ` @@ -254,7 +254,7 @@ func (s *membershipStatements) SelectMembershipsFromRoomAndMembership( func (s *membershipStatements) UpdateMembership( ctx context.Context, txn *sql.Tx, roomNID types.RoomNID, targetUserNID types.EventStateKeyNID, senderUserNID types.EventStateKeyNID, membership tables.MembershipState, - eventNID types.EventNID, forgotten bool, displayname *string, + eventNID types.EventNID, forgotten bool, displayname string, ) error { _, err := sqlutil.TxStmt(txn, s.updateMembershipStmt).ExecContext( ctx, roomNID, targetUserNID, senderUserNID, membership, eventNID, forgotten, displayname, diff --git a/roomserver/storage/shared/membership_updater.go b/roomserver/storage/shared/membership_updater.go index 6aace6f78..692705935 100644 --- a/roomserver/storage/shared/membership_updater.go +++ b/roomserver/storage/shared/membership_updater.go @@ -101,7 +101,7 @@ func (u *MembershipUpdater) SetToInvite(event gomatrixserverlib.Event) (bool, er return fmt.Errorf("u.d.InvitesTable.InsertInviteEvent: %w", err) } if u.membership != tables.MembershipStateInvite { - if err = u.d.MembershipTable.UpdateMembership(u.ctx, u.txn, u.roomNID, u.targetUserNID, senderUserNID, tables.MembershipStateInvite, 0, false, nil); err != nil { + if err = u.d.MembershipTable.UpdateMembership(u.ctx, u.txn, u.roomNID, u.targetUserNID, senderUserNID, tables.MembershipStateInvite, 0, false, ""); err != nil { return fmt.Errorf("u.d.MembershipTable.UpdateMembership: %w", err) } } @@ -111,7 +111,7 @@ func (u *MembershipUpdater) SetToInvite(event gomatrixserverlib.Event) (bool, er } // SetToJoin implements types.MembershipUpdater -func (u *MembershipUpdater) SetToJoin(senderUserID string, eventID string, displayname *string, isUpdate bool) ([]string, error) { +func (u *MembershipUpdater) SetToJoin(senderUserID string, eventID string, displayname string, isUpdate bool) ([]string, error) { var inviteEventIDs []string err := u.d.Writer.Do(u.d.DB, u.txn, func(txn *sql.Tx) error { @@ -171,7 +171,7 @@ func (u *MembershipUpdater) SetToLeave(senderUserID string, eventID string) ([]s } if u.membership != tables.MembershipStateLeaveOrBan { - if err = u.d.MembershipTable.UpdateMembership(u.ctx, u.txn, u.roomNID, u.targetUserNID, senderUserNID, tables.MembershipStateLeaveOrBan, nIDs[eventID], false, nil); err != nil { + if err = u.d.MembershipTable.UpdateMembership(u.ctx, u.txn, u.roomNID, u.targetUserNID, senderUserNID, tables.MembershipStateLeaveOrBan, nIDs[eventID], false, ""); err != nil { return fmt.Errorf("u.d.MembershipTable.UpdateMembership: %w", err) } } diff --git a/roomserver/storage/sqlite3/deltas/20210622210900_add_displayname_column.go b/roomserver/storage/sqlite3/deltas/20210622210900_add_displayname_column.go index 81320a411..e144471d4 100644 --- a/roomserver/storage/sqlite3/deltas/20210622210900_add_displayname_column.go +++ b/roomserver/storage/sqlite3/deltas/20210622210900_add_displayname_column.go @@ -26,7 +26,7 @@ func LoadAddDisplaynameColumn(m *sqlutil.Migrations) { } func UpAddDisplaynameColumn(tx *sql.Tx) error { - _, err := tx.Exec(`ALTER TABLE roomserver_membership ADD COLUMN IF NOT EXISTS displayname TEXT DEFAULT "";`) + _, err := tx.Exec(`ALTER TABLE roomserver_membership ADD COLUMN IF NOT EXISTS displayname TEXT DEFAULT '';`) if err != nil { return fmt.Errorf("failed to execute upgrade: %w", err) } diff --git a/roomserver/storage/sqlite3/membership_table.go b/roomserver/storage/sqlite3/membership_table.go index 810e9a18c..326014a5a 100644 --- a/roomserver/storage/sqlite3/membership_table.go +++ b/roomserver/storage/sqlite3/membership_table.go @@ -37,7 +37,7 @@ const membershipSchema = ` event_nid INTEGER NOT NULL DEFAULT 0, target_local BOOLEAN NOT NULL DEFAULT false, forgotten BOOLEAN NOT NULL DEFAULT false, - displayname TEXT NOT NULL DEFAULT "", + displayname TEXT NOT NULL DEFAULT '', UNIQUE (room_nid, target_nid) ); ` @@ -232,7 +232,7 @@ func (s *membershipStatements) SelectMembershipsFromRoomAndMembership( func (s *membershipStatements) UpdateMembership( ctx context.Context, txn *sql.Tx, roomNID types.RoomNID, targetUserNID types.EventStateKeyNID, senderUserNID types.EventStateKeyNID, membership tables.MembershipState, - eventNID types.EventNID, forgotten bool, displayname *string, + eventNID types.EventNID, forgotten bool, displayname string, ) error { stmt := sqlutil.TxStmt(txn, s.updateMembershipStmt) _, err := stmt.ExecContext( diff --git a/roomserver/storage/tables/interface.go b/roomserver/storage/tables/interface.go index 51b2a51da..e7db8e260 100644 --- a/roomserver/storage/tables/interface.go +++ b/roomserver/storage/tables/interface.go @@ -128,7 +128,7 @@ type Membership interface { SelectMembershipFromRoomAndTarget(ctx context.Context, roomNID types.RoomNID, targetUserNID types.EventStateKeyNID) (types.EventNID, MembershipState, bool, error) SelectMembershipsFromRoom(ctx context.Context, roomNID types.RoomNID, localOnly bool) (eventNIDs []types.EventNID, err error) SelectMembershipsFromRoomAndMembership(ctx context.Context, roomNID types.RoomNID, membership MembershipState, localOnly bool) (eventNIDs []types.EventNID, err error) - UpdateMembership(ctx context.Context, txn *sql.Tx, roomNID types.RoomNID, targetUserNID types.EventStateKeyNID, senderUserNID types.EventStateKeyNID, membership MembershipState, eventNID types.EventNID, forgotten bool, displayname *string) error + UpdateMembership(ctx context.Context, txn *sql.Tx, roomNID types.RoomNID, targetUserNID types.EventStateKeyNID, senderUserNID types.EventStateKeyNID, membership MembershipState, eventNID types.EventNID, forgotten bool, displayname string) error SelectRoomsWithMembership(ctx context.Context, userID types.EventStateKeyNID, membershipState MembershipState) ([]types.RoomNID, error) // SelectJoinedUsersSetForRooms returns the set of all users in the rooms who are joined to any of these rooms, along with the // counts of how many rooms they are joined.