kasakrisz commented on a change in pull request #1676: URL: https://github.com/apache/hive/pull/1676#discussion_r530266544
########## File path: ql/src/test/results/clientpositive/llap/materialized_view_rewrite_window.q.out ########## @@ -166,7 +166,7 @@ POSTHOOK: Input: arc_view@wealth #### A masked pattern was here #### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC]) - HiveProject(quartile=[$0], total=[$1]) + HiveProject(quartile=[CAST($0):DECIMAL(12, 1)], total=[$1]) Review comment: The optimiziter rewrites this query to use materialized view `mv_tv_view_data_av1`. The plan of the mv with this patch is changed from ``` HiveTableScan(table=[[arc_view, mv_tv_view_data_av1]], table:alias=[mv_tv_view_data_av1]) ``` to ``` LogicalProject(quartile=[CAST($0):DECIMAL(12, 1)], total=[$1]) HiveTableScan(table=[[arc_view, mv_tv_view_data_av1]], table:alias=[mv_tv_view_data_av1]) ``` The mv definition contains a constant value cast to Decimal `cast(1.5 as decimal(9,4))` ``` create materialized view mv_tv_view_data_av1 stored as orc TBLPROPERTIES ('transactional'='true') as select t.quartile, max(t.total_views) total from wealth t2, (select total_views `total_views`, sum(cast(1.5 as decimal(9,4))) over (order by total_views) as quartile, program from tv_view_data) t where t.program=t2.watches group by quartile; ``` We need the project with the cast on top of the mv scan because the mv table schema is different than the query schema. RowTypes after the patch ``` viewscan rowType: RecordType(DECIMAL(12, 4) quartile, BIGINT total) queryRel rowType: RecordType(DECIMAL(12, 1) quartile, BIGINT $f1) ``` before the patch ``` viewscan rowType: RecordType(DECIMAL(12, 1) quartile, BIGINT total) queryRel rowType: RecordType(DECIMAL(12, 1) quartile, BIGINT $f1) ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org