[ https://issues.apache.org/jira/browse/DRILL-2891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14949561#comment-14949561 ]
Victoria Markman commented on DRILL-2891: ----------------------------------------- Now that I think about it, first case is technically data corruption. Raising priority to critical. > Allowing ROUND function on boolean type can cause all sorts of problems > ----------------------------------------------------------------------- > > Key: DRILL-2891 > URL: https://issues.apache.org/jira/browse/DRILL-2891 > Project: Apache Drill > Issue Type: Bug > Reporter: Victoria Markman > Priority: Minor > Fix For: 1.4.0 > > > Works, and I don't think it makes much sense: > {code} > 0: jdbc:drill:schema=dfs> select round(c_boolean) from alltypes_with_nulls > limit 1; > +------------+ > | EXPR$0 | > +------------+ > | 1 | > +------------+ > 1 row selected (0.19 seconds) > {code} > Fails later if used in other parts of the query. > In order by: > {code} > 0: jdbc:drill:schema=dfs> select round(c_boolean) from alltypes_with_nulls > order by 1; > +------------+ > | EXPR$0 | > +------------+ > Query failed: SYSTEM ERROR: java.lang.UnsupportedOperationException: Failure > finding function that runtime code generation expected. Signature: > compare_to_nulls_high( TINYINT:OPTIONAL, TINYINT:OPTIONAL ) returns > INT:REQUIRED > Fragment 0:0 > [7add2ed7-de6a-4c66-b511-ecad32413fcc on atsqa4-133.qa.lab:31010] > java.lang.RuntimeException: java.sql.SQLException: Failure while executing > query. > at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2514) > at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2148) > at sqlline.SqlLine.print(SqlLine.java:1809) > at sqlline.SqlLine$Commands.execute(SqlLine.java:3766) > at sqlline.SqlLine$Commands.sql(SqlLine.java:3663) > at sqlline.SqlLine.dispatch(SqlLine.java:889) > at sqlline.SqlLine.begin(SqlLine.java:763) > at sqlline.SqlLine.start(SqlLine.java:498) > at sqlline.SqlLine.main(SqlLine.java:460) > {code} > In group by > {code} > 0: jdbc:drill:schema=dfs> select round(c_boolean) from alltypes group by > round(c_boolean); > Query failed: SYSTEM ERROR: Failure finding function that runtime code > generation expected. Signature: compare_to_nulls_high( TINYINT:REQUIRED, > TINYINT:REQUIRED ) returns INT:REQUIRED > Fragment 0:0 > [286777b2-3395-4e44-94a2-d9dafa07f9dc on atsqa4-133.qa.lab:31010] > Error: exception while executing query: Failure while executing query. > (state=,code=0) > {code} > We should not allow that. -- This message was sent by Atlassian JIRA (v6.3.4#6332)