this post was submitted on 11 Feb 2024
41 points (95.6% liked)

Programming

17017 readers
583 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Turun@feddit.de 9 points 7 months ago (1 children)

Neat idea and solves e.g. the N+1 problem.

But doesn't that just shift the DB logic (denormalization, filtering, aggregation) into the application code?

[–] Nighed@sffa.community 5 points 7 months ago (1 children)

SQL returns subsets of all tables with only those tuples that would be part of the traditional (single-table) query result set

So it returns only the data that would be returned from the query, so the filtering is done.

I can see some uses of it. If you look at what something like Entity Framework does behind the scenes to return nested objects, you can see how something like this might help.

[–] Turun@feddit.de 2 points 7 months ago (1 children)

Yeah, the post on Reddit had some insightful comments as well.

I did not think of nested objects that may be returned by an entity framework before.

[–] Nighed@sffa.community 1 points 7 months ago

EF can have big problems with "Cartesian explosions" if an object has two lists of sub objects to return, it will get listA length x listB length items due to how the joins work. You can see how this leads to the explosion part of the name (with more objects or lists).

Their solution is a "split query" option, that does each sub table as a separate query, then seamlessly gives you the combined result.

If a change like this let's you get those different table lists as distinct lists with the processing and round trip time of multiple requests then it could be a game changer.

(Source - my last week 🤣😭 + lots of EF docs)