Csaba Ringhofer created IMPALA-14577:
----------------------------------------

             Summary: Try bounding rect check on x/y cols directly in 
st_point(x,y)
                 Key: IMPALA-14577
                 URL: https://issues.apache.org/jira/browse/IMPALA-14577
             Project: IMPALA
          Issue Type: Sub-task
            Reporter: Csaba Ringhofer


Example:
{code}
st_intersect(CONST_GEOM, st_point(x, y))
     -> infer predicate:
x >= st_minx(CONST_GEOM) AND y >= st_minx(CONST_GEOM) AND
x <= st_maxx(CONST_GEOM) AND y <= st_maxy(CONST_GEOM) AND
st_intersect(CONST_GEOM, st_point(x, y))
{code}

with IMPALA-14576 it would be also possible to do this by rewriting 
st_envIntersects:
{code}
st_intersect(CONST_GEOM, st_point(x, y))
     -> add st_envIntersects:
st_envIntersects(CONST_GEOM, st_point(x, y)) AND
st_intersect(CONST_GEOM, st_point(x, y))
    -> rewrite st_envIntersects
x >= st_minx(CONST_GEOM) AND y >= st_minx(CONST_GEOM) AND
x <= st_maxx(CONST_GEOM) AND y <= st_maxy(CONST_GEOM) AND
st_intersect(CONST_GEOM, st_point(x, y))
{code}

Doing <=  /  >= on coordinate columns directly allows using min/max filtering, 
so bounding box check can be also done at file/page level.
With IMPALA-14123 it also possible to ensure that these predicates are always 
pushed down to Iceberg.





--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to