relayer icon indicating copy to clipboard operation
relayer copied to clipboard

Queries with multiple e tags return no results on sqlite

Open bndw opened this issue 1 year ago • 8 comments

Single e tag works as expected

nostcat ws://localhost:9000
["REQ","RAND",{"kinds":[1],"#e":["8b1013c2d137bab5a7026e5adc65dcd641025c1a8ae2b7ecdec848cca44f1297"]}

Two values returns nothing:

nostcat ws://localhost:9000
["REQ","RAND",{"kinds":[1],"#e":["8b1013c2d137bab5a7026e5adc65dcd641025c1a8ae2b7ecdec848cca44f1297","e32f75bfce9513bab7c7e82b9a61fd56f80f68946a9d0a384f7f17989bd91f13"]}]

I suspect this has to do with the LIKE query generation. I will be working on a fix but if you can get it in quicker I'd gladly use that 😅

bndw avatar Apr 27 '23 02:04 bndw

The best fix would be to have a separate table for the tags to be queried.

What are you building? If you just want a simple sqlite-based relay for testing in the meantime I think you should probably use https://github.com/scsibug/nostr-rs-relay.

fiatjaf avatar Apr 27 '23 03:04 fiatjaf

https://www.stemstr.app/

The backend is a relay + a couple endpoints for streaming stuff. I liked the idea of relayer because I can effectively embed the relay in the api and have hooks into the various relay lifecycles. Do you know of any other relay frameworks in Go?

bndw avatar Apr 27 '23 03:04 bndw

No, I don't, I don't know of any other relay frameworks in any language except for this one!

Wow, stemstr.app is looking great!, but hey, if that is your use case you should use the Postgres backend.

fiatjaf avatar Apr 27 '23 03:04 fiatjaf

Thanks. I was planning to swap to the Postgres backend, I guess the time has come 😂

bndw avatar Apr 27 '23 03:04 bndw

I was able to reproduce this problem using the Postgres backend.

bndw avatar Apr 27 '23 05:04 bndw

No way.

fiatjaf avatar Apr 27 '23 10:04 fiatjaf

Well, I guess we should fix it now then.

fiatjaf avatar Apr 27 '23 10:04 fiatjaf

I apologize, after testing the Postgres backend again this morning I'm able to query by multiple #e tags. Too much debugging yesterday, sorry for the false alarm!

Almost certain this is a real issue in the sqlite backend.

bndw avatar Apr 27 '23 14:04 bndw