MCPcopy Create free account
hub / github.com/daodst/chat / NewDatabase

Function NewDatabase

federationapi/storage/postgres/storage.go:39–114  ·  view source on GitHub ↗

NewDatabase opens a new database

(base *base.BaseDendrite, dbProperties *config.DatabaseOptions, cache caching.FederationCache, serverName gomatrixserverlib.ServerName)

Source from the content-addressed store, hash-verified

37
38// NewDatabase opens a new database
39func NewDatabase(base *base.BaseDendrite, dbProperties *config.DatabaseOptions, cache caching.FederationCache, serverName gomatrixserverlib.ServerName) (*Database, error) {
40 var d Database
41 var err error
42 if d.db, d.writer, err = base.DatabaseConnection(dbProperties, sqlutil.NewDummyWriter()); err != nil {
43 return nil, err
44 }
45 joinedHosts, err := NewPostgresJoinedHostsTable(d.db)
46 if err != nil {
47 return nil, err
48 }
49 queuePDUs, err := NewPostgresQueuePDUsTable(d.db)
50 if err != nil {
51 return nil, err
52 }
53 queueEDUs, err := NewPostgresQueueEDUsTable(d.db)
54 if err != nil {
55 return nil, err
56 }
57 queueJSON, err := NewPostgresQueueJSONTable(d.db)
58 if err != nil {
59 return nil, err
60 }
61 blacklist, err := NewPostgresBlacklistTable(d.db)
62 if err != nil {
63 return nil, err
64 }
65 inboundPeeks, err := NewPostgresInboundPeeksTable(d.db)
66 if err != nil {
67 return nil, err
68 }
69 outboundPeeks, err := NewPostgresOutboundPeeksTable(d.db)
70 if err != nil {
71 return nil, err
72 }
73 notaryJSON, err := NewPostgresNotaryServerKeysTable(d.db)
74 if err != nil {
75 return nil, fmt.Errorf("NewPostgresNotaryServerKeysTable: %s", err)
76 }
77 notaryMetadata, err := NewPostgresNotaryServerKeysMetadataTable(d.db)
78 if err != nil {
79 return nil, fmt.Errorf("NewPostgresNotaryServerKeysMetadataTable: %s", err)
80 }
81 serverSigningKeys, err := NewPostgresServerSigningKeysTable(d.db)
82 if err != nil {
83 return nil, err
84 }
85 m := sqlutil.NewMigrator(d.db)
86 m.AddMigrations(sqlutil.Migration{
87 Version: "federationsender: drop federationsender_rooms",
88 Up: deltas.UpRemoveRoomsTable,
89 })
90 err = m.Up(base.Context())
91 if err != nil {
92 return nil, err
93 }
94 if err = queueEDUs.Prepare(); err != nil {
95 return nil, err
96 }

Callers

nothing calls this directly

Tested by

no test coverage detected