[teiid-issues] [JBoss JIRA] (TEIID-2786) ModeShape ExecutionFactory.getMetadata fails with java.sql.SQLFeatureNotSupportedException

Steven Hawkins (JIRA) issues at jboss.org
Thu Jan 16 15:26:32 EST 2014


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

Steven Hawkins commented on TEIID-2786:
---------------------------------------

Made an initial commit based upon the simplified changes.  It did include the change to correct the widenUnsignedTypes setter method name.  It introduced an import foreign keys options, which we can optional document, and an way to set the column name pattern.

Using an older driver I was hitting:

java.lang.NumberFormatException: For input string: "org.modeshape.jdbc.JdbcJcrValueFactory$JdbcJcrValue at 73abdb5e"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Long.parseLong(Long.java:438)
	at java.lang.Long.parseLong(Long.java:478)
	at org.modeshape.jdbc.JcrResultSet.getValueObject(JcrResultSet.java:1302)
	at org.modeshape.jdbc.JcrResultSet.getValueReturn(JcrResultSet.java:1260)
	at org.modeshape.jdbc.JcrResultSet.getLong(JcrResultSet.java:851)
	at org.modeshape.jdbc.JcrResultSet.getInt(JcrResultSet.java:831)
	at org.modeshape.jdbc.JcrResultSet.getInt(JcrResultSet.java:820)
	at org.teiid.translator.jdbc.JDBCMetdataProcessor.addColumn(JDBCMetdataProcessor.java:368)
	at org.teiid.translator.jdbc.JDBCMetdataProcessor.processColumns(JDBCMetdataProcessor.java:352)
	at org.teiid.translator.jdbc.JDBCMetdataProcessor.getColumns(JDBCMetdataProcessor.java:327)
	at org.teiid.translator.jdbc.JDBCMetdataProcessor.getTables(JDBCMetdataProcessor.java:278)
	at org.teiid.translator.jdbc.JDBCMetdataProcessor.getConnectorMetadata(JDBCMetdataProcessor.java:130)

when retrieving an integer property as getValueObject doesn't have a handler for integer and it ends up trying to parse the toString of the value.  Will need to retest with a later driver to see if this requires another workaround.
                
> ModeShape ExecutionFactory.getMetadata fails with java.sql.SQLFeatureNotSupportedException
> ------------------------------------------------------------------------------------------
>
>                 Key: TEIID-2786
>                 URL: https://issues.jboss.org/browse/TEIID-2786
>             Project: Teiid
>          Issue Type: Bug
>          Components: Misc. Connectors
>    Affects Versions: 7.7
>            Reporter: Van Halbert
>            Assignee: Van Halbert
>             Fix For: 8.7
>
>         Attachments: mode.patch
>
>
> When trying to use the Teiid Designer feature of importing using a Teiid Connection fails when the connection is to ModeShape.  The following exception:
> 08:33:44,914 ERROR [stderr] (teiid-async-threads - 2) java.sql.SQLFeatureNotSupportedException
> 08:33:44,915 ERROR [stderr] (teiid-async-threads - 2) 	at org.modeshape.jdbc.JcrMetaData.getTypeInfo(JcrMetaData.java:1656)
> 08:33:44,915 ERROR [stderr] (teiid-async-threads - 2) 	at org.teiid.translator.jdbc.JDBCMetdataProcessor.getConnectorMetadata(JDBCMetdataProcessor.java:107)
> 08:33:44,915 INFO  [org.jboss.as.server] (management-handler-thread - 4) JBAS018559: Deployed "importVDB-vdb.xml" (runtime-name : "importVDB-vdb.xml")
> 08:33:44,916 ERROR [stderr] (teiid-async-threads - 2) 	at org.teiid.translator.jdbc.modeshape.ModeShapeExecutionFactory.getMetadata(ModeShapeExecutionFactory.java:280)
> 08:33:44,916 ERROR [stderr] (teiid-async-threads - 2) 	at org.teiid.translator.jdbc.modeshape.ModeShapeExecutionFactory.getMetadata(ModeShapeExecutionFactory.java:62)
> 08:33:44,916 ERROR [stderr] (teiid-async-threads - 2) 	at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:61)
> 08:33:44,917 ERROR [stderr] (teiid-async-threads - 2) 	at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
> 08:33:44,917 ERROR [stderr] (teiid-async-threads - 2) 	at org.teiid.jboss.VDBService$6.run(VDBService.java:397)
> 08:33:44,917 ERROR [stderr] (teiid-async-threads - 2) 	at org.teiid.jboss.VDBService$7.run(VDBService.java:444)
> 08:33:44,918 ERROR [stderr] (teiid-async-threads - 2) 	at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
> My guess is the local modeshape jdbc driver hasn't been fully vetted in this area, as the remote JDBC version has been the one used when using the Modeshape eclipse plugin for importing the metadata.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the teiid-issues mailing list