You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolve types through the DBAL TypeProvider interface
DBAL 4.5 exposes Configuration::getTypeProvider() returning the new
Doctrine\DBAL\Types\TypeProvider interface rather than the final TypeRegistry,
so the type source is no longer required to be that concrete class. Renamed
TypeRegistryLocator to TypeProviderLocator accordingly, along with the
$typeRegistry properties and locals it feeds.
The declared types are unions of TypeProvider and TypeRegistry, because the
interface only exists as of DBAL 4.5 while these code paths still support older
versions. PHP matches the first applicable member of a union and never loads the
other, so the union resolves fine when TypeProvider is absent, whereas a sole
TypeProvider type would raise a TypeError. Every such union sits on a private
property, a private parameter, or the @internal locator, so none of it reaches
the public API.
DatabaseDriver now reads Column::getTypeName() instead of looking a name back up
from an instance, which drops two deprecated calls at once. SqlWalker's
deprecated TypedExpression branch keeps using Type::lookupName(), since a Type
instance is all it has; both are deprecated and will be removed together.
0 commit comments