feat: allow null field values in loadManyByFieldEqualityConjunctionAsync #130
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.
Why
A feature request from @jkhales for an API endpoint within the Expo server.
Since the results for this type of load aren't stored in a dataloader or cached, we can just pipe null fieldValues directly through to the database adapters for load, and it is their duty to handle them for this type of load.
How
This ended up being slightly more difficult than anticipated but not too bad. Complications:
ANY(?)
cannot containNULL
so it needs to be split into separateOR WHERE
but within the same conjunctive clause.NULLS FIRST/LAST
postgres behavior in StubDatabaseAdapter required checking for null explicitly: https://www.postgresql.org/docs/8.3/queries-order.html#:~:text=The-,NULLS%20FIRST,-and%20NULLS%20LASTTest Plan
Run tests.