graphql-engine/v3/crates
David Overton 4f580c6152 Add support order by nested fields (#1001)
<!-- The PR description should answer 2 important questions: -->

### What

Add support for ordering by nested fields.

Example query:
```graphql
query MyQuery {
  InstitutionMany(order_by: { location: { city: Asc } }) {
    id
    location {
      city
      campuses
    }
  }
}
```

This will order by the value of the nested field `city` within the
`location` column.

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->

### How

Extends GraphQL schema generation to register and then build GraphQL
input types for nested `OrderByExpression` metadata objects.

During IR generation, order by input arguments containing nested fields
are flattened out into the `field_path` property of NDC `OrderByTarget`.

### Limitations

Does not yet support `orderableRelationships`. I'll do that as as
separate PR.

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 6f4b1e098e60ce7906167b3afcd62de3c8616660
2024-08-26 05:24:52 +00:00
..
auth add a check for description in json schema validation (#943) 2024-08-08 05:47:47 +00:00
compatibility Revert "Optional CompatibilityConfig for v3-engine" (#1006) 2024-08-22 16:47:45 +00:00
custom-connector Add support order by nested fields (#1001) 2024-08-26 05:24:52 +00:00
engine Add support order by nested fields (#1001) 2024-08-26 05:24:52 +00:00
execute Add support order by nested fields (#1001) 2024-08-26 05:24:52 +00:00
ir Add support order by nested fields (#1001) 2024-08-26 05:24:52 +00:00
lang-graphql Explicitly import thiserror::Error in place (#827) 2024-07-11 15:18:27 +00:00
metadata-resolve Add support order by nested fields (#1001) 2024-08-26 05:24:52 +00:00
metadata-schema-generator Move all dependency versions into the workspace file. (#734) 2024-06-20 12:25:55 +00:00
open-dds Promote warnings to errors based on flags (#1011) 2024-08-23 16:03:58 +00:00
plugins/pre-execution-plugin user facing span for plugin execution (#1008) 2024-08-23 11:34:05 +00:00
query-usage-analytics Update dependencies in preparation for some cloud work. (#972) 2024-08-15 09:32:07 +00:00
schema Add support order by nested fields (#1001) 2024-08-26 05:24:52 +00:00
sql sql: commands backed by sql are now supported (#995) 2024-08-20 02:58:02 +00:00
utils opendd-derive: json_schema options for enum variants (#966) 2024-08-14 13:24:37 +00:00