drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Westin (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DRILL-3430) CAST to interval type doesn't accept standard-format strings
Date Wed, 01 Jul 2015 22:35:05 GMT

     [ https://issues.apache.org/jira/browse/DRILL-3430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Chris Westin updated DRILL-3430:
--------------------------------
    Assignee: Daniel Barclay (Drill)

> CAST to interval type doesn't accept standard-format strings
> ------------------------------------------------------------
>
>                 Key: DRILL-3430
>                 URL: https://issues.apache.org/jira/browse/DRILL-3430
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill
>            Reporter: Daniel Barclay (Drill)
>            Assignee: Daniel Barclay (Drill)
>             Fix For: 1.2.0
>
>
> Cast specification evaluation is not compliant with the SQL standard.  Mainly, it yields
errors for standard-format strings that are specified to successfully yield interval values.
> In ISO/IEC 9075-2:2011(E) section 6.13 <cast specification>, General Rule 19 case
b says that, in a <cast specification> casting to an interval type, a character string
value that is a valid interval <literal> (<interval literal>) or <unquoted
interval string> yields an interval value.
> (<interval literal> is the "INTERVAL '1-6' YEAR TO MONTH" syntax; <unquoted
interval string> is the "1-6" syntax.)
> Drill currently rejects both of those syntaxes.  Note the casts to type INTERVAL HOUR
and the resulting error messages in the following:
> {noformat}
> 0: jdbc:drill:zk=local> SELECT CAST( CAST( 'INTERVAL ''1'' HOUR' AS VARCHAR(100) )
AS INTERVAL HOUR) FROM INFORMATION_SCHEMA.CATALOGS;
> Error: SYSTEM ERROR: IllegalArgumentException: Invalid format: "INTERVAL '1' HOUR"
> Fragment 0:0
> [Error Id: b4bed61a-1efe-4e06-86d4-fff8f9829d50 on dev-linux2:31010] (state=,code=0)
> 0: jdbc:drill:zk=local> SELECT CAST( CAST( '1' AS VARCHAR(100) ) AS INTERVAL HOUR)
FROM INFORMATION_SCHEMA.CATALOGS;
> Error: SYSTEM ERROR: IllegalArgumentException: Invalid format: "1"
> Fragment 0:0
> [Error Id: 91dec1ed-5cac-4235-93d7-49a2a0f03a1a on dev-linux2:31010] (state=,code=0)
> 0: jdbc:drill:zk=local> 
> {noformat}
> (The extra cast to VARCHAR is a workaround for a CHAR-vs.-VARCHAR bug.)
> Drill should accept the standard formats or at least document the non-compliance for
users.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message