Git Product home page Git Product logo

Comments (4)

maxpain avatar maxpain commented on June 15, 2024

+1

from join-monster.

theobat avatar theobat commented on June 15, 2024

Ok, with hindsight you can hack with the where function of the api to pass an ORDER BY as long as you only order by the main table (the only one that is passed to the where function). So it seems #63 takes the precedence.

Of course it'd be better to have both #63 (that is to say - passing all the tables involved to the where function) and a dedicated orderBy function similar to the where already in the api but the latter can wait.

from join-monster.

acarl005 avatar acarl005 commented on June 15, 2024

@theobat This is a bit confusing in the docs. Join Monster does not require you to use Relay to support pagination. Rather, it uses Relay's specification for pagination. Relay's specification requires you to have specific Object types called Connection types that have specific fields, i.e. pageInfo, hasNextPage. Join Monster conforms to this particular interface. It does not matter if Relay happens to be the GraphQL client consuming this API. So you can go ahead and paginate without Relay.

Currently ORDER BY outside of the paginated subqueries are not supported. You can sort the results in your resolvers. Yes, this wastes your servers' CPU cycles. It would be much more efficient to do the sorting in the DBMS where it could take advantage of ordered indexes. We didn't implement this because it got very complicated. What if multiple tables want to order? What if it gets mixed with pagination? We hope to work this out. But for now, ordering can be done in the application layer.

from join-monster.

acarl005 avatar acarl005 commented on June 15, 2024

@theobat @Maxpain177
ORDER BY clauses are now generally supported with the orderBy property in v1.0.1, even for non-paginated fields. See this page in the docs for details.

from join-monster.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.