[ https://issues.apache.org/jira/browse/DRILL-8136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17602402#comment-17602402 ]
ASF GitHub Bot commented on DRILL-8136: --------------------------------------- jnturton commented on PR #2638: URL: https://github.com/apache/drill/pull/2638#issuecomment-1242077430 ``` Apache Drill 2.0.0-SNAPSHOT "Drill must go on." apache drill> select true = 'TrUe'; EXPR$0 true 1 row selected (3.336 seconds) apache drill> select true = 'false'; EXPR$0 false 1 row selected (0.145 seconds) apache drill> select true = 'foo'; Error: SYSTEM ERROR: IllegalArgumentException: Invalid value for boolean: foo ``` > Overhaul implict type casting logic > ----------------------------------- > > Key: DRILL-8136 > URL: https://issues.apache.org/jira/browse/DRILL-8136 > Project: Apache Drill > Issue Type: Improvement > Reporter: Esther Buchwalter > Assignee: James Turton > Priority: Minor > > The existing implicit casting system is built on simplistic total ordering of > data types[1] that yields oddities such as TINYINT being regarded as the > closest numeric type to VARCHAR or DATE the closest type to FLOAT8. This, in > turn, hurts the range of data types with which SQL functions can be used. > E.g. `select sqrt('3.1415926')` works in many RDBMSes but not in Drill while, > confusingly, `select '123' + 456` does work in Drill. In addition the > limitations of the existing type precedence list mean that it has been > supplmented with ad hoc secondary casting rules that go in the opposite > direction. > This Issue proposes a new, more flexible definition of casting distance based > on a weighted directed graph built over the Drill data types. > [1] > [https://drill.apache.org/docs/supported-data-types/#implicit-casting-precedence-of-data-types] -- This message was sent by Atlassian Jira (v8.20.10#820010)