Kyle Weaver created BEAM-12331:
----------------------------------
Summary: Analytic functions can't be planned with filter.
Key: BEAM-12331
URL: https://issues.apache.org/jira/browse/BEAM-12331
Project: Beam
Issue Type: Bug
Components: dsl-sql
Reporter: Kyle Weaver
Example query: "SELECT item, purchases, category, sum(purchases) over
(PARTITION BY category ORDER BY purchases ROWS BETWEEN UNBOUNDED PRECEDING AND
CURRENT ROW) as total_purchases FROM PCOLLECTION WHERE purchases > 3"
Caused by:
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptPlanner$CannotPlanException:
*There are not enough rules to produce a node with desired properties:*
convention=BEAM_LOGICAL. All the inputs have relevant nodes, however the cost
is still infinite.
Root: rel#11:Subset#2.BEAM_LOGICAL
Original rel:
LogicalProject(subset=[rel#11:Subset#2.BEAM_LOGICAL], item=[$0],
purchases=[$2], category=[$1], total_purchases=[SUM($2) OVER (PARTITION BY $1
ORDER BY $2 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)]): rowcount =
50.0, cumulative cost = \{inf}, id = 9
LogicalFilter(subset=[rel#8:Subset#1.NONE], condition=[>($2, 3)]): rowcount =
50.0, cumulative cost = \{inf}, id = 7
BeamIOSourceRel(subset=[rel#6:Subset#0.BEAM_LOGICAL], table=[[beam,
PCOLLECTION]]): rowcount = 100.0, cumulative cost = \{100.0 cpu, 0.0 cpuRate },
id = 3
--
This message was sent by Atlassian Jira
(v8.3.4#803005)