Description
In some cases, queries may get executed with where condition mentioning to "1=0" to get schema. E.g
SELECT * FROM table_with_millions_of_partitions WHERE 1=0
In actual production, it likes:
SELECT * FROM table_with_millions_of_partitions WHERE partition_col1 = value1 and partition_col2 = value2 and if(some conditions, true, false)
When the cbo optimizer optimizes the execution plan of this query, the cbo optimizer will get all the partitions of table_with_millions_of_partitions. This seems useless and causes hiveserver to fail when the number of partitions is very high.
Use this patch to skip unnecessary get all partition operation when pruneNode is always false.
Attachments
Attachments
Issue Links
- relates to
-
HIVE-26524 Use Calcite to remove sections of a query plan known never produces rows
- Closed