[ https://issues.apache.org/jira/browse/HIVE-24274?focusedWorklogId=523191&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-523191 ]
ASF GitHub Bot logged work on HIVE-24274: ----------------------------------------- Author: ASF GitHub Bot Created on: 11/Dec/20 13:47 Start Date: 11/Dec/20 13:47 Worklog Time Spent: 10m Work Description: kasakrisz commented on a change in pull request #1706: URL: https://github.com/apache/hive/pull/1706#discussion_r540957859 ########## File path: ql/src/test/queries/clientnegative/materialized_view_no_cbo_rewrite.q ########## @@ -1,11 +0,0 @@ -set hive.support.concurrency=true; -set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; -set hive.strict.checks.cartesian.product=false; -set hive.materializedview.rewriting=true; - -create table cmv_basetable (a int, b varchar(256), c decimal(10,2)) -stored as orc TBLPROPERTIES ('transactional'='true'); - -insert into cmv_basetable values (1, 'alfred', 10.30),(2, 'bob', 3.14),(2, 'bonnie', 172342.2),(3, 'calvin', 978.76),(3, 'charlie', 9.8); - -create materialized view cmv_mat_view as select a, b, c from cmv_basetable sort by a; Review comment: Could you please describe this. I checked locally that If CBO is turned off materialized view creation will fail with `SemanticException: Cannot enable automatic rewriting for materialized view.` No matter what was the query definition. Should a general negative test be added? like ``` set hive.cbo.enable=false; create materialized view mat1 as select col from t; ``` I haven't found tests targeting this. ---------------------------------------------------------------- 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 Issue Time Tracking ------------------- Worklog Id: (was: 523191) Time Spent: 3h 40m (was: 3.5h) > Implement Query Text based MaterializedView rewrite > --------------------------------------------------- > > Key: HIVE-24274 > URL: https://issues.apache.org/jira/browse/HIVE-24274 > Project: Hive > Issue Type: Improvement > Reporter: Krisztian Kasa > Assignee: Krisztian Kasa > Priority: Major > Labels: pull-request-available > Time Spent: 3h 40m > Remaining Estimate: 0h > > Besides the way queries are currently rewritten to use materialized views in > Hive this project provides an alternative: > Compare the query text with the materialized views query text stored. If we > found a match the original query's logical plan can be replaced by a scan on > the materialized view. > - Only materialized views which are enabled to rewrite can participate > - Use existing *HiveMaterializedViewsRegistry* through *Hive* object by > adding a lookup method by query text. > - There might be more than one materialized views which have the same query > text. In this case chose the first valid one. > - Validation can be done by calling > *Hive.validateMaterializedViewsFromRegistry()* > - The scope of this first patch is rewriting queries which entire text can be > matched only. > - Use the expanded query text (fully qualified column and table names) for > comparing -- This message was sent by Atlassian Jira (v8.3.4#803005)