Closed dynamobi-build closed 12 years ago
[author="jvs", created="Tue, 2 Sep 2008 13:02:32 -0500 (GMT-05:00)"]
Lazy fix is to give up on pushdown in this case.
If we want to go ahead with the pushdown, note that the correct rewrite for preserving three-valued logic is
where slacker = true
(result is maybe if slacker is null).
[author="schoi", created="Tue, 30 Sep 2008 00:43:30 -0500 (GMT-05:00)"]
Lazy fix in 11635. Leaving this open for rewrite. Note also, filter is not pushed down for where "slacker = true" or "slacker is true". See test in luciddb/test/sql/sqlserver-specific/pushdown.sql.tmpl.
[author="jvs", created="Thu, 10 Jun 2010 19:47:47 -0500 (GMT-05:00)"]
Pushdown implemented on //open/dev in eigenchange 13692.
[reporter="stephan", created="Tue, 2 Sep 2008 11:59:15 -0500 (GMT-05:00)"] Non-call boolean expressions in where clauses cause ClassCastException in MedJdbcPushDownRule.
For example, assuming a foreign JDBC table FT_EMPS, with the same columns as SALES.EMPS, the following causes the exception:
select * from FT_EMPS where slacker
The queries
select * from FT_EMPS where slacker = true
select * from FT_EMPS where slacker is true
work as expected however.
MedJdbcPushDownRule incorrectly assumes that the root of the RexNode filter expression is a RexCall. I've left a review comment referencing this bug at the appropriate location.