Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Query Class Extend-able #55

Open
alexstandiford opened this issue Jun 26, 2020 · 5 comments
Open

Make Query Class Extend-able #55

alexstandiford opened this issue Jun 26, 2020 · 5 comments
Assignees
Labels
component-compare The Compare query class component-date The Date query class component-meta The Meta query class component-query The Query class type-feature Some new, cool, neat thing.
Milestone

Comments

@alexstandiford
Copy link
Collaborator

It would be really useful if it was possible to register different query processors into the Query class, similar to the Date class that exists now. This would allow plugin developers to seamlessly inject their own query extensions into the query class, and provide Query with the instructions necessary to run the query.

It would also give us a clear path on how to improve, and expand on BerlinDB's query functionality in the future. I'm thinking about issues like #50.

Right now, items like Date have to be hard-coded directly into the class to work, which obviously isn't ideal.

Another thing that would be nice about this, is when contributing to BerlinDB, pre-made libraries can be added, and even pitched to be put into core. This gives everyone a relatively easy way to test, and try out a new feature without needing to completely replace their installation of BerlinDB just to make it work.

@alexstandiford
Copy link
Collaborator Author

There's a fair amount of filtering in Query now that may make what I'm talking about possible, albeit in a different fashion.

@JJJ
Copy link
Collaborator

JJJ commented Jun 29, 2020

This makes a ton of sense!

I would love it if how the \Queries\ classes are used was abstracted out, into something that could just be registered, looped through, built-up, hooked in, and then parsed.

They are all starting to be similar enough now, where I think those patterns are emerging.

I am a big +1 on this.

@JJJ
Copy link
Collaborator

JJJ commented Jun 30, 2020

Resolving this issue requires #36 to be resolved first.

@JJJ JJJ added the type-task Something that needs to be done. label Jun 30, 2020
@JJJ JJJ added this to the 2.0.0 milestone Jun 30, 2020
@JJJ
Copy link
Collaborator

JJJ commented Jun 30, 2020

Marking this as a Task because it definitely should happen; the sooner the better.

@alexstandiford
Copy link
Collaborator Author

WIP PR: #60

@JJJ JJJ modified the milestones: 2.0.0, 2.1.0 Jul 15, 2021
@JJJ JJJ self-assigned this Sep 9, 2021
@JJJ JJJ added component-compare The Compare query class component-date The Date query class component-meta The Meta query class component-query The Query class type-feature Some new, cool, neat thing. and removed type-task Something that needs to be done. labels Sep 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component-compare The Compare query class component-date The Date query class component-meta The Meta query class component-query The Query class type-feature Some new, cool, neat thing.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants