IMO we should add a `Doctrine\DBAL\Driver\Exception` interface to have a contract for driver exceptions and let all drivers implement that interface. There could be methods like `getSqlState()` and `getDoctrineCode()` to retrieve the driver specific error codes. Then it would be the responsibility of the driver exception class to convert error codes instead of the driver class itself. This seems cleaner IMO than expecting the driver to be able to resolve the doctrine error code from any exception type. Furthermore the driver exception interface could be type hinted in the method signature of `DBALException::driverExceptionDuringQuery` then. What do you think?