Don't index ephemeral events

This commit is contained in:
Mike Dilger 2024-02-15 22:47:58 +13:00
parent 609aa66b4d
commit 4cfc8a0074

View File

@ -86,46 +86,49 @@ impl Store {
if self.ids.get(&txn, event.id().0.as_slice())?.is_none() { if self.ids.get(&txn, event.id().0.as_slice())?.is_none() {
offset = self.events.store_event(event)?; offset = self.events.store_event(event)?;
// Index by id // Do not index ephemeral events
self.ids.put(&mut txn, event.id().0.as_slice(), &offset)?; if !event.kind().is_ephemeral() {
// Index by id
self.ids.put(&mut txn, event.id().0.as_slice(), &offset)?;
// Index by author and kind (with created_at and id) // Index by author and kind (with created_at and id)
self.akci.put( self.akci.put(
&mut txn, &mut txn,
&Self::key_akci(event.pubkey(), event.kind(), event.created_at(), event.id()), &Self::key_akci(event.pubkey(), event.kind(), event.created_at(), event.id()),
&offset, &offset,
)?; )?;
for mut tsi in event.tags()?.iter() { for mut tsi in event.tags()?.iter() {
if let Some(tagname) = tsi.next() { if let Some(tagname) = tsi.next() {
// FIXME make sure it is a letter too // FIXME make sure it is a letter too
if tagname.len() == 1 { if tagname.len() == 1 {
if let Some(tagvalue) = tsi.next() { if let Some(tagvalue) = tsi.next() {
// Index by author and tag (with created_at and id) // Index by author and tag (with created_at and id)
self.atci.put( self.atci.put(
&mut txn, &mut txn,
&Self::key_atci( &Self::key_atci(
event.pubkey(), event.pubkey(),
tagname[0], tagname[0],
tagvalue, tagvalue,
event.created_at(), event.created_at(),
event.id(), event.id(),
), ),
&offset, &offset,
)?; )?;
// Index by kind and tag (with created_at and id) // Index by kind and tag (with created_at and id)
self.ktci.put( self.ktci.put(
&mut txn, &mut txn,
&Self::key_ktci( &Self::key_ktci(
event.kind(), event.kind(),
tagname[0], tagname[0],
tagvalue, tagvalue,
event.created_at(), event.created_at(),
event.id(), event.id(),
), ),
&offset, &offset,
)?; )?;
}
} }
} }
} }