]
Steven Hawkins resolved TEIID-3600.
-----------------------------------
Resolution: Done
Updated the from expression to have a max equal to the string length. Also updated the
community docs to describe the issues with substring. We may end up just needing to
prevent pushdown as db2 also doesn't support negative indexing which is allowed for
the from argument in Teiid.
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