contrueCT opened a new issue, #3093:
URL: https://github.com/apache/hugegraph/issues/3093
### Feature Description (功能描述)
## Background
PR #2994 keeps queries that combine a negative label predicate with
user-property
filters on the conservative no-index path. This prevents an index plan from
returning only the subset of labels that happen to have a compatible index.
## Problem
Consider:
```groovy
g.V().has(T.label, P.neq("author")).has("city", "Beijing")
```
The labels that can satisfy this query may include `person`, `fan`, and
follower. If only `person` has a `city` index, selecting that index returns
matching `person` vertices while silently omitting matching `fan` and
follower vertices.
An available partial index must never be used when it cannot produce a
complete
candidate set.
## Goal
Safely support negative-label predicates combined with property filters while
preserving complete query results.
## Requirements
- Determine all schema labels that can satisfy the negative-label predicate
and
- expose the queried property.
- Select an index plan only when every eligible label has compatible index
- coverage.
- When coverage is incomplete, either reject with `NoIndexException` or use
an
- explicitly bounded complete-scan plan.
- Never return a partial indexed subset as the query result.
- Preserve the current behavior of pure label predicates, for example:
- `g.V().has(T.label, P.neq("author"))`.
- Cover `neq`, `NOT_IN` / equivalent flattened predicates, and multi-label
- cases where only some labels are indexed.
- Add tests that verify no eligible label is skipped and that paging/limit
are
- applied only after a complete candidate set is established.
## Related
#2992
PR #2994
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]