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/05 15:42:58 UTC
[jira] [Created] (CAY-2159) Problems with reverse engineering
stored procedures with latest MySQL JDBC driver.
Nikita Timofeev created CAY-2159:
------------------------------------
Summary: 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: Bug
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)