Some protection for empty sets passed to ... IN (?) queries...

This commit is contained in:
Denis Arh
2018-12-12 13:32:58 +01:00
parent 6204c7ffdf
commit 93f8eed8f3
2 changed files with 8 additions and 0 deletions
+4
View File
@@ -199,6 +199,10 @@ func (r *message) PrefillThreadParticipants(mm types.MessageSet) error {
UserID uint64 `db:"rel_user"`
}{}
if len(mm) == 0 {
return nil
}
if sql, args, err := sqlx.In(sqlThreadParticipantsByMessageID, mm.IDs()); err != nil {
return err
} else if err = r.db().Select(&rval, sql, args...); err != nil {
+4
View File
@@ -63,6 +63,10 @@ func (r *messageFlag) FindByFlag(messageID, userID uint64, flag string) (*types.
func (r *messageFlag) FindByMessageIDs(IDs ...uint64) ([]*types.MessageFlag, error) {
rval := make([]*types.MessageFlag, 0)
if len(IDs) == 0 {
return rval, nil
}
sql := `SELECT * FROM message_flags WHERE rel_message IN (?)`
if sql, args, err := sqlx.In(sql, IDs); err != nil {