[teiid-issues] [JBoss JIRA] (TEIID-3600) DB2 - error getting substring if "from position" is out of range

Juraj Duráni (JIRA) issues at jboss.org
Thu Aug 6 01:33:02 EDT 2015


    [ https://issues.jboss.org/browse/TEIID-3600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13096047#comment-13096047 ] 

Juraj Duráni commented on TEIID-3600:
-------------------------------------

I agree that address differences in substring function of variety vendors would be daunting.
+1 for documentation.

> I think the resolution here will be to account for the db2 exceptional case,
What exactly do you mean? To fix the issue for db2 and make the behavior consistent with default Teiid's behavior or to add additional note to the Documentation? I recommend to fix the issue, because an exception by executing substring function is not very expected.

> DB2 - error getting substring if "from position" is out of range
> ----------------------------------------------------------------
>
>                 Key: TEIID-3600
>                 URL: https://issues.jboss.org/browse/TEIID-3600
>             Project: Teiid
>          Issue Type: Quality Risk
>          Components: Misc. Connectors
>            Reporter: Juraj Duráni
>            Assignee: Steven Hawkins
>             Fix For: 8.12
>
>
> If second argument of a SUBSTRING(x,y,z) function is out of range of first argument an exception is thrown [1]. Source-specific command [2].
> [1]
> Caused by: com.ibm.db2.jcc.am.SqlDataException: DB2 SQL Error: SQLCODE=-138, SQLSTATE=22011, SQLERRMC=null, DRIVER=4.12.55
> 	at com.ibm.db2.jcc.am.hd.a(hd.java:668)
> 	at com.ibm.db2.jcc.am.hd.a(hd.java:60)
> ...
> [2]
> SELECT substr(varchar(g_0.TimestampValue), 40, CASE WHEN 0 > (length(varchar(g_0.TimestampValue)) - (40 - 1)) THEN (length(varchar(g_0.TimestampValue)) - (40 - 1)) ELSE 0 END) FROM SmallA AS g_0 WHERE g_0.IntKey = 1



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)



More information about the teiid-issues mailing list