diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/MySQLRoutineDefinition.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/MySQLRoutineDefinition.java index 2fd7127079..546f12dbad 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/MySQLRoutineDefinition.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/MySQLRoutineDefinition.java @@ -36,9 +36,11 @@ package org.jooq.util.mysql; -import java.sql.SQLException; +import static org.jooq.util.hsqldb.information_schema.Tables.PARAMETERS; + import java.util.regex.Matcher; +import org.jooq.Record; import org.jooq.tools.StringUtils; import org.jooq.util.AbstractRoutineDefinition; import org.jooq.util.DataTypeDefinition; @@ -47,25 +49,86 @@ import org.jooq.util.DefaultParameterDefinition; import org.jooq.util.InOutDefinition; import org.jooq.util.ParameterDefinition; import org.jooq.util.SchemaDefinition; +import org.jooq.util.mysql.information_schema.tables.Parameters; /** * @author Lukas Eder */ public class MySQLRoutineDefinition extends AbstractRoutineDefinition { + private Boolean is55; + private final String params; private final String returns; - public MySQLRoutineDefinition(SchemaDefinition schema, String name, String comment, String params, String returns) { - super(schema, null, name, comment, null); + public MySQLRoutineDefinition(SchemaDefinition schema, String name, String comment, String params, String returns) { + super(schema, null, name, comment, null); - this.params = params; - this.returns = returns; - } + this.params = params; + this.returns = returns; + } @Override - protected void init0() throws SQLException { - // [#738] Avoid matching commas that appear in types, for instance DECIMAL(2, 1) + protected void init0() { + if (is55()) { + init55(); + } + else { + init54(); + } + } + + private void init55() { + + // [#742] In MySQL 5.5 and later, the INFORMATION_SCHEMA.PARAMETERS + // table is available, which is much more reliable than mysql.proc + for (Record record : create() + .select( + Parameters.ORDINAL_POSITION, + Parameters.PARAMETER_NAME, + Parameters.PARAMETER_MODE, + Parameters.DATA_TYPE, + Parameters.CHARACTER_MAXIMUM_LENGTH, + Parameters.NUMERIC_PRECISION, + Parameters.NUMERIC_SCALE + ) + .from(PARAMETERS) + .where(Parameters.SPECIFIC_SCHEMA.eq(getSchema().getInputName())) + .and(Parameters.SPECIFIC_NAME.eq(getInputName())) + .orderBy(Parameters.ORDINAL_POSITION.asc()) + .fetch()) { + + String inOut = record.getValue(Parameters.PARAMETER_MODE); + + DataTypeDefinition type = new DefaultDataTypeDefinition( + getDatabase(), + getSchema(), + record.getValue(Parameters.DATA_TYPE), + record.getValue(Parameters.CHARACTER_MAXIMUM_LENGTH), + record.getValue(Parameters.NUMERIC_PRECISION), + record.getValue(Parameters.NUMERIC_SCALE)); + + if (inOut == null) { + addParameter(InOutDefinition.RETURN, new DefaultParameterDefinition(this, "RETURN_VALUE", -1, type)); + } + else { + ParameterDefinition parameter = new DefaultParameterDefinition( + this, + record.getValue(Parameters.PARAMETER_NAME).replaceAll("@", ""), + record.getValue(Parameters.ORDINAL_POSITION, int.class), + type); + + addParameter(InOutDefinition.getFromString(inOut), parameter); + } + } + } + + private void init54() { + + // [#742] Before MySQL 5.5, the INFORMATION_SCHEMA.PARAMETERS table was + // not yet available. Resort to mysql.proc and regex-pattern matching. + + // [#738] Avoid matching commas that appear in types, for instance DECIMAL(2, 1) String[] split = params.split(",(?!\\s*\\d+\\s*\\))"); Matcher matcher = TYPE_PATTERN.matcher(returns); @@ -93,9 +156,9 @@ public class MySQLRoutineDefinition extends AbstractRoutineDefinition { } private ParameterDefinition createParameter(Matcher matcher, int group, int columnIndex, String paramName) { - String paramType = matcher.group(group + 1); + String paramType = matcher.group(group + 1); - Number precision = 0; + Number precision = 0; Number scale = 0; if (!StringUtils.isBlank(matcher.group(group + 2))) { @@ -114,5 +177,21 @@ public class MySQLRoutineDefinition extends AbstractRoutineDefinition { scale); return new DefaultParameterDefinition(this, paramName, columnIndex, type); - } + } + + private boolean is55() { + + // Check if this is a MySQL 5.5 or later database + if (is55 == null) { + try { + create().selectOne().from(PARAMETERS).limit(1).fetchOne(); + is55 = true; + } + catch (Exception e) { + is55 = false; + } + } + + return is55; + } } diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/InformationSchema.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/InformationSchema.java index 82f9a66125..b44279e4ad 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/InformationSchema.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/InformationSchema.java @@ -6,12 +6,12 @@ package org.jooq.util.mysql.information_schema; /** * This class is generated by jOOQ. */ -@javax.annotation.Generated(value = {"http://www.jooq.org", "3.0.0"}, +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, comments = "This class is generated by jOOQ") -@java.lang.SuppressWarnings("all") +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class InformationSchema extends org.jooq.impl.SchemaImpl { - private static final long serialVersionUID = 1667172772; + private static final long serialVersionUID = 329369714; /** * The singleton instance of information_schema @@ -27,9 +27,16 @@ public class InformationSchema extends org.jooq.impl.SchemaImpl { @Override public final java.util.List> getTables() { + java.util.List result = new java.util.ArrayList(); + result.addAll(getTables0()); + return result; + } + + private final java.util.List> getTables0() { return java.util.Arrays.>asList( org.jooq.util.mysql.information_schema.tables.Columns.COLUMNS, org.jooq.util.mysql.information_schema.tables.KeyColumnUsage.KEY_COLUMN_USAGE, + org.jooq.util.mysql.information_schema.tables.Parameters.PARAMETERS, org.jooq.util.mysql.information_schema.tables.ReferentialConstraints.REFERENTIAL_CONSTRAINTS, org.jooq.util.mysql.information_schema.tables.Schemata.SCHEMATA, org.jooq.util.mysql.information_schema.tables.Tables.TABLES, diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/Tables.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/Tables.java index 23a2762bed..9c1794e87b 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/Tables.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/Tables.java @@ -8,10 +8,10 @@ package org.jooq.util.mysql.information_schema; * * Convenience access to all tables in information_schema */ -@javax.annotation.Generated(value = {"http://www.jooq.org", "3.0.0"}, +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, comments = "This class is generated by jOOQ") -@java.lang.SuppressWarnings("all") -public final class Tables { +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Tables { /** * The table information_schema.COLUMNS @@ -23,6 +23,11 @@ public final class Tables { */ public static final org.jooq.util.mysql.information_schema.tables.KeyColumnUsage KEY_COLUMN_USAGE = org.jooq.util.mysql.information_schema.tables.KeyColumnUsage.KEY_COLUMN_USAGE; + /** + * The table information_schema.PARAMETERS + */ + public static final org.jooq.util.mysql.information_schema.tables.Parameters PARAMETERS = org.jooq.util.mysql.information_schema.tables.Parameters.PARAMETERS; + /** * The table information_schema.REFERENTIAL_CONSTRAINTS */ @@ -42,9 +47,4 @@ public final class Tables { * The table information_schema.TABLE_CONSTRAINTS */ public static final org.jooq.util.mysql.information_schema.tables.TableConstraints TABLE_CONSTRAINTS = org.jooq.util.mysql.information_schema.tables.TableConstraints.TABLE_CONSTRAINTS; - - /** - * No further instances allowed - */ - private Tables() {} } diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Columns.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Columns.java index b62fb4db93..4a01038dbb 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Columns.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Columns.java @@ -6,12 +6,12 @@ package org.jooq.util.mysql.information_schema.tables; /** * This class is generated by jOOQ. */ -@javax.annotation.Generated(value = {"http://www.jooq.org", "3.0.0"}, +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, comments = "This class is generated by jOOQ") -@java.lang.SuppressWarnings("all") +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Columns extends org.jooq.impl.TableImpl { - private static final long serialVersionUID = -610627054; + private static final long serialVersionUID = -2094152338; /** * The singleton instance of information_schema.COLUMNS @@ -29,22 +29,22 @@ public class Columns extends org.jooq.impl.TableImpl { /** * The column information_schema.COLUMNS.TABLE_CATALOG. */ - public static final org.jooq.TableField TABLE_CATALOG = createField("TABLE_CATALOG", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField TABLE_CATALOG = createField("TABLE_CATALOG", org.jooq.impl.SQLDataType.VARCHAR.length(512), COLUMNS); /** * The column information_schema.COLUMNS.TABLE_SCHEMA. */ - public static final org.jooq.TableField TABLE_SCHEMA = createField("TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField TABLE_SCHEMA = createField("TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), COLUMNS); /** * The column information_schema.COLUMNS.TABLE_NAME. */ - public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), COLUMNS); /** * The column information_schema.COLUMNS.COLUMN_NAME. */ - public static final org.jooq.TableField COLUMN_NAME = createField("COLUMN_NAME", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField COLUMN_NAME = createField("COLUMN_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), COLUMNS); /** * The column information_schema.COLUMNS.ORDINAL_POSITION. @@ -59,12 +59,12 @@ public class Columns extends org.jooq.impl.TableImpl { /** * The column information_schema.COLUMNS.IS_NULLABLE. */ - public static final org.jooq.TableField IS_NULLABLE = createField("IS_NULLABLE", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField IS_NULLABLE = createField("IS_NULLABLE", org.jooq.impl.SQLDataType.VARCHAR.length(3), COLUMNS); /** * The column information_schema.COLUMNS.DATA_TYPE. */ - public static final org.jooq.TableField DATA_TYPE = createField("DATA_TYPE", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField DATA_TYPE = createField("DATA_TYPE", org.jooq.impl.SQLDataType.VARCHAR.length(64), COLUMNS); /** * The column information_schema.COLUMNS.CHARACTER_MAXIMUM_LENGTH. @@ -89,12 +89,12 @@ public class Columns extends org.jooq.impl.TableImpl { /** * The column information_schema.COLUMNS.CHARACTER_SET_NAME. */ - public static final org.jooq.TableField CHARACTER_SET_NAME = createField("CHARACTER_SET_NAME", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField CHARACTER_SET_NAME = createField("CHARACTER_SET_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(32), COLUMNS); /** * The column information_schema.COLUMNS.COLLATION_NAME. */ - public static final org.jooq.TableField COLLATION_NAME = createField("COLLATION_NAME", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField COLLATION_NAME = createField("COLLATION_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(32), COLUMNS); /** * The column information_schema.COLUMNS.COLUMN_TYPE. @@ -104,22 +104,22 @@ public class Columns extends org.jooq.impl.TableImpl { /** * The column information_schema.COLUMNS.COLUMN_KEY. */ - public static final org.jooq.TableField COLUMN_KEY = createField("COLUMN_KEY", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField COLUMN_KEY = createField("COLUMN_KEY", org.jooq.impl.SQLDataType.VARCHAR.length(3), COLUMNS); /** * The column information_schema.COLUMNS.EXTRA. */ - public static final org.jooq.TableField EXTRA = createField("EXTRA", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField EXTRA = createField("EXTRA", org.jooq.impl.SQLDataType.VARCHAR.length(27), COLUMNS); /** * The column information_schema.COLUMNS.PRIVILEGES. */ - public static final org.jooq.TableField PRIVILEGES = createField("PRIVILEGES", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField PRIVILEGES = createField("PRIVILEGES", org.jooq.impl.SQLDataType.VARCHAR.length(80), COLUMNS); /** * The column information_schema.COLUMNS.COLUMN_COMMENT. */ - public static final org.jooq.TableField COLUMN_COMMENT = createField("COLUMN_COMMENT", org.jooq.impl.SQLDataType.VARCHAR, COLUMNS); + public static final org.jooq.TableField COLUMN_COMMENT = createField("COLUMN_COMMENT", org.jooq.impl.SQLDataType.VARCHAR.length(1024), COLUMNS); /** * No further instances allowed diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/KeyColumnUsage.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/KeyColumnUsage.java index a4deb2126f..a7a05e95bf 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/KeyColumnUsage.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/KeyColumnUsage.java @@ -6,12 +6,12 @@ package org.jooq.util.mysql.information_schema.tables; /** * This class is generated by jOOQ. */ -@javax.annotation.Generated(value = {"http://www.jooq.org", "3.0.0"}, +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, comments = "This class is generated by jOOQ") -@java.lang.SuppressWarnings("all") +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class KeyColumnUsage extends org.jooq.impl.TableImpl { - private static final long serialVersionUID = -1033864018; + private static final long serialVersionUID = 740257576; /** * The singleton instance of information_schema.KEY_COLUMN_USAGE @@ -29,37 +29,37 @@ public class KeyColumnUsage extends org.jooq.impl.TableImpl { /** * The column information_schema.KEY_COLUMN_USAGE.CONSTRAINT_CATALOG. */ - public static final org.jooq.TableField CONSTRAINT_CATALOG = createField("CONSTRAINT_CATALOG", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField CONSTRAINT_CATALOG = createField("CONSTRAINT_CATALOG", org.jooq.impl.SQLDataType.VARCHAR.length(512), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA. */ - public static final org.jooq.TableField CONSTRAINT_SCHEMA = createField("CONSTRAINT_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField CONSTRAINT_SCHEMA = createField("CONSTRAINT_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.CONSTRAINT_NAME. */ - public static final org.jooq.TableField CONSTRAINT_NAME = createField("CONSTRAINT_NAME", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField CONSTRAINT_NAME = createField("CONSTRAINT_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.TABLE_CATALOG. */ - public static final org.jooq.TableField TABLE_CATALOG = createField("TABLE_CATALOG", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField TABLE_CATALOG = createField("TABLE_CATALOG", org.jooq.impl.SQLDataType.VARCHAR.length(512), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.TABLE_SCHEMA. */ - public static final org.jooq.TableField TABLE_SCHEMA = createField("TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField TABLE_SCHEMA = createField("TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.TABLE_NAME. */ - public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.COLUMN_NAME. */ - public static final org.jooq.TableField COLUMN_NAME = createField("COLUMN_NAME", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField COLUMN_NAME = createField("COLUMN_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.ORDINAL_POSITION. @@ -74,17 +74,17 @@ public class KeyColumnUsage extends org.jooq.impl.TableImpl { /** * The column information_schema.KEY_COLUMN_USAGE.REFERENCED_TABLE_SCHEMA. */ - public static final org.jooq.TableField REFERENCED_TABLE_SCHEMA = createField("REFERENCED_TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField REFERENCED_TABLE_SCHEMA = createField("REFERENCED_TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME. */ - public static final org.jooq.TableField REFERENCED_TABLE_NAME = createField("REFERENCED_TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField REFERENCED_TABLE_NAME = createField("REFERENCED_TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), KEY_COLUMN_USAGE); /** * The column information_schema.KEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME. */ - public static final org.jooq.TableField REFERENCED_COLUMN_NAME = createField("REFERENCED_COLUMN_NAME", org.jooq.impl.SQLDataType.VARCHAR, KEY_COLUMN_USAGE); + public static final org.jooq.TableField REFERENCED_COLUMN_NAME = createField("REFERENCED_COLUMN_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), KEY_COLUMN_USAGE); /** * No further instances allowed diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Parameters.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Parameters.java new file mode 100644 index 0000000000..749f2e2562 --- /dev/null +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Parameters.java @@ -0,0 +1,110 @@ +/** + * This class is generated by jOOQ + */ +package org.jooq.util.mysql.information_schema.tables; + +/** + * This class is generated by jOOQ. + */ +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, + comments = "This class is generated by jOOQ") +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Parameters extends org.jooq.impl.TableImpl { + + private static final long serialVersionUID = 980337494; + + /** + * The singleton instance of information_schema.PARAMETERS + */ + public static final org.jooq.util.mysql.information_schema.tables.Parameters PARAMETERS = new org.jooq.util.mysql.information_schema.tables.Parameters(); + + /** + * The class holding records for this type + */ + @Override + public java.lang.Class getRecordType() { + return org.jooq.Record.class; + } + + /** + * The column information_schema.PARAMETERS.SPECIFIC_CATALOG. + */ + public static final org.jooq.TableField SPECIFIC_CATALOG = createField("SPECIFIC_CATALOG", org.jooq.impl.SQLDataType.VARCHAR.length(512), PARAMETERS); + + /** + * The column information_schema.PARAMETERS.SPECIFIC_SCHEMA. + */ + public static final org.jooq.TableField SPECIFIC_SCHEMA = createField("SPECIFIC_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), PARAMETERS); + + /** + * The column information_schema.PARAMETERS.SPECIFIC_NAME. + */ + public static final org.jooq.TableField SPECIFIC_NAME = createField("SPECIFIC_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), PARAMETERS); + + /** + * The column information_schema.PARAMETERS.ORDINAL_POSITION. + */ + public static final org.jooq.TableField ORDINAL_POSITION = createField("ORDINAL_POSITION", org.jooq.impl.SQLDataType.INTEGER, PARAMETERS); + + /** + * The column information_schema.PARAMETERS.PARAMETER_MODE. + */ + public static final org.jooq.TableField PARAMETER_MODE = createField("PARAMETER_MODE", org.jooq.impl.SQLDataType.VARCHAR.length(5), PARAMETERS); + + /** + * The column information_schema.PARAMETERS.PARAMETER_NAME. + */ + public static final org.jooq.TableField PARAMETER_NAME = createField("PARAMETER_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), PARAMETERS); + + /** + * The column information_schema.PARAMETERS.DATA_TYPE. + */ + public static final org.jooq.TableField DATA_TYPE = createField("DATA_TYPE", org.jooq.impl.SQLDataType.VARCHAR.length(64), PARAMETERS); + + /** + * The column information_schema.PARAMETERS.CHARACTER_MAXIMUM_LENGTH. + */ + public static final org.jooq.TableField CHARACTER_MAXIMUM_LENGTH = createField("CHARACTER_MAXIMUM_LENGTH", org.jooq.impl.SQLDataType.INTEGER, PARAMETERS); + + /** + * The column information_schema.PARAMETERS.CHARACTER_OCTET_LENGTH. + */ + public static final org.jooq.TableField CHARACTER_OCTET_LENGTH = createField("CHARACTER_OCTET_LENGTH", org.jooq.impl.SQLDataType.INTEGER, PARAMETERS); + + /** + * The column information_schema.PARAMETERS.NUMERIC_PRECISION. + */ + public static final org.jooq.TableField NUMERIC_PRECISION = createField("NUMERIC_PRECISION", org.jooq.impl.SQLDataType.INTEGER, PARAMETERS); + + /** + * The column information_schema.PARAMETERS.NUMERIC_SCALE. + */ + public static final org.jooq.TableField NUMERIC_SCALE = createField("NUMERIC_SCALE", org.jooq.impl.SQLDataType.INTEGER, PARAMETERS); + + /** + * The column information_schema.PARAMETERS.CHARACTER_SET_NAME. + */ + public static final org.jooq.TableField CHARACTER_SET_NAME = createField("CHARACTER_SET_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), PARAMETERS); + + /** + * The column information_schema.PARAMETERS.COLLATION_NAME. + */ + public static final org.jooq.TableField COLLATION_NAME = createField("COLLATION_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), PARAMETERS); + + /** + * The column information_schema.PARAMETERS.DTD_IDENTIFIER. + */ + public static final org.jooq.TableField DTD_IDENTIFIER = createField("DTD_IDENTIFIER", org.jooq.impl.SQLDataType.CLOB, PARAMETERS); + + /** + * The column information_schema.PARAMETERS.ROUTINE_TYPE. + */ + public static final org.jooq.TableField ROUTINE_TYPE = createField("ROUTINE_TYPE", org.jooq.impl.SQLDataType.VARCHAR.length(9), PARAMETERS); + + /** + * No further instances allowed + */ + private Parameters() { + super("PARAMETERS", org.jooq.util.mysql.information_schema.InformationSchema.INFORMATION_SCHEMA); + } +} diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/ReferentialConstraints.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/ReferentialConstraints.java index a5948eb588..f26250cf73 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/ReferentialConstraints.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/ReferentialConstraints.java @@ -6,12 +6,12 @@ package org.jooq.util.mysql.information_schema.tables; /** * This class is generated by jOOQ. */ -@javax.annotation.Generated(value = {"http://www.jooq.org", "3.0.0"}, +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, comments = "This class is generated by jOOQ") -@java.lang.SuppressWarnings("all") +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class ReferentialConstraints extends org.jooq.impl.TableImpl { - private static final long serialVersionUID = -280725810; + private static final long serialVersionUID = -331110683; /** * The singleton instance of information_schema.REFERENTIAL_CONSTRAINTS @@ -29,57 +29,57 @@ public class ReferentialConstraints extends org.jooq.impl.TableImplinformation_schema.REFERENTIAL_CONSTRAINTS.CONSTRAINT_CATALOG. */ - public static final org.jooq.TableField CONSTRAINT_CATALOG = createField("CONSTRAINT_CATALOG", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField CONSTRAINT_CATALOG = createField("CONSTRAINT_CATALOG", org.jooq.impl.SQLDataType.VARCHAR.length(512), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA. */ - public static final org.jooq.TableField CONSTRAINT_SCHEMA = createField("CONSTRAINT_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField CONSTRAINT_SCHEMA = createField("CONSTRAINT_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME. */ - public static final org.jooq.TableField CONSTRAINT_NAME = createField("CONSTRAINT_NAME", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField CONSTRAINT_NAME = createField("CONSTRAINT_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.UNIQUE_CONSTRAINT_CATALOG. */ - public static final org.jooq.TableField UNIQUE_CONSTRAINT_CATALOG = createField("UNIQUE_CONSTRAINT_CATALOG", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField UNIQUE_CONSTRAINT_CATALOG = createField("UNIQUE_CONSTRAINT_CATALOG", org.jooq.impl.SQLDataType.VARCHAR.length(512), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.UNIQUE_CONSTRAINT_SCHEMA. */ - public static final org.jooq.TableField UNIQUE_CONSTRAINT_SCHEMA = createField("UNIQUE_CONSTRAINT_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField UNIQUE_CONSTRAINT_SCHEMA = createField("UNIQUE_CONSTRAINT_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.UNIQUE_CONSTRAINT_NAME. */ - public static final org.jooq.TableField UNIQUE_CONSTRAINT_NAME = createField("UNIQUE_CONSTRAINT_NAME", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField UNIQUE_CONSTRAINT_NAME = createField("UNIQUE_CONSTRAINT_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.MATCH_OPTION. */ - public static final org.jooq.TableField MATCH_OPTION = createField("MATCH_OPTION", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField MATCH_OPTION = createField("MATCH_OPTION", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.UPDATE_RULE. */ - public static final org.jooq.TableField UPDATE_RULE = createField("UPDATE_RULE", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField UPDATE_RULE = createField("UPDATE_RULE", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.DELETE_RULE. */ - public static final org.jooq.TableField DELETE_RULE = createField("DELETE_RULE", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField DELETE_RULE = createField("DELETE_RULE", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.TABLE_NAME. */ - public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * The column information_schema.REFERENTIAL_CONSTRAINTS.REFERENCED_TABLE_NAME. */ - public static final org.jooq.TableField REFERENCED_TABLE_NAME = createField("REFERENCED_TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR, REFERENTIAL_CONSTRAINTS); + public static final org.jooq.TableField REFERENCED_TABLE_NAME = createField("REFERENCED_TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), REFERENTIAL_CONSTRAINTS); /** * No further instances allowed diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Schemata.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Schemata.java index 8ade8ca49e..6eacb02bbb 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Schemata.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Schemata.java @@ -6,12 +6,12 @@ package org.jooq.util.mysql.information_schema.tables; /** * This class is generated by jOOQ. */ -@javax.annotation.Generated(value = {"http://www.jooq.org", "3.0.0"}, +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, comments = "This class is generated by jOOQ") -@java.lang.SuppressWarnings("all") +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Schemata extends org.jooq.impl.TableImpl { - private static final long serialVersionUID = -240882300; + private static final long serialVersionUID = 1392430307; /** * The singleton instance of information_schema.SCHEMATA @@ -29,27 +29,27 @@ public class Schemata extends org.jooq.impl.TableImpl { /** * The column information_schema.SCHEMATA.CATALOG_NAME. */ - public static final org.jooq.TableField CATALOG_NAME = createField("CATALOG_NAME", org.jooq.impl.SQLDataType.VARCHAR, SCHEMATA); + public static final org.jooq.TableField CATALOG_NAME = createField("CATALOG_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(512), SCHEMATA); /** * The column information_schema.SCHEMATA.SCHEMA_NAME. */ - public static final org.jooq.TableField SCHEMA_NAME = createField("SCHEMA_NAME", org.jooq.impl.SQLDataType.VARCHAR, SCHEMATA); + public static final org.jooq.TableField SCHEMA_NAME = createField("SCHEMA_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), SCHEMATA); /** * The column information_schema.SCHEMATA.DEFAULT_CHARACTER_SET_NAME. */ - public static final org.jooq.TableField DEFAULT_CHARACTER_SET_NAME = createField("DEFAULT_CHARACTER_SET_NAME", org.jooq.impl.SQLDataType.VARCHAR, SCHEMATA); + public static final org.jooq.TableField DEFAULT_CHARACTER_SET_NAME = createField("DEFAULT_CHARACTER_SET_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(32), SCHEMATA); /** * The column information_schema.SCHEMATA.DEFAULT_COLLATION_NAME. */ - public static final org.jooq.TableField DEFAULT_COLLATION_NAME = createField("DEFAULT_COLLATION_NAME", org.jooq.impl.SQLDataType.VARCHAR, SCHEMATA); + public static final org.jooq.TableField DEFAULT_COLLATION_NAME = createField("DEFAULT_COLLATION_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(32), SCHEMATA); /** * The column information_schema.SCHEMATA.SQL_PATH. */ - public static final org.jooq.TableField SQL_PATH = createField("SQL_PATH", org.jooq.impl.SQLDataType.VARCHAR, SCHEMATA); + public static final org.jooq.TableField SQL_PATH = createField("SQL_PATH", org.jooq.impl.SQLDataType.VARCHAR.length(512), SCHEMATA); /** * No further instances allowed diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/TableConstraints.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/TableConstraints.java index 10d32f9644..839c28767b 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/TableConstraints.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/TableConstraints.java @@ -6,12 +6,12 @@ package org.jooq.util.mysql.information_schema.tables; /** * This class is generated by jOOQ. */ -@javax.annotation.Generated(value = {"http://www.jooq.org", "3.0.0"}, +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, comments = "This class is generated by jOOQ") -@java.lang.SuppressWarnings("all") +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class TableConstraints extends org.jooq.impl.TableImpl { - private static final long serialVersionUID = 1193396017; + private static final long serialVersionUID = 509219639; /** * The singleton instance of information_schema.TABLE_CONSTRAINTS @@ -29,32 +29,32 @@ public class TableConstraints extends org.jooq.impl.TableImpl { /** * The column information_schema.TABLE_CONSTRAINTS.CONSTRAINT_CATALOG. */ - public static final org.jooq.TableField CONSTRAINT_CATALOG = createField("CONSTRAINT_CATALOG", org.jooq.impl.SQLDataType.VARCHAR, TABLE_CONSTRAINTS); + public static final org.jooq.TableField CONSTRAINT_CATALOG = createField("CONSTRAINT_CATALOG", org.jooq.impl.SQLDataType.VARCHAR.length(512), TABLE_CONSTRAINTS); /** * The column information_schema.TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA. */ - public static final org.jooq.TableField CONSTRAINT_SCHEMA = createField("CONSTRAINT_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, TABLE_CONSTRAINTS); + public static final org.jooq.TableField CONSTRAINT_SCHEMA = createField("CONSTRAINT_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLE_CONSTRAINTS); /** * The column information_schema.TABLE_CONSTRAINTS.CONSTRAINT_NAME. */ - public static final org.jooq.TableField CONSTRAINT_NAME = createField("CONSTRAINT_NAME", org.jooq.impl.SQLDataType.VARCHAR, TABLE_CONSTRAINTS); + public static final org.jooq.TableField CONSTRAINT_NAME = createField("CONSTRAINT_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLE_CONSTRAINTS); /** * The column information_schema.TABLE_CONSTRAINTS.TABLE_SCHEMA. */ - public static final org.jooq.TableField TABLE_SCHEMA = createField("TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, TABLE_CONSTRAINTS); + public static final org.jooq.TableField TABLE_SCHEMA = createField("TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLE_CONSTRAINTS); /** * The column information_schema.TABLE_CONSTRAINTS.TABLE_NAME. */ - public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR, TABLE_CONSTRAINTS); + public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLE_CONSTRAINTS); /** * The column information_schema.TABLE_CONSTRAINTS.CONSTRAINT_TYPE. */ - public static final org.jooq.TableField CONSTRAINT_TYPE = createField("CONSTRAINT_TYPE", org.jooq.impl.SQLDataType.VARCHAR, TABLE_CONSTRAINTS); + public static final org.jooq.TableField CONSTRAINT_TYPE = createField("CONSTRAINT_TYPE", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLE_CONSTRAINTS); /** * No further instances allowed diff --git a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Tables.java b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Tables.java index f3bfcdf82d..d0bea65824 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Tables.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/mysql/information_schema/tables/Tables.java @@ -6,12 +6,12 @@ package org.jooq.util.mysql.information_schema.tables; /** * This class is generated by jOOQ. */ -@javax.annotation.Generated(value = {"http://www.jooq.org", "3.0.0"}, +@javax.annotation.Generated(value = { "http://www.jooq.org", "3.1.0" }, comments = "This class is generated by jOOQ") -@java.lang.SuppressWarnings("all") +@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Tables extends org.jooq.impl.TableImpl { - private static final long serialVersionUID = -485690335; + private static final long serialVersionUID = -907476560; /** * The singleton instance of information_schema.TABLES @@ -29,27 +29,27 @@ public class Tables extends org.jooq.impl.TableImpl { /** * The column information_schema.TABLES.TABLE_CATALOG. */ - public static final org.jooq.TableField TABLE_CATALOG = createField("TABLE_CATALOG", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField TABLE_CATALOG = createField("TABLE_CATALOG", org.jooq.impl.SQLDataType.VARCHAR.length(512), TABLES); /** * The column information_schema.TABLES.TABLE_SCHEMA. */ - public static final org.jooq.TableField TABLE_SCHEMA = createField("TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField TABLE_SCHEMA = createField("TABLE_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLES); /** * The column information_schema.TABLES.TABLE_NAME. */ - public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField TABLE_NAME = createField("TABLE_NAME", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLES); /** * The column information_schema.TABLES.TABLE_TYPE. */ - public static final org.jooq.TableField TABLE_TYPE = createField("TABLE_TYPE", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField TABLE_TYPE = createField("TABLE_TYPE", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLES); /** * The column information_schema.TABLES.ENGINE. */ - public static final org.jooq.TableField ENGINE = createField("ENGINE", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField ENGINE = createField("ENGINE", org.jooq.impl.SQLDataType.VARCHAR.length(64), TABLES); /** * The column information_schema.TABLES.VERSION. @@ -59,7 +59,7 @@ public class Tables extends org.jooq.impl.TableImpl { /** * The column information_schema.TABLES.ROW_FORMAT. */ - public static final org.jooq.TableField ROW_FORMAT = createField("ROW_FORMAT", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField ROW_FORMAT = createField("ROW_FORMAT", org.jooq.impl.SQLDataType.VARCHAR.length(10), TABLES); /** * The column information_schema.TABLES.TABLE_ROWS. @@ -114,7 +114,7 @@ public class Tables extends org.jooq.impl.TableImpl { /** * The column information_schema.TABLES.TABLE_COLLATION. */ - public static final org.jooq.TableField TABLE_COLLATION = createField("TABLE_COLLATION", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField TABLE_COLLATION = createField("TABLE_COLLATION", org.jooq.impl.SQLDataType.VARCHAR.length(32), TABLES); /** * The column information_schema.TABLES.CHECKSUM. @@ -124,12 +124,12 @@ public class Tables extends org.jooq.impl.TableImpl { /** * The column information_schema.TABLES.CREATE_OPTIONS. */ - public static final org.jooq.TableField CREATE_OPTIONS = createField("CREATE_OPTIONS", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField CREATE_OPTIONS = createField("CREATE_OPTIONS", org.jooq.impl.SQLDataType.VARCHAR.length(255), TABLES); /** * The column information_schema.TABLES.TABLE_COMMENT. */ - public static final org.jooq.TableField TABLE_COMMENT = createField("TABLE_COMMENT", org.jooq.impl.SQLDataType.VARCHAR, TABLES); + public static final org.jooq.TableField TABLE_COMMENT = createField("TABLE_COMMENT", org.jooq.impl.SQLDataType.VARCHAR.length(2048), TABLES); /** * No further instances allowed diff --git a/jOOQ-test/configuration/org/jooq/configuration/lukas/mysql/information_schema.xml b/jOOQ-test/configuration/org/jooq/configuration/lukas/mysql/information_schema.xml index 44522707c1..148a8a3e32 100644 --- a/jOOQ-test/configuration/org/jooq/configuration/lukas/mysql/information_schema.xml +++ b/jOOQ-test/configuration/org/jooq/configuration/lukas/mysql/information_schema.xml @@ -11,7 +11,7 @@ org.jooq.util.DefaultGenerator org.jooq.util.mysql.MySQLDatabase - SCHEMATA|TABLES|COLUMNS|KEY_COLUMN_USAGE|REFERENTIAL_CONSTRAINTS|TABLE_CONSTRAINTS + COLUMNS|KEY_COLUMN_USAGE|PARAMETERS|REFERENTIAL_CONSTRAINTS|SCHEMATA|TABLE_CONSTRAINTS|TABLES