[jOOQ/jOOQ#14132] Code generator shouldn't generate precision on
non-decimal types
This commit is contained in:
parent
532f1a5402
commit
ea3c4590b3
@ -8087,14 +8087,16 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
String precision = "";
|
||||
String scale = "";
|
||||
|
||||
if (column.getType(resolver(out)).getLength() > 0) {
|
||||
length = ", length = " + column.getType(resolver(out)).getLength();
|
||||
DataTypeDefinition type = column.getType(resolver(out));
|
||||
DataType<?> t = getRuntimeDataType(type);
|
||||
if (t.hasLength() && type.getLength() > 0) {
|
||||
length = ", length = " + type.getLength();
|
||||
}
|
||||
else if (column.getType(resolver(out)).getPrecision() > 0) {
|
||||
precision = ", precision = " + column.getType(resolver(out)).getPrecision();
|
||||
else if (t.hasPrecision() && type.getPrecision() > 0) {
|
||||
precision = ", precision = " + type.getPrecision();
|
||||
|
||||
if (column.getType(resolver(out)).getScale() > 0) {
|
||||
scale = ", scale = " + column.getType(resolver(out)).getScale();
|
||||
if (t.hasScale() && type.getScale() > 0) {
|
||||
scale = ", scale = " + type.getScale();
|
||||
}
|
||||
}
|
||||
|
||||
@ -9468,6 +9470,15 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
);
|
||||
}
|
||||
|
||||
private DataType<?> getRuntimeDataType(DataTypeDefinition type) {
|
||||
try {
|
||||
return mapTypes(getDataType(type.getDatabase(), type.getType(), type.getPrecision(), type.getScale()));
|
||||
}
|
||||
catch (SQLDialectNotSupportedException ignore) {
|
||||
return SQLDataType.OTHER;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - 3.9.0 - [#330] - Use {@link #getType(Database, SchemaDefinition, String, int, int, Name, String, String)} instead.
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user