Fix WriteTest for platforms supporting both sequences and identity columns #402
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The test
WriteTest::testLastInsertIdNoSequenceGiven()
does not work if the tested platform supports both sequences and identity columns and when the driver is able to return distinguished information about the last inserted sequence ID and identity column ID.The problem here is that both sequence IDs and identity column IDs get inserted into the database in the tests before. Therefore a driver that is capable of distinguishing between last inserted sequence and identity column IDs returns the last inserted identity column ID when
Connection::lastInsertId(null)
is called in this particular test.The behaviour of
Connection:lastInsertId()
is very inconsistent throughout the drivers and therefore a true expectation can only be made if the tested platform supports sequences but not identity columns.