]
Steven Hawkins resolved TEIID-3600.
-----------------------------------
Fix Version/s: 9.0
8.12.5
8.13.5
(was: 8.12)
Resolution: Done
Corrected the from expression which was incorrectly comparing against the to expression -
not the expression length.
The previous comments still hold - we won't be able to have the source function be
fully compatible and may need to prevent pushdown in all but limited circumstances (such
as only having literal argument values so that we can directly account for possible
scenarios and have simplified expressions).
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: 9.0, 8.12.5, 8.13.5
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