fixed race condition causing incorrect IDs to be reported on INSERT #16
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.
When sending multiple INSERT operations to the MSSQL driver asynchronously, sometimes the IDs are incorrectly reported. I have observed 1) all the IDs being the same, 2) some IDs misreported, others correct. This is because MsSQL.prototype.create contains two SQL commands, the sum of which is not atomic. This change makes them atomic by wrapping them in a transaction.
Correct results are really important here - this was causing my foreign-key relationships to be configured incorrectly, which is a loss of data integrity.
I don't see a strong rationale for testing this, as it would be difficult to replicate, and would introduce indeterminacy into your test suite.