@@ -76,8 +76,8 @@ impl SQLiteDatabase {
76
76
let mut rows = stmt. query ( [ ] ) ?;
77
77
let mut events = BTreeSet :: new ( ) ;
78
78
while let Ok ( Some ( row) ) = rows. next ( ) {
79
- let buf: Vec < u8 > = row. get ( 0 ) ?;
80
- let raw = TempEvent :: decode ( & buf) ?;
79
+ let buf: & [ u8 ] = row. get_ref ( 0 ) ? . as_bytes ( ) ?;
80
+ let raw = TempEvent :: decode ( buf) ?;
81
81
events. insert ( raw) ;
82
82
}
83
83
Ok :: < BTreeSet < TempEvent > , Error > ( events)
@@ -269,8 +269,8 @@ impl NostrDatabase for SQLiteDatabase {
269
269
let mut rows = stmt. query ( [ event_id. to_hex ( ) ] ) ?;
270
270
let mut relays = HashSet :: new ( ) ;
271
271
while let Ok ( Some ( row) ) = rows. next ( ) {
272
- let url: String = row. get ( 0 ) ?;
273
- relays. insert ( Url :: parse ( & url) ?) ;
272
+ let url: & str = row. get_ref ( 0 ) ? . as_str ( ) ?;
273
+ relays. insert ( Url :: parse ( url) ?) ;
274
274
}
275
275
Ok ( Some ( relays) )
276
276
} )
@@ -287,12 +287,13 @@ impl NostrDatabase for SQLiteDatabase {
287
287
let row = rows
288
288
. next ( ) ?
289
289
. ok_or_else ( || Error :: NotFound ( "event" . into ( ) ) ) ?;
290
- let buf: Vec < u8 > = row. get ( 0 ) ?;
291
- Ok ( Event :: decode ( & buf) ?)
290
+ let buf: & [ u8 ] = row. get_ref ( 0 ) ? . as_bytes ( ) ?;
291
+ Ok ( Event :: decode ( buf) ?)
292
292
} )
293
293
. await ?
294
294
}
295
295
296
+ #[ inline]
296
297
#[ tracing:: instrument( skip_all, level = "trace" ) ]
297
298
async fn count ( & self , filters : Vec < Filter > ) -> Result < usize , Self :: Err > {
298
299
Ok ( self . indexes . count ( filters) . await )
@@ -303,21 +304,22 @@ impl NostrDatabase for SQLiteDatabase {
303
304
let ids: Vec < EventId > = self . indexes . query ( filters, order) . await ;
304
305
self . pool
305
306
. interact ( move |conn| {
306
- let mut events = Vec :: with_capacity ( ids. len ( ) ) ;
307
+ let mut events: Vec < Event > = Vec :: with_capacity ( ids. len ( ) ) ;
307
308
let mut stmt =
308
309
conn. prepare_cached ( "SELECT event FROM events WHERE event_id = ?;" ) ?;
309
310
for id in ids. into_iter ( ) {
310
311
let mut rows = stmt. query ( [ id. to_hex ( ) ] ) ?;
311
312
while let Ok ( Some ( row) ) = rows. next ( ) {
312
- let buf: Vec < u8 > = row. get ( 0 ) ?;
313
- events. push ( Event :: decode ( & buf) ?) ;
313
+ let buf: & [ u8 ] = row. get_ref ( 0 ) ? . as_bytes ( ) ?;
314
+ events. push ( Event :: decode ( buf) ?) ;
314
315
}
315
316
}
316
317
Ok ( events)
317
318
} )
318
319
. await ?
319
320
}
320
321
322
+ #[ inline]
321
323
async fn event_ids_by_filters (
322
324
& self ,
323
325
filters : Vec < Filter > ,
@@ -326,6 +328,7 @@ impl NostrDatabase for SQLiteDatabase {
326
328
Ok ( self . indexes . query ( filters, order) . await )
327
329
}
328
330
331
+ #[ inline]
329
332
async fn negentropy_items (
330
333
& self ,
331
334
filter : Filter ,
0 commit comments