Title
#share-your-work
Mariano Guerra

Mariano Guerra

02/18/2022, 9:22 AM
I added
ORDER BY
and
LIMIT
to the Firestore query parser and I decided to create a playground for it: - Run queries - Load examples - See intermediate representations https://instadeq.github.io/firestore-query-parser-js/playground.html

https://www.youtube.com/watch?v=vgkMPdwBcS8

Tom Larkworthy

Tom Larkworthy

02/18/2022, 12:35 PM
FWIW the most powerful and least understood semantics are the 'in' and 'array-contains-any', this is how you can do something similar to SQL joins efficiently.
12:37 PM
maybe you could translate SQL joins to clientside joins
Mariano Guerra

Mariano Guerra

02/18/2022, 12:37 PM
array operators are supported in the language
Tom Larkworthy

Tom Larkworthy

02/18/2022, 12:38 PM
wait what are you building?
12:40 PM
oh yeah cool
a == 4 and b in ["r"] and c < 4.5 ORDER BY a, b DESC, c ASC LIMIT 5
Mariano Guerra

Mariano Guerra

02/18/2022, 12:47 PM
we are adding firestore as a source on instadeq and until we have a visual query builder we needed a concise way to express queries, that's why I build this, it's just a way to take a query in and apply it to the firestore object
12:48 PM
at some point I will implement the visual query builder and this one will dissapear from the UI
Tom Larkworthy

Tom Larkworthy

02/18/2022, 12:50 PM
yeah like a SQL translation layer, yeah, thats cool!
4:11 AM
BTW this popped up recently which seems to be trying to normalize access to DBs too https://observablehq.com/@observablehq/database-client-specification this is so their data cell query UI can hit multiple DB techs