Skip to content

fix(base-query): only register in objectByClass when type opts in via @Indexable#81

Merged
deer merged 1 commit into
mainfrom
query_limited
May 19, 2026
Merged

fix(base-query): only register in objectByClass when type opts in via @Indexable#81
deer merged 1 commit into
mainfrom
query_limited

Conversation

@deer

@deer deer commented May 19, 2026

Copy link
Copy Markdown
Collaborator
  • Commit 9598b3 over-corrected a bug fix by removing the @Indexable guard on objectByClass entirely, causing every indexed object to be registered in class-membership regardless of whether its class declared any indexable fields. The correct rule is: a type participates in class-membership if it carries @Indexable at the class level or has at least one @Indexable function field.
  • objectByClass is now populated after the function-map loops in index(), and removed after the function-map loops in unindex(), so that a thrown exception during function processing leaves objectByClass in a consistent state — the two methods are now symmetric.
  • Added three regression tests to IndexCompatibilityTests: plain types (no @Indexable anywhere) are excluded from class-membership; function-field-only types are included; and a failed index() call leaves objectByClass clean.

@deer deer merged commit c4ac5f2 into main May 19, 2026
3 checks passed
@deer deer deleted the query_limited branch May 19, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant