Comments (3)
For posterity: This was happening due to how Repo.preload
works. If there are any existing values, Repo.preload
just no-ops. Neither Dataloader nor ecto were doing any explicit caching, but it still acted that way due to the Ecto functionality.
I'm leaning towards having Dataloader act consistently and always query unless you've explicitly set the dataloader cache, which is what the linked PR does.
from dataloader.
Do you have an isolated test case that shows this? I'm not seeing any code in the ecto source that would do this.
from dataloader.
Thanks for having a chat about this on Slack @benwilson512 and coming to the root of the problem. It's nice to be able to make sure the associations are loaded correctly even though there might be preloads hanging around.
from dataloader.
Related Issues (20)
- Discussion about how to handle deeply nested dataloader HOT 3
- Map.t() dialyzer issue HOT 1
- limits or something else? HOT 2
- Accessing values from the context and passing in as argument HOT 1
- Badmatch error when child have limit and offset and parent have composite primary keys HOT 3
- Return response fields based on the context HOT 3
- Redundant ecto queries HOT 2
- New release planned? HOT 4
- Error when used in transactions HOT 16
- run_batch override for association loads HOT 3
- Any change for a newer release with support for Telemetry 1.0? HOT 1
- Dataloader returning invalid key within its resultset HOT 2
- Would it be possible to get a release published? HOT 4
- Confused on KV Operation HOT 1
- Multiple resolutions resulting in duplicate DB calls HOT 1
- Proposal for a high-level declarative Dataloader API
- Proposal for a high-level Ecto dataloader HOT 2
- Customize the association data with a callback similar to `run_batch/5`? HOT 3
- Dataloader queries assoc even if already loaded HOT 1
- Cryptic "bad bug" on patch update HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dataloader.