@@ -4099,37 +4099,43 @@ async fn planning_topk_having(service: Box<dyn SqlClient>) {
40994099 \n Empty"
41004100 ) ;
41014101
4102- let p = service
4103- . plan_query (
4104- "SELECT `url` `url`, SUM(`hits`) `hits`, CARDINALITY(MERGE(`uhits`)) `uhits` \
4102+ let query = "SELECT `url` `url`, SUM(`hits`) `hits`, CARDINALITY(MERGE(`uhits`)) `uhits` \
41054103 FROM (SELECT * FROM s.Data1 \
41064104 UNION ALL \
41074105 SELECT * FROM s.Data2) AS `Data` \
41084106 GROUP BY 1 \
41094107 HAVING SUM(`hits`) > 10 AND CARDINALITY(MERGE(`uhits`)) > 5 \
41104108 ORDER BY 2 DESC \
4111- LIMIT 3",
4109+ LIMIT 3";
4110+ let p = service
4111+ . plan_query (
4112+ query,
41124113 )
41134114 . await
41144115 . unwrap ( ) ;
41154116 let mut show_hints = PPOptions :: default ( ) ;
41164117 show_hints. show_filters = true ;
41174118 assert_eq ! (
41184119 pp_phys_plan_ext( p. worker. as_ref( ) , & show_hints) ,
4119- "Projection, [url, SUM(Data.hits)@1:hits, CARDINALITY(MERGE(Data.uhits)@2):uhits]\
4120- \n AggregateTopK, limit: 3, having: SUM(Data.hits)@1 > 10 AND CAST(CARDINALITY(MERGE(Data.uhits)@2) AS Int64) > 5\
4121- \n Worker\
4122- \n Sort\
4123- \n FullInplaceAggregate\
4124- \n MergeSort\
4125- \n Union\
4126- \n MergeSort\
4127- \n Scan, index: default:1:[1]:sort_on[url], fields: *\
4128- \n Empty\
4129- \n MergeSort\
4130- \n Scan, index: default:2:[2]:sort_on[url], fields: *\
4131- \n Empty"
4120+
4121+ "Projection, [url, hits, CARDINALITY(MERGE(Data.uhits)@2):uhits]\
4122+ \n Projection, [url, SUM(Data.hits)@1:hits, MERGE(Data.uhits)@2:MERGE(uhits)]\
4123+ \n AggregateTopK, limit: 3, having: SUM(Data.hits)@1 > 10 AND CAST(CARDINALITY(MERGE(Data.uhits)@2) AS Int64) > 5\
4124+ \n Worker\
4125+ \n Sort\
4126+ \n FullInplaceAggregate\
4127+ \n MergeSort\
4128+ \n Union\
4129+ \n MergeSort\
4130+ \n Scan, index: default:1:[1]:sort_on[url], fields: *\
4131+ \n Empty\
4132+ \n MergeSort\
4133+ \n Scan, index: default:2:[2]:sort_on[url], fields: *\
4134+ \n Empty"
41324135 ) ;
4136+
4137+ let result = service. exec_query ( query) . await . unwrap ( ) ;
4138+ assert_eq ! ( result. len( ) , 0 ) ;
41334139}
41344140async fn planning_topk_hll ( service : Box < dyn SqlClient > ) {
41354141 service. exec_query ( "CREATE SCHEMA s" ) . await . unwrap ( ) ;
0 commit comments