[ https://issues.apache.org/jira/browse/CAY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nikita Timofeev updated CAY-2159: --------------------------------- Fix Version/s: 5.0-M2 (was: 5.0-M1) > 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 > Fix For: 5.0-M2 > > > 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 (v8.20.10#820010)