mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-07-29 12:42:46 +00:00
selectAccountDataByType return ClientEvent pointer instead of slice of ClientEvent (#798)
This pull request is an attempt to fix #773. Signed-off-by: Kouame Behouba Manassé behouba@gmail.com
This commit is contained in:
parent
7b454bdd27
commit
49fd47c863
4 changed files with 18 additions and 29 deletions
|
@ -120,28 +120,17 @@ func (s *accountDataStatements) selectAccountData(
|
|||
|
||||
func (s *accountDataStatements) selectAccountDataByType(
|
||||
ctx context.Context, localpart, roomID, dataType string,
|
||||
) (data []gomatrixserverlib.ClientEvent, err error) {
|
||||
data = []gomatrixserverlib.ClientEvent{}
|
||||
|
||||
) (data *gomatrixserverlib.ClientEvent, err error) {
|
||||
stmt := s.selectAccountDataByTypeStmt
|
||||
rows, err := stmt.QueryContext(ctx, localpart, roomID, dataType)
|
||||
if err != nil {
|
||||
var content []byte
|
||||
|
||||
if err = stmt.QueryRowContext(ctx, localpart, roomID, dataType).Scan(&content); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for rows.Next() {
|
||||
var content []byte
|
||||
|
||||
if err = rows.Scan(&content); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
ac := gomatrixserverlib.ClientEvent{
|
||||
Type: dataType,
|
||||
Content: content,
|
||||
}
|
||||
|
||||
data = append(data, ac)
|
||||
data = &gomatrixserverlib.ClientEvent{
|
||||
Type: dataType,
|
||||
Content: content,
|
||||
}
|
||||
|
||||
return
|
||||
|
|
|
@ -263,11 +263,11 @@ func (d *Database) GetAccountData(ctx context.Context, localpart string) (
|
|||
|
||||
// GetAccountDataByType returns account data matching a given
|
||||
// localpart, room ID and type.
|
||||
// If no account data could be found, returns an empty array
|
||||
// If no account data could be found, returns nil
|
||||
// Returns an error if there was an issue with the retrieval
|
||||
func (d *Database) GetAccountDataByType(
|
||||
ctx context.Context, localpart, roomID, dataType string,
|
||||
) (data []gomatrixserverlib.ClientEvent, err error) {
|
||||
) (data *gomatrixserverlib.ClientEvent, err error) {
|
||||
return d.accountDatas.selectAccountDataByType(
|
||||
ctx, localpart, roomID, dataType,
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue