datawave icon indicating copy to clipboard operation
datawave copied to clipboard

Coalesce Similar Marker Nodes Within Junctions

Open apmoriarty opened this issue 4 years ago • 0 comments

We may want to consider coalescing similar marker nodes within junctions at some point in the future.

# coalesce delayed predicates within a union
A == '1' || ((_Delayed_ = true) && (B == '2')) || ((_Delayed_ = true) && (C == '3'))
..should coalesce to..
A =~ '1.*' || ((_Delayed_ = true) && (B == '2.*' || C == '3.*'))
# coalesce value exceeded markers within an intersection
A =~ '1.*' && ((_Value_ = true) && (B =~ '2.*')) && ((_Value_ = true) && (C =~ '3.*'))
..should coalesce to..
A =~ '1.*' && ((_Value_ = true) && (B =~ '2.*' && C =~ '3.*'))

Some implications

  • this would change how we pull up and pushdown query terms
  • the iterator building visitor makes assumptions about certain query property markers only having a single-term source
  • bounded ranges

apmoriarty avatar Sep 29 '21 09:09 apmoriarty