Comments (2)
I haven't thought much about what the best way to handle loading in multiple with joins would be, since we primarily use preloading rather than eager loading with joins. This means that you would use a separate query for each table, which works well for caching with identity cache, and avoids problems from trying to join a lot of associated tables together.
I think the solution would end up being similar to a field selection optimization, where you would need to look at the child selections, since they influence the query. graphql-ruby provides the AST node on the context (rmosolgo/graphql-ruby#6 (comment)), which seems to be the way to do this for now.
I'm going to close this, because I think it is out of scope for this library.
from graphql-batch.
@dylanahsmith Thanks for the response. I can see how identity cache would make this a non-issue for Shopify.
from graphql-batch.
Related Issues (20)
- through association loader order issue HOT 1
- How do you paginate responses when using AssociationLoader? HOT 7
- [graphql v1.10.0.pre2] undefined method `target`
- clarify GraphQL::Batch.batch documentation HOT 2
- [proposal] Integrate Rubocop
- [question] Using inverse ActiveRecord associations to avoid N+1 queries? HOT 3
- Add a changelog HOT 1
- Ruby 2.7 keyword arguments warning HOT 3
- Loaders that are nested / based on another HOT 2
- How to Implement Pagination with AssociationLoader using Connections? HOT 2
- Thoughts on hashing ActiveRecord relations?
- ActiveRecord::Associations::Preloader is private API
- Loader for has_many_attached HOT 1
- Nested loader doesn't work HOT 2
- fulfilled? always returns false even if it's fulfilled with promise HOT 1
- Love HOT 1
- N+1 problem happen with using Time.current in where sentence(maybe) HOT 2
- If a loader's perform method raises an exception after all promises have been fulfilled, it's silently dropped
- Deprecation in GraphQL. HOT 3
- Setup not working as of #164 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 graphql-batch.