自Teiid 9.1以来,我们编写了一个自定义翻译器,用于扩展SQLServerExecutionFactory。我们已经覆盖了以下翻译器功能,以避免对这些案例进行下推。
supportsUnions=false;supportsExcept=false
supportsIntersect=false;supportsInLineViews=false
supportsCaseExpressions=false;supportGroupBy=false;
以下查询
SELECT emp.emp_id,emp.emp_name from emp
INNER JOIN dept ON dept.dept_id=emp.dept_id
INNER JOIN company ON comp.company_id=dept.company_id
转换并作为到达翻译器
select emp.emp_id,emp.emp_name from emp where emp.dept_id is not null and dept.company_id is not null ORDER BY @@version OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY;
正如您所看到的,转换后的查询上没有联接,dept表似乎也不见了,尽管查询中使用了tables列。
这是一个缺陷,还是我们错过了自Teiid 13以来引入的任何翻译功能?。
这是一个缺陷,还是我们缺少自Teiid 13以来引入的任何翻译器功能?
您在哪个版本上看到这个?如果是13+,请登录https://issues.redhat.com/projects/TEIID
在不知道版本和查询调试计划的情况下,很难从中准确地说出问题的性质。