I noticed that UserType.nullSafeSet() and nullSafeGet() don't have a
SessionImplementor argument, but those methods in CompositeUserType do
have it.
This might not make a difference in 3.6.x, but in H4, not having the
SessionImplementor argument makes it impossible to do dynamic type
overrides specified by the dialect.
As an example, suppose a UserType delegates nullSafeGet()/nullSafeSet()
to StandardBasicTypes.BLOB.nullSafeGet()/nullSafeSet(). True, the
UserType could delegate to the proper type (streaming or lob-binding).
To be able to use the same UserType for, say, both Oracle and
PostgreSQL, it would have to be possible to do the override based on
dialect.
I think the right thing to do is add the SessionImplementor argument for H4.
Comments?
Gail
Show replies by date