mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-16 18:43:10 -06:00
Fix SQLite
This commit is contained in:
parent
621326a5d6
commit
ea2e5b132a
|
|
@ -23,7 +23,6 @@ import (
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/lib/pq"
|
|
||||||
"github.com/matrix-org/gomatrixserverlib"
|
"github.com/matrix-org/gomatrixserverlib"
|
||||||
|
|
||||||
"github.com/matrix-org/dendrite/internal"
|
"github.com/matrix-org/dendrite/internal"
|
||||||
|
|
@ -60,7 +59,7 @@ const selectEventSQL = "" +
|
||||||
"SELECT event_nid, state_snapshot_nid FROM roomserver_events WHERE event_id = $1"
|
"SELECT event_nid, state_snapshot_nid FROM roomserver_events WHERE event_id = $1"
|
||||||
|
|
||||||
const bulkSelectSnapshotsForEventIDsSQL = "" +
|
const bulkSelectSnapshotsForEventIDsSQL = "" +
|
||||||
"SELECT event_id, state_snapshot_nid FROM roomserver_events WHERE event_id = ANY($1)"
|
"SELECT event_id, state_snapshot_nid FROM roomserver_events WHERE event_id IN ($1)"
|
||||||
|
|
||||||
// Bulk lookup of events by string ID.
|
// Bulk lookup of events by string ID.
|
||||||
// Sort by the numeric IDs for event type and state key.
|
// Sort by the numeric IDs for event type and state key.
|
||||||
|
|
@ -213,12 +212,23 @@ func (s *eventStatements) SelectEvent(
|
||||||
func (s *eventStatements) BulkSelectSnapshotsFromEventIDs(
|
func (s *eventStatements) BulkSelectSnapshotsFromEventIDs(
|
||||||
ctx context.Context, txn *sql.Tx, eventIDs []string,
|
ctx context.Context, txn *sql.Tx, eventIDs []string,
|
||||||
) (map[types.StateSnapshotNID][]string, error) {
|
) (map[types.StateSnapshotNID][]string, error) {
|
||||||
stmt := sqlutil.TxStmt(txn, s.bulkSelectSnapshotsForEventIDsStmt)
|
qry := strings.Replace(bulkSelectSnapshotsForEventIDsSQL, "($1)", sqlutil.QueryVariadic(len(eventIDs)), 1)
|
||||||
|
stmt, err := s.db.Prepare(qry)
|
||||||
rows, err := stmt.QueryContext(ctx, pq.Array(eventIDs))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
defer internal.CloseAndLogIfError(ctx, stmt, "BulkSelectSnapshotsFromEventIDs: stmt.close() failed")
|
||||||
|
|
||||||
|
params := make([]interface{}, len(eventIDs))
|
||||||
|
for i := range eventIDs {
|
||||||
|
params[i] = eventIDs[i]
|
||||||
|
}
|
||||||
|
|
||||||
|
rows, err := stmt.QueryContext(ctx, params...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer internal.CloseAndLogIfError(ctx, rows, "BulkSelectSnapshotsFromEventIDs: rows.close() failed")
|
||||||
|
|
||||||
var eventID string
|
var eventID string
|
||||||
var stateNID types.StateSnapshotNID
|
var stateNID types.StateSnapshotNID
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue