aboutsummaryrefslogtreecommitdiff
path: root/roomserver/storage/tables/interface.go
diff options
context:
space:
mode:
authorKegsay <kegan@matrix.org>2020-05-27 09:36:09 +0100
committerGitHub <noreply@github.com>2020-05-27 09:36:09 +0100
commitc0c5d9452a24dcecb9378dd147f48098f18cce04 (patch)
tree2255ada17f142d18da643bd371a0c5f2bc8bd75d /roomserver/storage/tables/interface.go
parent19aa44ecaef70a2be7294e8ad738467da41d1f2e (diff)
Convert room_aliases previous_events state_block and state_snapshot tables (#1064)
* Convert state_snapshot and state_block tables * Convert room_aliases and previous_events tables * Add missing table
Diffstat (limited to 'roomserver/storage/tables/interface.go')
-rw-r--r--roomserver/storage/tables/interface.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/roomserver/storage/tables/interface.go b/roomserver/storage/tables/interface.go
index e913de6b..56ef5dd3 100644
--- a/roomserver/storage/tables/interface.go
+++ b/roomserver/storage/tables/interface.go
@@ -70,3 +70,29 @@ type Transactions interface {
InsertTransaction(ctx context.Context, txn *sql.Tx, transactionID string, sessionID int64, userID string, eventID string) error
SelectTransactionEventID(ctx context.Context, transactionID string, sessionID int64, userID string) (eventID string, err error)
}
+
+type StateSnapshot interface {
+ InsertState(ctx context.Context, txn *sql.Tx, roomNID types.RoomNID, stateBlockNIDs []types.StateBlockNID) (stateNID types.StateSnapshotNID, err error)
+ BulkSelectStateBlockNIDs(ctx context.Context, stateNIDs []types.StateSnapshotNID) ([]types.StateBlockNIDList, error)
+}
+
+type StateBlock interface {
+ BulkInsertStateData(ctx context.Context, txn *sql.Tx, entries []types.StateEntry) (types.StateBlockNID, error)
+ BulkSelectStateBlockEntries(ctx context.Context, stateBlockNIDs []types.StateBlockNID) ([]types.StateEntryList, error)
+ BulkSelectFilteredStateBlockEntries(ctx context.Context, stateBlockNIDs []types.StateBlockNID, stateKeyTuples []types.StateKeyTuple) ([]types.StateEntryList, error)
+}
+
+type RoomAliases interface {
+ InsertRoomAlias(ctx context.Context, alias string, roomID string, creatorUserID string) (err error)
+ SelectRoomIDFromAlias(ctx context.Context, alias string) (roomID string, err error)
+ SelectAliasesFromRoomID(ctx context.Context, roomID string) ([]string, error)
+ SelectCreatorIDFromAlias(ctx context.Context, alias string) (creatorID string, err error)
+ DeleteRoomAlias(ctx context.Context, alias string) (err error)
+}
+
+type PreviousEvents interface {
+ InsertPreviousEvent(ctx context.Context, txn *sql.Tx, previousEventID string, previousEventReferenceSHA256 []byte, eventNID types.EventNID) error
+ // Check if the event reference exists
+ // Returns sql.ErrNoRows if the event reference doesn't exist.
+ SelectPreviousEventExists(ctx context.Context, txn *sql.Tx, eventID string, eventReferenceSHA256 []byte) error
+}