[
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: 4.3.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: 4.3.M1
>
>
> 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)