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)