trafodion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Owhadi <eric.owh...@esgyn.com>
Subject question for predicate push down problem
Date Wed, 16 Dec 2015 21:31:17 GMT
Running regression (very powerful set of test BTW), I discovered the
following issue:

Given the following query:



SELECT T1.a FROM t002t1 AS t1

WHERE EXISTS (

    SELECT -74 FROM t002t1   where t1.c = 30

    UNION all

    SELECT -84 FROM t002t2

    WHERE NOT (( EXISTS (SELECT 1 FROM t002t2

    ) ) )

);



The scan node for evaluating    SELECT -74 FROM t002t1   where t1.c = 30

Is incorrectly pushing down t1.c=30, as if it was simply c=30.



I was naively thinking that checking if NATable pointer of
getTabledesc()->getNATable and NAColumn->getNATable() would be different
for the case that I am facing, but, no, the same naTable pointer reference
the t002t1 in memory, regardless if it is for the outer scan or inner scan.



So anyone know what I should be checking to make sure I recognize this
situation and avoid pushing down non legitime expression like these?



Thanks in advance for the help,
Eric

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message