You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Nikita Timofeev (JIRA)" <ji...@apache.org> on 2016/12/13 13:35:58 UTC

[jira] [Updated] (CAY-2159) Problems with reverse engineering stored procedures with latest MySQL JDBC driver.

     [ https://issues.apache.org/jira/browse/CAY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nikita Timofeev updated CAY-2159:
---------------------------------
    Issue Type: Sub-task  (was: Bug)
        Parent: CAY-2167

> Problems with reverse engineering stored procedures with latest MySQL JDBC driver.
> ----------------------------------------------------------------------------------
>
>                 Key: CAY-2159
>                 URL: https://issues.apache.org/jira/browse/CAY-2159
>             Project: Cayenne
>          Issue Type: Sub-task
>          Components: Modeler, Non-GUI Tools
>    Affects Versions: 4.0.M4
>         Environment: MySQL version: 5.7.16 (docker image)
> JDBC driver: 6.0.5
>            Reporter: Nikita Timofeev
>            Priority: Minor
>
> According to this https://dev.mysql.com/doc/connector-j/6.0/en/connector-j-properties-changed.html default value of nullNamePatternMatchesAll parameter has changed to false.
> This leads to the exception in Reverse Engineering when using latest JDBC MySQL connector.
> This can be corrected by setting nullNamePatternMatchesAll=true in the connection URL.
> May be we need to change null parameters to explicit wildcard "%". But this requires investigation for other databases.
> Stack trace for the thrown Exception:
> INFO: Exception on reverse engineering
> java.sql.SQLException: Procedure name pattern can not be NULL or empty.
> 	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:545)
> 	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513)
> 	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:505)
> 	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:479)
> 	at com.mysql.cj.jdbc.DatabaseMetaData.getProceduresAndOrFunctions(DatabaseMetaData.java:3411)
> 	at com.mysql.cj.jdbc.DatabaseMetaData.getProcedureOrFunctionColumns(DatabaseMetaData.java:3303)
> 	at com.mysql.cj.jdbc.DatabaseMetaData.getProcedureColumns(DatabaseMetaData.java:3240)
> 	at org.apache.cayenne.dbsync.reverse.db.DbLoader.loadProceduresColumns(DbLoader.java:416)
> 	at org.apache.cayenne.dbsync.reverse.db.DbLoader.loadProceduresColumns(DbLoader.java:408)
> 	at org.apache.cayenne.dbsync.reverse.db.DbLoader.loadProcedures(DbLoader.java:394)
> 	at org.apache.cayenne.dbsync.reverse.db.DbLoader.load(DbLoader.java:351)
> 	at org.apache.cayenne.tools.dbimport.DefaultDbImportAction.load(DefaultDbImportAction.java:432)
> 	at org.apache.cayenne.tools.dbimport.DefaultDbImportAction.execute(DefaultDbImportAction.java:161)
> 	at org.apache.cayenne.modeler.dialog.db.DbLoaderHelper$LoadDataMapTask.execute(DbLoaderHelper.java:373)
> 	at org.apache.cayenne.modeler.util.LongRunningTask.internalExecute(LongRunningTask.java:213)
> 	at org.apache.cayenne.modeler.util.LongRunningTask$1.run(LongRunningTask.java:101)
> 	at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)