berlindb / core

All of the required core code
MIT License
253 stars 27 forks source link

Issue/55 - Make Query Class Extend-able #60

Closed alexstandiford closed 3 years ago

alexstandiford commented 4 years ago

This is totally not event close to being finished, but I wanted to submit some of my initial thoughts about how this could be put together. This is mostly intended to spark discussion and thoughts about how it can be handled moving forward.

Basically, to register a custom query processor, you would extend Query_Processor, and register that processor to the registry. This is currently done via a filter that runs each time the registry is constructed.

The query class would then loop through the registered items while parsing important parts of the query, such as select, where, join, group_by, etc.

In this PR I have set up a rough idea on what I think join and where could be.

This has not been tested in any fashion - just mostly focusing in on the "big conversations" about how the system could be structured.

Issue #55