Remove debug logging, add comments

This commit is contained in:
Neil Alexander 2021-01-19 12:30:55 +00:00
parent e4c504489c
commit 0142fa53cc
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -30,7 +30,6 @@ import (
"github.com/matrix-org/dendrite/internal/sqlutil" "github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/gomatrixserverlib" "github.com/matrix-org/gomatrixserverlib"
"github.com/sirupsen/logrus"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
) )
@ -140,6 +139,14 @@ func NewSqliteEventsTable(db *sql.DB, streamID *streamIDStatements) (tables.Even
return s, nil return s, nil
} }
// prepareWithFilters returns a prepared statement with the
// relevant filters included. It also includes an []interface{}
// list of all the relevant parameters to pass straight to
// QueryContext, QueryRowContext etc.
// We don't take the filter object directly here because the
// fields might come from either a StateFilter or an EventFilter,
// and it's easier just to have the caller extract the relevant
// parts.
func (s *outputRoomEventsStatements) prepareWithFilters( func (s *outputRoomEventsStatements) prepareWithFilters(
query string, params []interface{}, query string, params []interface{},
senders, notsenders, types, nottypes []string, senders, notsenders, types, nottypes []string,
@ -150,36 +157,33 @@ func (s *outputRoomEventsStatements) prepareWithFilters(
if count := len(senders); count > 0 { if count := len(senders); count > 0 {
filters += " AND sender IN " + sqlutil.QueryVariadicOffset(count, offset) filters += " AND sender IN " + sqlutil.QueryVariadicOffset(count, offset)
for _, v := range senders { for _, v := range senders {
params = append(params, v) params, offset = append(params, v), offset+1
offset++
} }
} }
if count := len(notsenders); count > 0 { if count := len(notsenders); count > 0 {
filters += " AND sender NOT IN " + sqlutil.QueryVariadicOffset(count, offset) filters += " AND sender NOT IN " + sqlutil.QueryVariadicOffset(count, offset)
for _, v := range notsenders { for _, v := range notsenders {
params = append(params, v) params, offset = append(params, v), offset+1
offset++
} }
} }
if count := len(types); count > 0 { if count := len(types); count > 0 {
filters += " AND type IN " + sqlutil.QueryVariadicOffset(count, offset) filters += " AND type IN " + sqlutil.QueryVariadicOffset(count, offset)
for _, v := range types { for _, v := range types {
params = append(params, v) params, offset = append(params, v), offset+1
offset++
} }
} }
if count := len(nottypes); count > 0 { if count := len(nottypes); count > 0 {
filters += " AND type NOT IN " + sqlutil.QueryVariadicOffset(count, offset) filters += " AND type NOT IN " + sqlutil.QueryVariadicOffset(count, offset)
for _, v := range nottypes { for _, v := range nottypes {
params = append(params, v) params, offset = append(params, v), offset+1
offset++
} }
} }
filters += " ORDER BY id " + order filters += " ORDER BY id " + order
filters += fmt.Sprintf(" LIMIT $%d", offset+1) filters += fmt.Sprintf(" LIMIT $%d", offset+1)
params = append(params, limit) params = append(params, limit)
query = strings.Replace(query, " $FILTERS", filters, 1) query = strings.Replace(query, " $FILTERS", filters, 1)
logrus.Infof("QUERY: %s", query)
stmt, err := s.db.Prepare(query) stmt, err := s.db.Prepare(query)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("s.db.Prepare: %w", err) return nil, nil, fmt.Errorf("s.db.Prepare: %w", err)