more test and stabilization
The main goal of this release is to stabilize and test everything.
I decided to drop the beta suffix because the core functionality should work and is mostly tested.
There are still todos and missing implementations in some places but in obscure places like when you try to iterate a result backwards.
- There are now a lot more test cases (see GitHub Actions).
- Use phpunit ^7.5 so tests can run on php 7.1
- Some api stabilization by using return types, even though dbal doesn't use them yet
- fix issue where streams created by binaries weren't rewinded before being exposed
- improve the quote implementation to avoid possible multi byte attacks. Please take a look at the
Nemo64\DbalRdsData\AbstractConnection::quote
implementation and try to find situations in which this breaks and tell me. - the "?" placeholder in sql queries won't be replaced within literal strings now.
- Improve error handling by parsing the error message to add error codes. This allows dbal to map them to correct specific exceptions like
Doctrine\DBAL\Exception\TableNotFoundException
andDoctrine\DBAL\Exception\SyntaxErrorException
. - If an Aurora Serverless is paused, then the "Communications link failure" will be mapped to error
6000
and converted to anDoctrine\DBAL\Exception\ConnectionException
so it can easily be handled.