You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Danny Chan <yu...@gmail.com> on 2019/08/05 04:39:54 UTC

Re: Support complete implicit type coercion (DISCUSSION)

The reviewing starts now, thanks you guys for reviewing, any suggestions are appreciated !

Best,
Danny Chan
在 2019年5月27日 +0800 AM10:20,Yuzhao Chen <yu...@gmail.com>,写道:
> Hi, guys.
>
> The implicit type coercion is almost supported by every production RDBMS(MYSQL[1], ORACLE[2], SQLSERVER[3]), also some Hadoop data warehouse facilitates like HIVE.
>
> As a query optimization engine of many comutation engines(like Apache Flink) and some OLAP engines(like Apache Drill), Calcite would supply better compatibility for sql query for the underlying engines it adapter with with implicit type coercion. There are already some jira issues that are relative with this topic more or less:
>
> 1. CALCITE-2992: Enhance implicit conversions when generating hash join keys for an equiCondition
> 2. CALCITE-3002: Case statement fails with: SqlValidatorException: Cannot apply '=' to arguments of type '<INTEGER> = <BOOLEAN>'
> 3. CALCITE-1531: SqlValidatorException when boolean operators are used with NULL
> 4. CALCITE-3081: https://issues.apache.org/jira/browse/CALCITE-3081
> 5. CALCITE-2829: Use consistent types when processing ranges
>
> I have fired a issue CALCITE-2302 [4] about 1 year ago, with a design doc(sowehow rough).
>
> Maybe we should fire a new discussion here, and hope for your suggesions :)
>
> [1] https://dev.mysql.com/doc/refman/5.5/en/type-conversion.html
> [2] https://docs.oracle.com/cd/B12037_01/server.101/b10759/sql_elements002.htm
> [3] https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-type-conversion-database-engine?view=sql-server-2017
> [4] https://issues.apache.org/jira/browse/CALCITE-2302
> [5] https://docs.google.com/document/d/1g2RUnLXyp_LjUlO-wbblKuP5hqEu3a_2Mt2k4dh6RwU/edit#heading=h.77f83nidn37j
>
> Best,
> Danny Chan