I have shifted to jooq 3.14 and facing code generation error.
Context :
I am using mysql 5.7. In my DB information_schema.COLUMNS.DATETIME_PRECISION
is missing. My question is the codegen used to work with jooq 3.10. But with jooq 3.14 its throwing the below error. Am I missing some setting to maybe make non-strict?
Below exception seen:
[java][main] ERROR org.jooq.meta.AbstractElementContainerDefinition - Error while initialising type
[java] org.jooq.exception.DataAccessException: SQL [select information_schema.COLUMNS.ORDINAL_POSITION, information_schema.COLUMNS.COLUMN_NAME, information_schema.COLUMNS.COLUMN_COMMENT, information_schema.COLUMNS.COLUMN_TYPE, information_schema.COLUMNS.DATA_TYPE, information_schema.COLUMNS.IS_NULLABLE, information_schema.COLUMNS.COLUMN_DEFAULT, information_schema.COLUMNS.CHARACTER_MAXIMUM_LENGTH, coalesce(information_schema.COLUMNS.NUMERIC_PRECISION, information_schema.COLUMNS.DATETIME_PRECISION) as NUMERIC_PRECISION, information_schema.COLUMNS.NUMERIC_SCALE, information_schema.COLUMNS.EXTRA from information_schema.COLUMNS where (information_schema.COLUMNS.TABLE_SCHEMA in (?, ?) and information_schema.COLUMNS.TABLE_NAME = ?) order by information_schema.COLUMNS.ORDINAL_POSITION]; Unknown column 'information_schema.COLUMNS.DATETIME_PRECISION' in 'field list'
[java] at org.jooq_3.14.0.MYSQL.debug(Unknown Source) ~[?:?]
[java] at org.jooq.impl.Tools.translate(Tools.java:2898) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:757) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:389) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.impl.AbstractResultQuery.fetch(AbstractResultQuery.java:333) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.impl.AbstractResultQuery.iterator(AbstractResultQuery.java:344) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.impl.SelectImpl.iterator(SelectImpl.java:2890) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.meta.mysql.MySQLTableDefinition.getElements0(MySQLTableDefinition.java:80) ~[jooq-meta-3.14.0.jar:?]
[java] at org.jooq.meta.AbstractElementContainerDefinition.getElements(AbstractElementContainerDefinition.java:88) [jooq-meta-3.14.0.jar:?]
[java] at org.jooq.meta.AbstractElementContainerDefinition.getElement(AbstractElementContainerDefinition.java:132) [jooq-meta-3.14.0.jar:?]
[java] at org.jooq.meta.AbstractElementContainerDefinition.getElement(AbstractElementContainerDefinition.java:128) [jooq-meta-3.14.0.jar:?]
[java] at org.jooq.meta.AbstractTableDefinition.getColumn(AbstractTableDefinition.java:177) [jooq-meta-3.14.0.jar:?]
[java] at org.jooq.meta.mysql.MySQLDatabase.getEnums0(MySQLDatabase.java:496) [jooq-meta-3.14.0.jar:?]
[java] at org.jooq.meta.AbstractDatabase$8.run(AbstractDatabase.java:1723) [jooq-meta-3.14.0.jar:?]
[java] at org.jooq.meta.AbstractDatabase.onError(AbstractDatabase.java:3094) [jooq-meta-3.14.0.jar:?]
[java] at org.jooq.meta.AbstractDatabase.getEnums(AbstractDatabase.java:1720) [jooq-meta-3.14.0.jar:?]
[java] at org.jooq.codegen.JavaGenerator.generateSchemaIfEmpty(JavaGenerator.java:495) [jooq-codegen-3.14.0.jar:?]
[java] at org.jooq.codegen.JavaGenerator.generateCatalogIfEmpty(JavaGenerator.java:482) [jooq-codegen-3.14.0.jar:?]
[java] at org.jooq.codegen.JavaGenerator.generate(JavaGenerator.java:436) [jooq-codegen-3.14.0.jar:?]
[java] at org.jooq.codegen.GenerationTool.run0(GenerationTool.java:879) [jooq-codegen-3.14.0.jar:?]
[java] at org.jooq.codegen.GenerationTool.run(GenerationTool.java:233) [jooq-codegen-3.14.0.jar:?]
[java] at org.jooq.codegen.GenerationTool.generate(GenerationTool.java:228) [jooq-codegen-3.14.0.jar:?]
[java] at com.project.annotations.CodeGenerator.run(Unknown Source) [classes/:?]
[java] at com.project.annotations.CodeGenerator.main(Unknown Source) [classes/:?]
[java] Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'information_schema.COLUMNS.DATETIME_PRECISION' in 'field list'
[java] at sun.reflect.GeneratedConstructorAccessor19.newInstance(Unknown Source) ~[?:?]
[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_265]
[java] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_265]
[java] at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.Util.getInstance(Util.java:384) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113) ~[perfios-database-migrator.jar:?]
[java] at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1364) ~[perfios-database-migrator.jar:?]
[java] at org.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:214) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.impl.Tools.executeStatementAndGetFirstResultSet(Tools.java:4186) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.impl.AbstractResultQuery.execute(AbstractResultQuery.java:279) ~[jooq-3.14.0.jar:?]
[java] at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:375) ~[jooq-3.14.0.jar:?]
[java] ... 20 more
Thanks in advance!