You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Jaehwa Jung (JIRA)" <ji...@apache.org> on 2014/07/21 04:04:38 UTC
[jira] [Created] (TAJO-964) Scan filter was removed occasionally.
Jaehwa Jung created TAJO-964:
--------------------------------
Summary: Scan filter was removed occasionally.
Key: TAJO-964
URL: https://issues.apache.org/jira/browse/TAJO-964
Project: Tajo
Issue Type: Bug
Components: planner/optimizer
Reporter: Jaehwa Jung
Assignee: Jaehwa Jung
I ran TPCH Q19 query. But it didn't run as expected. Because there was no scan filer in optimized plan as follows:
* Q19
{code:xml}
select
sum(l_extendedprice * (1 - l_discount) ) as revenue
from
lineitem l join part p
on
p.p_partkey = l.l_partkey
where
(
p_brand = 'Brand#12'
and p_container REGEXP 'SM CASE||SM BOX||SM PACK||SM PKG'
and l_quantity >= 1 and l_quantity <= 11
and p_size >= 1 and p_size <= 5
and l_shipmode REGEXP 'AIR||AIR REG'
and l_shipinstruct = 'DELIVER IN PERSON'
)
or
(
p_brand = 'Brand#23'
and p_container REGEXP 'MED BAG||MED BOX||MED PKG||MED PACK'
and l_quantity >= 10 and l_quantity <= 20
and p_size >= 1 and p_size <= 10
and l_shipmode REGEXP 'AIR||AIR REG'
and l_shipinstruct = 'DELIVER IN PERSON'
)
or
(
p_brand = 'Brand#34'
and p_container REGEXP 'LG CASE||LG BOX||LG PACK||LG PKG'
and l_quantity >= 20 and l_quantity <= 30
and p_size >= 1 and p_size <= 15
and l_shipmode REGEXP 'AIR||AIR REG'
and l_shipinstruct = 'DELIVER IN PERSON'
)
{code}
* optimized plan
{code:xml}
-----------------------------
Query Block Graph
-----------------------------
|-#ROOT
-----------------------------
Optimization Log:
[LogicalPlan]
> ProjectionNode is eliminated.
[#ROOT]
> Non-optimized join order: (tpch100.lineitem ⋈θ tpch100.part) (cost: 1.95870973182278272E18)
> Optimized join order : (tpch100.lineitem ⋈θ tpch100.part) (cost: 1.9587097318227825E19)
-----------------------------
GROUP_BY(5)()
=> exprs: (sum(?multiply (FLOAT8)))
=> target list: revenue (FLOAT8)
=> out schema:{(1) revenue (FLOAT8)}
=> in schema:{(1) ?multiply (FLOAT8)}
JOIN(7)(INNER)
=> Join Cond: tpch100.p.p_partkey (INT8) = tpch100.l.l_partkey (INT8)
=> target list: ?multiply (FLOAT8)
=> out schema: {(1) ?multiply (FLOAT8)}
=> in schema: {(3) tpch100.l.l_partkey (INT8),?multiply (FLOAT8),tpch100.p.p_partkey (INT8)}
SCAN(1) on tpch100.part as p
=> target list: tpch100.p.p_partkey (INT8)
=> out schema: {(1) tpch100.p.p_partkey (INT8)}
=> in schema: {(9) tpch100.p.p_partkey (INT8),tpch100.p.p_name (TEXT),tpch100.p.p_mfgr (TEXT),tpch100.p.p_brand (TEXT),tpch100.p.p_type (TEXT),tpch100.p.p_size (INT4),tpch100.p.p_container (TEXT),tpch100.p.p_retailprice (FLOAT8),tpch100.p.p_comment (TEXT)}
SCAN(0) on tpch100.lineitem as l
=> target list: tpch100.l.l_partkey (INT8), tpch100.l.l_extendedprice (FLOAT8) * 1.0 - tpch100.l.l_discount (FLOAT8) as ?multiply
=> out schema: {(2) tpch100.l.l_partkey (INT8),?multiply (FLOAT8)}
=> in schema: {(16) tpch100.l.l_orderkey (INT8),tpch100.l.l_partkey (INT8),tpch100.l.l_suppkey (INT8),tpch100.l.l_linenumber (INT8),tpch100.l.l_quantity (FLOAT8),tpch100.l.l_extendedprice (FLOAT8),tpch100.l.l_discount (FLOAT8),tpch100.l.l_tax (FLOAT8),tpch100.l.l_returnflag (TEXT),tpch100.l.l_linestatus (TEXT),tpch100.l.l_shipdate (TEXT),tpch100.l.l_commitdate (TEXT),tpch100.l.l_receiptdate (TEXT),tpch100.l.l_shipinstruct (TEXT),tpch100.l.l_shipmode (TEXT),tpch100.l.l_comment (TEXT)}
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)