By typehinting only interfaces we can fully decouple Zend\Db\Sql from concrete Zend\Db\Adapter\Adapter implementation.
As you can see in the diff, I've changed no test, expect two protected-method tests, so there is no breaks.
I consider Zend\Db\Sql a good sql builder, and in order to use it with non-zend adapter, like Doctrine2, we need to provide only interface dependancies.
Decoupled Zend\Db\Sql from concrete Adapters
Decoupled from Adapter the main Sql factory
I'm sorry, why did you mark this PR as 2.1? I think it can be merged in 2.0 trunk
Because change method signatures and that is BC Break.
There are public methods expecting a concrete "Adapter" object and now will receive an object implementing "AdapterInterface"
@Maks3w Actually, the changes are fine.
This looks clean.
That said, because it introduces a new interface, it needs to be marked for 2.1, @Slamdunk -- so that categorization by @Maks3w is correct.
Do you prefer me to rebase to develop?
@Slamdunk shouldn't be a problem, actually; I'll merge shortly.
Merge branch 'hotfix/2989' into develop