Revert "Ensure TypeContributor registered JdbcType has precedence over fallback and preferred types"
This reverts commit c6ecdb78f4
.
This commit is contained in:
parent
2e0b4b3558
commit
490b89becf
|
@ -391,11 +391,6 @@ public class MetadataBuildingProcess {
|
|||
// add Dialect contributed types
|
||||
final Dialect dialect = options.getServiceRegistry().getService( JdbcServices.class ).getDialect();
|
||||
dialect.contributeTypes( typeContributions, options.getServiceRegistry() );
|
||||
// Capture the dialect configured JdbcTypes so that we can detect if a TypeContributor overwrote them,
|
||||
// which has precedence over the fallback and preferred type registrations
|
||||
final JdbcType dialectUuidDescriptor = jdbcTypeRegistry.findDescriptor( SqlTypes.UUID );
|
||||
final JdbcType dialectArrayDescriptor = jdbcTypeRegistry.findDescriptor( SqlTypes.ARRAY );
|
||||
final JdbcType dialectIntervalDescriptor = jdbcTypeRegistry.findDescriptor( SqlTypes.INTERVAL_SECOND );
|
||||
|
||||
// add TypeContributor contributed types.
|
||||
for ( TypeContributor contributor : classLoaderService.loadJavaServices( TypeContributor.class ) ) {
|
||||
|
@ -405,12 +400,7 @@ public class MetadataBuildingProcess {
|
|||
// add fallback type descriptors
|
||||
final int preferredSqlTypeCodeForUuid = getPreferredSqlTypeCodeForUuid( serviceRegistry );
|
||||
if ( preferredSqlTypeCodeForUuid != SqlTypes.UUID ) {
|
||||
adaptToPreferredSqlTypeCode(
|
||||
jdbcTypeRegistry,
|
||||
dialectUuidDescriptor,
|
||||
SqlTypes.UUID,
|
||||
preferredSqlTypeCodeForUuid
|
||||
);
|
||||
adaptToPreferredSqlTypeCode( jdbcTypeRegistry, SqlTypes.UUID, preferredSqlTypeCodeForUuid );
|
||||
}
|
||||
else {
|
||||
addFallbackIfNecessary( jdbcTypeRegistry, SqlTypes.UUID, SqlTypes.BINARY );
|
||||
|
@ -418,25 +408,15 @@ public class MetadataBuildingProcess {
|
|||
|
||||
final int preferredSqlTypeCodeForArray = getPreferredSqlTypeCodeForArray( serviceRegistry );
|
||||
if ( preferredSqlTypeCodeForArray == SqlTypes.ARRAY ) {
|
||||
adaptToPreferredSqlTypeCode( jdbcTypeRegistry, dialectArrayDescriptor, SqlTypes.ARRAY, SqlTypes.VARBINARY );
|
||||
adaptToPreferredSqlTypeCode( jdbcTypeRegistry, null, SqlTypes.ARRAY, SqlTypes.VARBINARY );
|
||||
}
|
||||
else {
|
||||
adaptToPreferredSqlTypeCode(
|
||||
jdbcTypeRegistry,
|
||||
dialectArrayDescriptor,
|
||||
SqlTypes.ARRAY,
|
||||
preferredSqlTypeCodeForArray
|
||||
);
|
||||
adaptToPreferredSqlTypeCode( jdbcTypeRegistry, SqlTypes.ARRAY, preferredSqlTypeCodeForArray );
|
||||
}
|
||||
|
||||
final int preferredSqlTypeCodeForDuration = getPreferredSqlTypeCodeForDuration( serviceRegistry );
|
||||
if ( preferredSqlTypeCodeForDuration != SqlTypes.INTERVAL_SECOND ) {
|
||||
adaptToPreferredSqlTypeCode(
|
||||
jdbcTypeRegistry,
|
||||
dialectIntervalDescriptor,
|
||||
SqlTypes.INTERVAL_SECOND,
|
||||
preferredSqlTypeCodeForDuration
|
||||
);
|
||||
adaptToPreferredSqlTypeCode( jdbcTypeRegistry, SqlTypes.INTERVAL_SECOND, preferredSqlTypeCodeForDuration );
|
||||
}
|
||||
else {
|
||||
addFallbackIfNecessary( jdbcTypeRegistry, SqlTypes.INTERVAL_SECOND, SqlTypes.NUMERIC );
|
||||
|
@ -491,6 +471,18 @@ public class MetadataBuildingProcess {
|
|||
}
|
||||
}
|
||||
|
||||
private static void adaptToPreferredSqlTypeCode(
|
||||
JdbcTypeRegistry jdbcTypeRegistry,
|
||||
int defaultSqlTypeCode,
|
||||
int preferredSqlTypeCode) {
|
||||
adaptToPreferredSqlTypeCode(
|
||||
jdbcTypeRegistry,
|
||||
jdbcTypeRegistry.findDescriptor( defaultSqlTypeCode ),
|
||||
defaultSqlTypeCode,
|
||||
preferredSqlTypeCode
|
||||
);
|
||||
}
|
||||
|
||||
private static void adaptToPreferredSqlTypeCode(
|
||||
JdbcTypeRegistry jdbcTypeRegistry,
|
||||
JdbcType dialectUuidDescriptor,
|
||||
|
@ -502,7 +494,6 @@ public class MetadataBuildingProcess {
|
|||
jdbcTypeRegistry.getDescriptor( preferredSqlTypeCode )
|
||||
);
|
||||
}
|
||||
// else warning?
|
||||
}
|
||||
|
||||
private static void adaptToPreferredSqlTypeCodeForInstant(
|
||||
|
|
Loading…
Reference in New Issue