trafodion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anoop Sharma <anoop.sha...@esgyn.com>
Subject RE: question for predicate push down problem
Date Wed, 16 Dec 2015 21:35:32 GMT
you can check to see if a non-const column value is an input value
(part of characteristic input) to that scan operator.
If it is, then that column is not part of that operator and cannot
be part of a 'col op val' hbase pred.
It can be part of a 'non-col op val' predicate though.

anoop

-----Original Message-----
From: Eric Owhadi [mailto:eric.owhadi@esgyn.com]
Sent: Wednesday, December 16, 2015 1:31 PM
To: dev@trafodion.incubator.apache.org
Subject: question for predicate push down problem

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
View raw message