Details
-
Bug
-
Resolution: Done
-
Critical
-
2.2.1.GA
-
None
-
Workaround Exists
-
Description
When using Designer to import from ModeShape, the table nt_childNodeDefinition, is exposing 2 columns (jcr_name and jcr_name1) pointing to the same underlying sourced column of jcr:name. This causes an issue when using "Select *" cause is causes miss-alignment of the columns when processing the underlying ModeShape datasource. And because the columns are not aligned, they don't match the modeshape underlying array's, and therefore, it gets into a situation where the Teiid translator is expecting one data type (i.e., long), but the ModeShape array contains a different one (i.e., String) and it throws this exception:
Caused by: javax.jcr.ValueFormatException: Cannot convert String value to long
at org.modeshape.jcr.JcrValue.createValueFormatException(JcrValue.java:100)
at org.modeshape.jcr.JcrValue.getLong(JcrValue.java:200)
at org.modeshape.jdbc.JcrResultSet.getValueObject(JcrResultSet.java:1282)
... 19 more
The short term fix is to change the ModeShape.xmi model in the ModeShape.vdb to remove the jcr_name1 reference in the table. But need to find out why ModeShape is exposing both columns for the nt_childNodeDefinition table.