Hi everyone! I'd like to share a Go library I've been working on over the past month. It's a simple query (or more specifically, filtering) language inspired by KQL (Kibana's query language) and GitHub's search syntax. It started as a project for a YouTube screencast about building small languages from scratch. However, I enjoyed the process so much that I decided to keep developing it beyond the scope of the video.
Key highlights:
- Field, boolean, one-of expressions
- Schema validation
- Easy integration with github.com/Masterminds/squirrel or directly with SQL drivers
- Struct matching: reflection-based (slower, but works immediately) or via code generation (faster)
I still have plenty of enhancements planned (tracked in the project's issues), but DumbQL is already quite usable. Feedback and contributions are very welcome!