Closed angelilvy closed 2 years ago
which version?
@stdpain 我在 starrocks 2.0.7 也遇到了这个问题
@stdpain
遇到同样的问题,star rock 2.0.1 示例 SELECT event_day ,sum(ts) over(order by action rows between 7 preceding and 1 preceding) as rows1 ,sum(ts) over(order by action rows between 7 preceding and 1 preceding) as rows2 from ods_es.event_item where event_day = '2022-06-21' ': (1064, 'Vectorized engine does not support the operator')
@Allaitian @josh7 could give the explain costs + sql
result, thanks.
I have reproduced it. caused by a wrong plan.
+-----------------------------------------------------------------------------+
| Explain String |
+-----------------------------------------------------------------------------+
| PLAN FRAGMENT 0 |
| OUTPUT EXPRS:1: id_int | 13: sum(1: id_int) | 14: expr |
| PARTITION: UNPARTITIONED |
| |
| RESULT SINK |
| |
| 4:Project |
| | <slot 1> : 1: id_int |
| | <slot 13> : 13: sum(1: id_int) |
| | <slot 14> : sum(1: id_int) |
| | |
| 3:ANALYTIC |
| | functions: [, sum(1: id_int), ] |
| | order by: 6: id_float ASC |
| | window: ROWS BETWEEN 7 PRECEDING AND 1 PRECEDING |
| | |
| 2:MERGING-EXCHANGE |
| |
| PLAN FRAGMENT 1 |
| OUTPUT EXPRS: |
| PARTITION: RANDOM |
| |
| STREAM DATA SINK |
| EXCHANGE ID: 02 |
| UNPARTITIONED |
| |
| 1:SORT |
| | order by: <slot 6> 6: id_float ASC |
| | offset: 0 |
| | |
| 0:OlapScanNode |
| TABLE: test_basic |
| PREAGGREGATION: ON |
| partitions=1/1 |
| rollup: test_basic |
| tabletRatio=10/10 |
| tabletList=10007,10009,10011,10013,10015,10017,10019,10021,10023,10025 |
| cardinality=1 |
| avgRowSize=2.0 |
| numNodes=0 |
+-----------------------------------------------------------------------------+
known failed:
The root case is
CREATE TABLE `t0` (
`d1` int NULL COMMENT "",
`d2` int NULL COMMENT ""
) ENGINE=OLAP
UNIQUE KEY(`d1`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`d1`) BUCKETS 1
PROPERTIES (
"replication_num" = "1",
"in_memory" = "false",
"storage_format" = "DEFAULT"
);
select
sum(d1) over (order by d2 rows between unbounded preceding and current row) tmp_d1_1,
sum(d1) over (order by d2 rows between unbounded preceding and current row) tmp_d1_2
from t0;