mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-01 03:03:10 -06:00
Update query, use "from" as the initial lastPos
This commit is contained in:
parent
8be4762ff3
commit
5fab731c64
|
|
@ -73,8 +73,8 @@ const selectMaxPresenceSQL = "" +
|
|||
const selectPresenceAfter = "" +
|
||||
" SELECT id, user_id, presence, status_msg, last_active_ts" +
|
||||
" FROM syncapi_presence" +
|
||||
" WHERE id > $1 AND last_active_ts > $2" +
|
||||
" ORDER BY id DESC, last_active_ts DESC LIMIT $3"
|
||||
" WHERE id > $1 AND last_active_ts >= $2" +
|
||||
" ORDER BY id ASC LIMIT $3"
|
||||
|
||||
type presenceStatements struct {
|
||||
upsertPresenceStmt *sql.Stmt
|
||||
|
|
@ -150,7 +150,7 @@ func (p *presenceStatements) GetPresenceAfter(
|
|||
) (presences map[string]*types.PresenceInternal, err error) {
|
||||
presences = make(map[string]*types.PresenceInternal)
|
||||
stmt := sqlutil.TxStmt(txn, p.selectPresenceAfterStmt)
|
||||
afterTS := gomatrixserverlib.AsTimestamp(time.Now().Add(-time.Minute * 5))
|
||||
afterTS := gomatrixserverlib.AsTimestamp(time.Now().Add(time.Minute * -5))
|
||||
rows, err := stmt.QueryContext(ctx, after, afterTS, filter.Limit)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -72,8 +72,8 @@ const selectMaxPresenceSQL = "" +
|
|||
const selectPresenceAfter = "" +
|
||||
" SELECT id, user_id, presence, status_msg, last_active_ts" +
|
||||
" FROM syncapi_presence" +
|
||||
" WHERE id > $1 AND last_active_ts > $2" +
|
||||
" ORDER BY id DESC, last_active_ts DESC LIMIT $3"
|
||||
" WHERE id > $1 AND last_active_ts >= $2" +
|
||||
" ORDER BY id ASC LIMIT $3"
|
||||
|
||||
type presenceStatements struct {
|
||||
db *sql.DB
|
||||
|
|
@ -164,7 +164,7 @@ func (p *presenceStatements) GetPresenceAfter(
|
|||
) (presences map[string]*types.PresenceInternal, err error) {
|
||||
presences = make(map[string]*types.PresenceInternal)
|
||||
stmt := sqlutil.TxStmt(txn, p.selectPresenceAfterStmt)
|
||||
afterTS := gomatrixserverlib.AsTimestamp(time.Now().Add(-time.Minute * 5))
|
||||
afterTS := gomatrixserverlib.AsTimestamp(time.Now().Add(time.Minute * -5))
|
||||
rows, err := stmt.QueryContext(ctx, after, afterTS, filter.Limit)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ func (p *PresenceStreamProvider) IncrementalSync(
|
|||
}
|
||||
}
|
||||
|
||||
lastPos := to
|
||||
lastPos := from
|
||||
for _, presence := range presences {
|
||||
if presence == nil {
|
||||
continue
|
||||
|
|
|
|||
Loading…
Reference in a new issue