mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-07 06:53:09 -06:00
Rework the assign.*NID again
This commit is contained in:
parent
1d5b573a3f
commit
e0df08f4f1
|
|
@ -182,10 +182,6 @@ func (s *statements) insertEventTypeNID(eventType string) (eventTypeNID int64, e
|
|||
|
||||
func (s *statements) selectEventTypeNID(eventType string) (eventTypeNID int64, err error) {
|
||||
err = s.selectEventTypeNIDStmt.QueryRow(eventType).Scan(&eventTypeNID)
|
||||
if err == sql.ErrNoRows {
|
||||
eventTypeNID = 0
|
||||
err = nil
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -241,10 +237,6 @@ func (s *statements) insertEventStateKeyNID(eventStateKey string) (eventStateKey
|
|||
|
||||
func (s *statements) selectEventStateKeyNID(eventStateKey string) (eventStateKeyNID int64, err error) {
|
||||
err = s.selectEventStateKeyNIDStmt.QueryRow(eventStateKey).Scan(&eventStateKeyNID)
|
||||
if err == sql.ErrNoRows {
|
||||
eventStateKeyNID = 0
|
||||
err = nil
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -289,10 +281,6 @@ func (s *statements) insertRoomNID(roomID string) (roomNID int64, err error) {
|
|||
|
||||
func (s *statements) selectRoomNID(roomID string) (roomNID int64, err error) {
|
||||
err = s.selectRoomNIDStmt.QueryRow(roomID).Scan(&roomNID)
|
||||
if err == sql.ErrNoRows {
|
||||
roomNID = 0
|
||||
err = nil
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -78,34 +78,40 @@ func (d *Database) StoreEvent(event gomatrixserverlib.Event) error {
|
|||
}
|
||||
|
||||
func (d *Database) assignRoomNID(roomID string) (int64, error) {
|
||||
// Check if we already have a numeric ID in the database.
|
||||
roomNID, err := d.statements.selectRoomNID(roomID)
|
||||
if err == sql.ErrNoRows {
|
||||
// We don't have a numeric ID so insert one into the database.
|
||||
return d.statements.insertRoomNID(roomID)
|
||||
}
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if roomNID == 0 {
|
||||
return d.statements.insertRoomNID(roomID)
|
||||
}
|
||||
return roomNID, nil
|
||||
}
|
||||
|
||||
func (d *Database) assignEventTypeNID(eventType string) (int64, error) {
|
||||
// Check if we already have a numeric ID in the database.
|
||||
eventTypeNID, err := d.statements.selectEventTypeNID(eventType)
|
||||
if err == sql.ErrNoRows {
|
||||
// We don't have a numeric ID so insert one into the database.
|
||||
return d.statements.insertEventTypeNID(eventType)
|
||||
}
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if eventTypeNID == 0 {
|
||||
return d.statements.insertEventTypeNID(eventType)
|
||||
}
|
||||
return eventTypeNID, nil
|
||||
}
|
||||
|
||||
func (d *Database) assignStateKeyNID(eventStateKey string) (int64, error) {
|
||||
// Check if we already have a numeric ID in the database.
|
||||
eventStateKeyNID, err := d.statements.selectEventStateKeyNID(eventStateKey)
|
||||
if err == sql.ErrNoRows {
|
||||
// We don't have a numeric ID so insert one into the database.
|
||||
return d.statements.insertEventStateKeyNID(eventStateKey)
|
||||
}
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if eventStateKeyNID == 0 {
|
||||
return d.statements.insertEventStateKeyNID(eventStateKey)
|
||||
}
|
||||
return eventStateKeyNID, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue