mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-16 10:33:11 -06:00
Cleanup
This commit is contained in:
parent
a9dffcb23a
commit
3d8bd4d353
|
|
@ -62,9 +62,6 @@ CREATE TABLE IF NOT EXISTS roomserver_events (
|
||||||
-- Needed for state resolution.
|
-- Needed for state resolution.
|
||||||
-- An event may only appear in this table once.
|
-- An event may only appear in this table once.
|
||||||
event_id TEXT NOT NULL CONSTRAINT roomserver_event_id_unique UNIQUE,
|
event_id TEXT NOT NULL CONSTRAINT roomserver_event_id_unique UNIQUE,
|
||||||
-- The sha256 reference hash for the event.
|
|
||||||
-- Needed for setting reference hashes when sending new events.
|
|
||||||
reference_sha256 BYTEA NOT NULL,
|
|
||||||
-- A list of numeric IDs for events that can authenticate this event.
|
-- A list of numeric IDs for events that can authenticate this event.
|
||||||
auth_event_nids BIGINT[] NOT NULL,
|
auth_event_nids BIGINT[] NOT NULL,
|
||||||
is_rejected BOOLEAN NOT NULL DEFAULT FALSE
|
is_rejected BOOLEAN NOT NULL DEFAULT FALSE
|
||||||
|
|
@ -75,10 +72,10 @@ CREATE INDEX IF NOT EXISTS roomserver_events_memberships_idx ON roomserver_event
|
||||||
`
|
`
|
||||||
|
|
||||||
const insertEventSQL = "" +
|
const insertEventSQL = "" +
|
||||||
"INSERT INTO roomserver_events AS e (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)" +
|
"INSERT INTO roomserver_events AS e (room_nid, event_type_nid, event_state_key_nid, event_id, auth_event_nids, depth, is_rejected)" +
|
||||||
" VALUES ($1, $2, $3, $4, $5, $6, $7, $8)" +
|
" VALUES ($1, $2, $3, $4, $5, $6, $7)" +
|
||||||
" ON CONFLICT ON CONSTRAINT roomserver_event_id_unique DO UPDATE" +
|
" ON CONFLICT ON CONSTRAINT roomserver_event_id_unique DO UPDATE" +
|
||||||
" SET is_rejected = $8 WHERE e.event_id = $4 AND e.is_rejected = TRUE" +
|
" SET is_rejected = $7 WHERE e.event_id = $4 AND e.is_rejected = TRUE" +
|
||||||
" RETURNING event_nid, state_snapshot_nid"
|
" RETURNING event_nid, state_snapshot_nid"
|
||||||
|
|
||||||
const selectEventSQL = "" +
|
const selectEventSQL = "" +
|
||||||
|
|
@ -130,11 +127,11 @@ const selectEventIDSQL = "" +
|
||||||
"SELECT event_id FROM roomserver_events WHERE event_nid = $1"
|
"SELECT event_id FROM roomserver_events WHERE event_nid = $1"
|
||||||
|
|
||||||
const bulkSelectStateAtEventAndReferenceSQL = "" +
|
const bulkSelectStateAtEventAndReferenceSQL = "" +
|
||||||
"SELECT event_type_nid, event_state_key_nid, event_nid, state_snapshot_nid, event_id, reference_sha256" +
|
"SELECT event_type_nid, event_state_key_nid, event_nid, state_snapshot_nid, event_id" +
|
||||||
" FROM roomserver_events WHERE event_nid = ANY($1)"
|
" FROM roomserver_events WHERE event_nid = ANY($1)"
|
||||||
|
|
||||||
const bulkSelectEventReferenceSQL = "" +
|
const bulkSelectEventReferenceSQL = "" +
|
||||||
"SELECT event_id, reference_sha256 FROM roomserver_events WHERE event_nid = ANY($1)"
|
"SELECT event_id FROM roomserver_events WHERE event_nid = ANY($1)"
|
||||||
|
|
||||||
const bulkSelectEventIDSQL = "" +
|
const bulkSelectEventIDSQL = "" +
|
||||||
"SELECT event_nid, event_id FROM roomserver_events WHERE event_nid = ANY($1)"
|
"SELECT event_nid, event_id FROM roomserver_events WHERE event_nid = ANY($1)"
|
||||||
|
|
@ -214,7 +211,6 @@ func (s *eventStatements) InsertEvent(
|
||||||
eventTypeNID types.EventTypeNID,
|
eventTypeNID types.EventTypeNID,
|
||||||
eventStateKeyNID types.EventStateKeyNID,
|
eventStateKeyNID types.EventStateKeyNID,
|
||||||
eventID string,
|
eventID string,
|
||||||
referenceSHA256 []byte,
|
|
||||||
authEventNIDs []types.EventNID,
|
authEventNIDs []types.EventNID,
|
||||||
depth int64,
|
depth int64,
|
||||||
isRejected bool,
|
isRejected bool,
|
||||||
|
|
@ -224,7 +220,7 @@ func (s *eventStatements) InsertEvent(
|
||||||
stmt := sqlutil.TxStmt(txn, s.insertEventStmt)
|
stmt := sqlutil.TxStmt(txn, s.insertEventStmt)
|
||||||
err := stmt.QueryRowContext(
|
err := stmt.QueryRowContext(
|
||||||
ctx, int64(roomNID), int64(eventTypeNID), int64(eventStateKeyNID),
|
ctx, int64(roomNID), int64(eventTypeNID), int64(eventStateKeyNID),
|
||||||
eventID, referenceSHA256, eventNIDsAsArray(authEventNIDs), depth,
|
eventID, eventNIDsAsArray(authEventNIDs), depth,
|
||||||
isRejected,
|
isRejected,
|
||||||
).Scan(&eventNID, &stateNID)
|
).Scan(&eventNID, &stateNID)
|
||||||
return types.EventNID(eventNID), types.StateSnapshotNID(stateNID), err
|
return types.EventNID(eventNID), types.StateSnapshotNID(stateNID), err
|
||||||
|
|
@ -441,11 +437,10 @@ func (s *eventStatements) BulkSelectStateAtEventAndReference(
|
||||||
eventNID int64
|
eventNID int64
|
||||||
stateSnapshotNID int64
|
stateSnapshotNID int64
|
||||||
eventID string
|
eventID string
|
||||||
eventSHA256 []byte
|
|
||||||
)
|
)
|
||||||
for ; rows.Next(); i++ {
|
for ; rows.Next(); i++ {
|
||||||
if err = rows.Scan(
|
if err = rows.Scan(
|
||||||
&eventTypeNID, &eventStateKeyNID, &eventNID, &stateSnapshotNID, &eventID, &eventSHA256,
|
&eventTypeNID, &eventStateKeyNID, &eventNID, &stateSnapshotNID, &eventID,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -455,7 +450,6 @@ func (s *eventStatements) BulkSelectStateAtEventAndReference(
|
||||||
result.EventNID = types.EventNID(eventNID)
|
result.EventNID = types.EventNID(eventNID)
|
||||||
result.BeforeStateSnapshotNID = types.StateSnapshotNID(stateSnapshotNID)
|
result.BeforeStateSnapshotNID = types.StateSnapshotNID(stateSnapshotNID)
|
||||||
result.EventID = eventID
|
result.EventID = eventID
|
||||||
result.EventSHA256 = eventSHA256
|
|
||||||
}
|
}
|
||||||
if err = rows.Err(); err != nil {
|
if err = rows.Err(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
@ -478,7 +472,7 @@ func (s *eventStatements) BulkSelectEventReference(
|
||||||
i := 0
|
i := 0
|
||||||
for ; rows.Next(); i++ {
|
for ; rows.Next(); i++ {
|
||||||
result := &results[i]
|
result := &results[i]
|
||||||
if err = rows.Scan(&result.EventID, &result.EventSHA256); err != nil {
|
if err = rows.Scan(&result.EventID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -742,7 +742,6 @@ func (d *EventDatabase) StoreEvent(
|
||||||
eventTypeNID,
|
eventTypeNID,
|
||||||
eventStateKeyNID,
|
eventStateKeyNID,
|
||||||
event.EventID(),
|
event.EventID(),
|
||||||
event.EventReference().EventSHA256,
|
|
||||||
authEventNIDs,
|
authEventNIDs,
|
||||||
event.Depth(),
|
event.Depth(),
|
||||||
isRejected,
|
isRejected,
|
||||||
|
|
|
||||||
|
|
@ -41,17 +41,16 @@ const eventsSchema = `
|
||||||
state_snapshot_nid INTEGER NOT NULL DEFAULT 0,
|
state_snapshot_nid INTEGER NOT NULL DEFAULT 0,
|
||||||
depth INTEGER NOT NULL,
|
depth INTEGER NOT NULL,
|
||||||
event_id TEXT NOT NULL UNIQUE,
|
event_id TEXT NOT NULL UNIQUE,
|
||||||
reference_sha256 BLOB NOT NULL,
|
|
||||||
auth_event_nids TEXT NOT NULL DEFAULT '[]',
|
auth_event_nids TEXT NOT NULL DEFAULT '[]',
|
||||||
is_rejected BOOLEAN NOT NULL DEFAULT FALSE
|
is_rejected BOOLEAN NOT NULL DEFAULT FALSE
|
||||||
);
|
);
|
||||||
`
|
`
|
||||||
|
|
||||||
const insertEventSQL = `
|
const insertEventSQL = `
|
||||||
INSERT INTO roomserver_events (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)
|
INSERT INTO roomserver_events (room_nid, event_type_nid, event_state_key_nid, event_id, auth_event_nids, depth, is_rejected)
|
||||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
|
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
||||||
ON CONFLICT DO UPDATE
|
ON CONFLICT DO UPDATE
|
||||||
SET is_rejected = $8 WHERE is_rejected = 1
|
SET is_rejected = $7 WHERE is_rejected = 1
|
||||||
RETURNING event_nid, state_snapshot_nid;
|
RETURNING event_nid, state_snapshot_nid;
|
||||||
`
|
`
|
||||||
|
|
||||||
|
|
@ -100,11 +99,11 @@ const selectEventIDSQL = "" +
|
||||||
"SELECT event_id FROM roomserver_events WHERE event_nid = $1"
|
"SELECT event_id FROM roomserver_events WHERE event_nid = $1"
|
||||||
|
|
||||||
const bulkSelectStateAtEventAndReferenceSQL = "" +
|
const bulkSelectStateAtEventAndReferenceSQL = "" +
|
||||||
"SELECT event_type_nid, event_state_key_nid, event_nid, state_snapshot_nid, event_id, reference_sha256" +
|
"SELECT event_type_nid, event_state_key_nid, event_nid, state_snapshot_nid, event_id" +
|
||||||
" FROM roomserver_events WHERE event_nid IN ($1)"
|
" FROM roomserver_events WHERE event_nid IN ($1)"
|
||||||
|
|
||||||
const bulkSelectEventReferenceSQL = "" +
|
const bulkSelectEventReferenceSQL = "" +
|
||||||
"SELECT event_id, reference_sha256 FROM roomserver_events WHERE event_nid IN ($1)"
|
"SELECT event_id FROM roomserver_events WHERE event_nid IN ($1)"
|
||||||
|
|
||||||
const bulkSelectEventIDSQL = "" +
|
const bulkSelectEventIDSQL = "" +
|
||||||
"SELECT event_nid, event_id FROM roomserver_events WHERE event_nid IN ($1)"
|
"SELECT event_nid, event_id FROM roomserver_events WHERE event_nid IN ($1)"
|
||||||
|
|
@ -183,7 +182,6 @@ func (s *eventStatements) InsertEvent(
|
||||||
eventTypeNID types.EventTypeNID,
|
eventTypeNID types.EventTypeNID,
|
||||||
eventStateKeyNID types.EventStateKeyNID,
|
eventStateKeyNID types.EventStateKeyNID,
|
||||||
eventID string,
|
eventID string,
|
||||||
referenceSHA256 []byte,
|
|
||||||
authEventNIDs []types.EventNID,
|
authEventNIDs []types.EventNID,
|
||||||
depth int64,
|
depth int64,
|
||||||
isRejected bool,
|
isRejected bool,
|
||||||
|
|
@ -194,7 +192,7 @@ func (s *eventStatements) InsertEvent(
|
||||||
insertStmt := sqlutil.TxStmt(txn, s.insertEventStmt)
|
insertStmt := sqlutil.TxStmt(txn, s.insertEventStmt)
|
||||||
err := insertStmt.QueryRowContext(
|
err := insertStmt.QueryRowContext(
|
||||||
ctx, int64(roomNID), int64(eventTypeNID), int64(eventStateKeyNID),
|
ctx, int64(roomNID), int64(eventTypeNID), int64(eventStateKeyNID),
|
||||||
eventID, referenceSHA256, eventNIDsAsArray(authEventNIDs), depth, isRejected,
|
eventID, eventNIDsAsArray(authEventNIDs), depth, isRejected,
|
||||||
).Scan(&eventNID, &stateNID)
|
).Scan(&eventNID, &stateNID)
|
||||||
return types.EventNID(eventNID), types.StateSnapshotNID(stateNID), err
|
return types.EventNID(eventNID), types.StateSnapshotNID(stateNID), err
|
||||||
}
|
}
|
||||||
|
|
@ -475,11 +473,10 @@ func (s *eventStatements) BulkSelectStateAtEventAndReference(
|
||||||
eventNID int64
|
eventNID int64
|
||||||
stateSnapshotNID int64
|
stateSnapshotNID int64
|
||||||
eventID string
|
eventID string
|
||||||
eventSHA256 []byte
|
|
||||||
)
|
)
|
||||||
for ; rows.Next(); i++ {
|
for ; rows.Next(); i++ {
|
||||||
if err = rows.Scan(
|
if err = rows.Scan(
|
||||||
&eventTypeNID, &eventStateKeyNID, &eventNID, &stateSnapshotNID, &eventID, &eventSHA256,
|
&eventTypeNID, &eventStateKeyNID, &eventNID, &stateSnapshotNID, &eventID,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -489,7 +486,6 @@ func (s *eventStatements) BulkSelectStateAtEventAndReference(
|
||||||
result.EventNID = types.EventNID(eventNID)
|
result.EventNID = types.EventNID(eventNID)
|
||||||
result.BeforeStateSnapshotNID = types.StateSnapshotNID(stateSnapshotNID)
|
result.BeforeStateSnapshotNID = types.StateSnapshotNID(stateSnapshotNID)
|
||||||
result.EventID = eventID
|
result.EventID = eventID
|
||||||
result.EventSHA256 = eventSHA256
|
|
||||||
}
|
}
|
||||||
if i != len(eventNIDs) {
|
if i != len(eventNIDs) {
|
||||||
return nil, fmt.Errorf("storage: event NIDs missing from the database (%d != %d)", i, len(eventNIDs))
|
return nil, fmt.Errorf("storage: event NIDs missing from the database (%d != %d)", i, len(eventNIDs))
|
||||||
|
|
@ -523,7 +519,7 @@ func (s *eventStatements) BulkSelectEventReference(
|
||||||
i := 0
|
i := 0
|
||||||
for ; rows.Next(); i++ {
|
for ; rows.Next(); i++ {
|
||||||
result := &results[i]
|
result := &results[i]
|
||||||
if err = rows.Scan(&result.EventID, &result.EventSHA256); err != nil {
|
if err = rows.Scan(&result.EventID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ func Test_EventsTable(t *testing.T) {
|
||||||
wantEventReferences := make([]gomatrixserverlib.EventReference, 0, len(room.Events()))
|
wantEventReferences := make([]gomatrixserverlib.EventReference, 0, len(room.Events()))
|
||||||
wantStateAtEventAndRefs := make([]types.StateAtEventAndReference, 0, len(room.Events()))
|
wantStateAtEventAndRefs := make([]types.StateAtEventAndReference, 0, len(room.Events()))
|
||||||
for _, ev := range room.Events() {
|
for _, ev := range room.Events() {
|
||||||
eventNID, snapNID, err := tab.InsertEvent(ctx, nil, 1, 1, 1, ev.EventID(), ev.EventReference().EventSHA256, nil, ev.Depth(), false)
|
eventNID, snapNID, err := tab.InsertEvent(ctx, nil, 1, 1, 1, ev.EventID(), nil, ev.Depth(), false)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
gotEventNID, gotSnapNID, err := tab.SelectEvent(ctx, nil, ev.EventID())
|
gotEventNID, gotSnapNID, err := tab.SelectEvent(ctx, nil, ev.EventID())
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
@ -75,7 +75,9 @@ func Test_EventsTable(t *testing.T) {
|
||||||
assert.True(t, sentToOutput)
|
assert.True(t, sentToOutput)
|
||||||
|
|
||||||
eventIDs = append(eventIDs, ev.EventID())
|
eventIDs = append(eventIDs, ev.EventID())
|
||||||
wantEventReferences = append(wantEventReferences, ev.EventReference())
|
ref := ev.EventReference()
|
||||||
|
ref.EventSHA256 = nil
|
||||||
|
wantEventReferences = append(wantEventReferences, ref)
|
||||||
|
|
||||||
// Set the stateSnapshot to 2 for some events to verify they are returned later
|
// Set the stateSnapshot to 2 for some events to verify they are returned later
|
||||||
stateSnapshot := 0
|
stateSnapshot := 0
|
||||||
|
|
@ -98,7 +100,7 @@ func Test_EventsTable(t *testing.T) {
|
||||||
wantStateAtEvent = append(wantStateAtEvent, stateAtEvent)
|
wantStateAtEvent = append(wantStateAtEvent, stateAtEvent)
|
||||||
wantStateAtEventAndRefs = append(wantStateAtEventAndRefs, types.StateAtEventAndReference{
|
wantStateAtEventAndRefs = append(wantStateAtEventAndRefs, types.StateAtEventAndReference{
|
||||||
StateAtEvent: stateAtEvent,
|
StateAtEvent: stateAtEvent,
|
||||||
EventReference: ev.EventReference(),
|
EventReference: ref,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ type Events interface {
|
||||||
InsertEvent(
|
InsertEvent(
|
||||||
ctx context.Context, txn *sql.Tx, roomNID types.RoomNID, eventTypeNID types.EventTypeNID,
|
ctx context.Context, txn *sql.Tx, roomNID types.RoomNID, eventTypeNID types.EventTypeNID,
|
||||||
eventStateKeyNID types.EventStateKeyNID, eventID string,
|
eventStateKeyNID types.EventStateKeyNID, eventID string,
|
||||||
referenceSHA256 []byte, authEventNIDs []types.EventNID, depth int64, isRejected bool,
|
authEventNIDs []types.EventNID, depth int64, isRejected bool,
|
||||||
) (types.EventNID, types.StateSnapshotNID, error)
|
) (types.EventNID, types.StateSnapshotNID, error)
|
||||||
SelectEvent(ctx context.Context, txn *sql.Tx, eventID string) (types.EventNID, types.StateSnapshotNID, error)
|
SelectEvent(ctx context.Context, txn *sql.Tx, eventID string) (types.EventNID, types.StateSnapshotNID, error)
|
||||||
BulkSelectSnapshotsFromEventIDs(ctx context.Context, txn *sql.Tx, eventIDs []string) (map[types.StateSnapshotNID][]string, error)
|
BulkSelectSnapshotsFromEventIDs(ctx context.Context, txn *sql.Tx, eventIDs []string) (map[types.StateSnapshotNID][]string, error)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue