Homestyx hydra
Diffusion hydra 0511b2a0129e

Implement the "present" and "absent" operators in the Ferret execution engine

Description

Implement the "present" and "absent" operators in the Ferret execution engine

Summary:
Ref T13509. Now that the compiler can parse these queries, actually implement them.

These are fairly easy to implement:

  • For present, just "JOIN". If it works, the field is present.
  • For absent, we "LEFT JOIN" and then "WHERE any_column IS NULL".

Test Plan: Searched for various documents with and without fields present, got sensible results in Maniphest. For example, "body:-" finds tasks with no body, "body:- duck" finds tasks with no body and "duck" elsewhere in the content, and so on.

Maniphest Tasks: T13509

Differential Revision: https://secure.phabricator.com/D21110

Details

Provenance
epriestleyAuthored on Apr 14 2020, 12:42 PM
sirocylPushed on Oct 16 2024, 5:49 AM
Parents
R1:143f86d60b5a: Tighten query compiler rules around spaces inside and after operators
Branches
Unknown
Tags
Unknown

Event Timeline