feat: implement "FOR UPDATE OF" for postgres driver #7040
Merged
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.
Description of change
Fixes #4084
This PR implements some parts of the unmerged #5253 PR, improving it to allow specifying multiple tables and checking whether the referenced tables exists in the query.
Also, there are some improvements to related methods JSDocs/Type definitions, removing invalid
wherespace, and adding missing lock mode toFindOptions.Note for whoever want to implement this for other drivers
Oracle uses a different syntax, specifying
table.columnorcolumninstead oftableafter theOFclause, so an special treatment needs to be done when oracle is the driver. source1 source2MySQL / Aurora do indeed support this syntax in their latest versions, but tests are using an outdated version of them, so a new updated image is needed for properly testing the feature. source
MySQL / Aurora in their latest version does not need to use a different
ifforreturn " LOCK IN SHARE MODE";, as they support theFOR SHAREsyntax. *same source as aboveMySQL / Aurora / Oracle supports
SKIP LOCKEDandNOWAIT, so when new tests images are added they can be included in the correspondingif. *same sources as abovePull-Request Checklist
masterbranchnpm run lintpasses with this changenpm run testpasses with this changeFixes #0000