-
New Feature
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
Queries come in two kinds:
- one-shot
- multi-shot
- no-shot
Well, we do not care about the last one
At any rate, having an initial go at the Query, esp. with an EffectiveModelContext, we can prepare a match tree, so that things like wildcards are pre-marked, including map-leaf searches. The upshot is that:
- we can perform schema-based validation and prune impossibilities (or warn, or throw on them)
- we can optimize matches, i.e. realize when a query's predicates combine into a key equality: then we turn the query into a key-based lookup and a single match
- we end up with beginnings of an 'query plan'
- query evaluation has less logic, as knows ahead of time to distinct between direct lookups and searches
The capability is especially important for multi-shot queries in a distributed environment: query preparation can transfer the query to the remote system and let it deal with much of the above. Subsequent executions do not need to transfer the query to the remote system.
- split from
-
MDSAL-50 Make MD-SAL Searchable
- Confirmed