feat(backend/db): send metadata directly to db (removed from batches)

This commit is contained in:
Alexander Zavorotynskiy 2022-06-17 09:34:58 +02:00
parent 441f792679
commit a153547575
2 changed files with 6 additions and 7 deletions

View file

@ -1,6 +1,7 @@
package datasaver
import (
"fmt"
. "openreplay/backend/pkg/messages"
)
@ -8,7 +9,10 @@ func (mi *Saver) InsertMessage(sessionID uint64, msg Message) error {
switch m := msg.(type) {
// Common
case *Metadata:
return mi.pg.InsertMetadata(sessionID, m)
if err := mi.pg.InsertMetadata(sessionID, m); err != nil {
return fmt.Errorf("insert metadata err: %s", err)
}
return nil
case *IssueEvent:
return mi.pg.InsertIssueEvent(sessionID, m)
//TODO: message adapter (transformer) (at the level of pkg/message) for types: *IOSMetadata, *IOSIssueEvent and others

View file

@ -164,12 +164,7 @@ func (conn *Conn) InsertMetadata(sessionID uint64, keyNo uint, value string) err
sqlRequest := `
UPDATE sessions SET metadata_%v = $1
WHERE session_id = $2`
conn.batchQueue(sessionID, fmt.Sprintf(sqlRequest, keyNo), value, sessionID)
// conn.insertAutocompleteValue(sessionID, "METADATA", value)
// Record approximate message size
conn.updateBatchSize(sessionID, len(sqlRequest)+len(value)+8*2)
return nil
return conn.exec(fmt.Sprintf(sqlRequest, keyNo), value, sessionID)
}
func (conn *Conn) InsertIssueEvent(sessionID uint64, projectID uint32, e *messages.IssueEvent) error {