roomserver

package
v0.0.0-...-9835270 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2021 License: AGPL-3.0, Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDatabase

func NewDatabase(driver, createAddr, address, underlying, topic string, useAsync bool) (interface{}, error)

Open a postgres database.

Types

type Database

type Database struct {
	AsyncSave bool
	// contains filtered or unexported fields
}

A Database is used to store room events and stream offsets.

func (*Database) AddState

func (d *Database) AddState(
	ctx context.Context,
	roomNID int64,
	StateBlockNIDs []int64,
) (int64, error)

AddState implements input.EventDatabase

func (*Database) AliaseDeleteRaw

func (d *Database) AliaseDeleteRaw(ctx context.Context, aliase string) error

func (*Database) AliaseInsertRaw

func (d *Database) AliaseInsertRaw(ctx context.Context, aliase, roomID string) error

func (*Database) AssignRoomNID

func (d *Database) AssignRoomNID(
	ctx context.Context, roomID string,
) (int64, error)

func (*Database) BackFillNids

func (d *Database) BackFillNids(
	ctx context.Context, roomNID int64, domain string, eventNid int64, limit int, dir string,
) ([]int64, error)

func (*Database) EventCountAll

func (d *Database) EventCountAll(
	ctx context.Context,
) (count int, err error)

func (*Database) EventCountForRoom

func (d *Database) EventCountForRoom(
	ctx context.Context, roomId string,
) (count int, err error)

func (*Database) EventNID

func (d *Database) EventNID(
	ctx context.Context, eventID string,
) (int64, error)

func (*Database) EventNIDs

func (d *Database) EventNIDs(
	ctx context.Context, eventIDs []string,
) (map[string]int64, error)

EventNIDs implements query.RoomserverQueryAPIDatabase

func (*Database) Events

func (d *Database) Events(
	ctx context.Context, eventNIDs []int64,
) ([]*gomatrixserverlib.Event, []int64, error)

Events implements input.EventDatabase

func (*Database) EventsCount

func (d *Database) EventsCount(ctx context.Context) (count int, err error)

func (*Database) FixCorruptRooms

func (d *Database) FixCorruptRooms()

func (*Database) GetAliasesFromRoomID

func (d *Database) GetAliasesFromRoomID(ctx context.Context, roomID string) ([]string, error)

GetAliasesFromRoomID implements alias.RoomserverAliasAPIDB

func (*Database) GetAllRooms

func (d *Database) GetAllRooms(ctx context.Context, limit, offset int) ([]roomservertypes.RoomNIDs, error)

func (*Database) GetDB

func (d *Database) GetDB() *sql.DB

func (*Database) GetMsgEventsMigration

func (d *Database) GetMsgEventsMigration(ctx context.Context, limit, offset int64) ([]int64, [][]byte, error)

func (*Database) GetMsgEventsTotalMigration

func (d *Database) GetMsgEventsTotalMigration(ctx context.Context) (int, int64, error)

func (*Database) GetRoomDomainsOffset

func (d *Database) GetRoomDomainsOffset(ctx context.Context, room_nid int64) ([]string, []int64, error)

func (*Database) GetRoomEventByNID

func (d *Database) GetRoomEventByNID(ctx context.Context, eventNID int64) ([]byte, error)

func (*Database) GetRoomEvents

func (d *Database) GetRoomEvents(ctx context.Context, roomNID int64) ([][]byte, error)

func (*Database) GetRoomEventsWithLimit

func (d *Database) GetRoomEventsWithLimit(ctx context.Context, roomNID int64, limit, offset int) ([]int64, [][]byte, error)

func (*Database) GetRoomIDFromAlias

func (d *Database) GetRoomIDFromAlias(ctx context.Context, alias string) (string, error)

GetRoomIDFromAlias implements alias.RoomserverAliasAPIDB

func (*Database) GetRoomStates

func (d *Database) GetRoomStates(
	ctx context.Context, roomID string,
) ([]*gomatrixserverlib.Event, []int64, error)

func (*Database) GetUserRooms

func (d *Database) GetUserRooms(
	ctx context.Context, uid string,
) ([]string, []string, []string, error)

func (*Database) InsertEvent

func (d *Database) InsertEvent(ctx context.Context, eventNID int64,
	roomNID int64,
	eventType string,
	eventStateKey string,
	eventID string,
	referenceSHA256 []byte,
	authEventNIDs []int64,
	depth int64,
	stateNID int64,
	refId string,
	refHash []byte,
	offset int64,
	domain string) error

func (*Database) InsertEventJSON

func (d *Database) InsertEventJSON(ctx context.Context, eventNID int64, eventJSON []byte, eventType string) error

func (*Database) InsertInvite

func (d *Database) InsertInvite(ctx context.Context, eventId string, roomNid int64, target, sender string, content []byte) error

func (*Database) InsertRoomNID

func (d *Database) InsertRoomNID(ctx context.Context, roomNID int64, roomID string) error

func (*Database) InsertStateRaw

func (d *Database) InsertStateRaw(
	ctx context.Context, stateNID int64, roomNID int64, nids []int64,
) (err error)

func (*Database) InviteUpdate

func (d *Database) InviteUpdate(ctx context.Context, roomNid int64, target string) error

func (*Database) LatestRoomEvent

func (d *Database) LatestRoomEvent(
	ctx context.Context, roomId string,
) (eventId string, err error)

func (*Database) LoadFilterData

func (d *Database) LoadFilterData(ctx context.Context, key string, f *filter.Filter) bool

func (*Database) MembershipForgetUpdate

func (d *Database) MembershipForgetUpdate(ctx context.Context, roomNid int64, target string, forgetNid int64) error

func (*Database) MembershipInsert

func (d *Database) MembershipInsert(ctx context.Context, roomNid int64, target, roomID string, membership, eventNID int64) error

func (*Database) MembershipUpdate

func (d *Database) MembershipUpdate(ctx context.Context, roomNid int64, target, sender string, membership, eventNID, version int64) error

func (*Database) OnUpdateRoomDepth

func (d *Database) OnUpdateRoomDepth(ctx context.Context, depth, roomNid int64) error

func (*Database) OnUpdateRoomEvent

func (d *Database) OnUpdateRoomEvent(ctx context.Context, eventNID, roomNID, depth, domainOffset int64, domain string) error

func (*Database) RecoverCache

func (d *Database) RecoverCache()

func (*Database) RemoveRoomAlias

func (d *Database) RemoveRoomAlias(ctx context.Context, alias string) error

RemoveRoomAlias implements alias.RoomserverAliasAPIDB

func (*Database) RoomDomainsInsertRaw

func (d *Database) RoomDomainsInsertRaw(ctx context.Context, room_nid int64, domain string, offset int64) error

func (*Database) RoomExists

func (d *Database) RoomExists(
	ctx context.Context, roomId string,
) (exists bool, err error)

func (*Database) RoomInfo

func (d *Database) RoomInfo(
	ctx context.Context, roomID string,
) (int64, int64, int64, error)

func (*Database) RoomNID

func (d *Database) RoomNID(ctx context.Context, roomID string) (roomservertypes.RoomNID, error)

RoomNID implements query.RoomserverQueryAPIDB

func (*Database) SaveRoomDomainsOffset

func (d *Database) SaveRoomDomainsOffset(ctx context.Context, room_nid int64, domain string, offset int64) error

func (*Database) SaveSettings

func (d *Database) SaveSettings(ctx context.Context, settingKey string, val string) error

func (*Database) SelectEventNidForBackfill

func (d *Database) SelectEventNidForBackfill(ctx context.Context, roomNID int64, domain string) (int64, error)

func (*Database) SelectEventStateSnapshotNID

func (d *Database) SelectEventStateSnapshotNID(ctx context.Context, eventID string) (int64, error)

func (Database) SelectRoomEventsByDomainOffset

func (d Database) SelectRoomEventsByDomainOffset(ctx context.Context, roomNID int64, domain string, domainOffset int64, limit int) ([]int64, error)

func (*Database) SelectRoomMaxDomainOffsets

func (d *Database) SelectRoomMaxDomainOffsets(ctx context.Context, roomNID int64) (domains, eventIDs []string, offsets []int64, err error)

func (*Database) SelectRoomStateNIDByStateBlockNID

func (d *Database) SelectRoomStateNIDByStateBlockNID(ctx context.Context, roomNID int64, stateBlockNID int64) ([]int64, []string, []string, []string, error)

func (*Database) SelectSettingKey

func (d *Database) SelectSettingKey(ctx context.Context, settingKey string) (string, error)

func (*Database) SelectState

func (d *Database) SelectState(
	ctx context.Context,
	snapshotNID int64,
) (int64, []int64, error)

func (*Database) SetGauge

func (d *Database) SetGauge(qryDBGauge mon.LabeledGauge)

func (*Database) SetIDGenerator

func (d *Database) SetIDGenerator(idg *uid.UidGenerator)

func (*Database) SetLatestEvents

func (d *Database) SetLatestEvents(
	ctx context.Context,
	roomNID int64, lastEventNIDSent, currentStateSnapshotNID, depth int64,
) error

func (*Database) SetRoomAlias

func (d *Database) SetRoomAlias(ctx context.Context, alias string, roomID string) error

SetRoomAlias implements alias.RoomserverAliasAPIDB

func (*Database) SetToForget

func (d *Database) SetToForget(
	ctx context.Context, roomNID int64,
	targetUser string, eventNID int64,
	pre, roomID string,
) error

func (*Database) SetToInvite

func (d *Database) SetToInvite(
	ctx context.Context, roomNID int64,
	targetUser, senderUserID, eventID string, json []byte,
	eventNID int64, pre, roomID string,
) error

func (*Database) SetToJoin

func (d *Database) SetToJoin(
	ctx context.Context, roomNID int64,
	targetUser, senderUserID string,
	eventNID int64, pre, roomID string,
) error

func (*Database) SetToLeave

func (d *Database) SetToLeave(
	ctx context.Context, roomNID int64,
	targetUser, senderUserID string,
	eventNID int64, pre, roomID string,
) error

func (*Database) SettingsInsertRaw

func (d *Database) SettingsInsertRaw(ctx context.Context, settingKey string, val string) error

func (*Database) StoreEvent

func (d *Database) StoreEvent(
	ctx context.Context, event *gomatrixserverlib.Event, roomNID, stateNID int64,
	refId string, refHash []byte,
) error

StoreEvent implements input.EventDatabase

func (*Database) UpdateLatestEventNIDs

func (d *Database) UpdateLatestEventNIDs(
	ctx context.Context,
	roomNID int64,
	eventNIDs []int64,
	lastEventSentNID int64,
	stateSnapshotNID int64,
	version int64,
	depth int64,
) error

func (*Database) UpdateMsgEventMigration

func (d *Database) UpdateMsgEventMigration(ctx context.Context, id int64, EncryptedEventBytes []byte) error

func (*Database) UpdateRoomDepth

func (d *Database) UpdateRoomDepth(ctx context.Context, depth, roomNid int64) error

func (*Database) UpdateRoomEvent

func (d *Database) UpdateRoomEvent(ctx context.Context, eventNID, roomNID, depth, domainOffset int64, domain string) error

func (*Database) WriteDBEvent

func (d *Database) WriteDBEvent(ctx context.Context, update *dbtypes.DBEvent) error

WriteOutputEvents implements OutputRoomEventWriter

func (*Database) WriteDBEventWithTbl

func (d *Database) WriteDBEventWithTbl(ctx context.Context, update *dbtypes.DBEvent, tbl string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL