graphql-engine/server/src-lib/Hasura
David Overton 9921823915 GDC-189 custom aggregations
>

## Description
->

This PR allows DC agents to define custom aggregate functions for their scalar types.

### Related Issues
->

GDC-189

### Solution and Design
>

We added a new property `aggregate_functions` to the scalar types capabilities. This allows the agent author to specify a set of aggregate functions supported by each scalar type, along with the function's result type.

During GraphQL schema generation, the custom aggregate functions are available via a new method `getCustomAggregateOperators` on the `Backend` type class.
Custom functions are merged with the builtin aggregate functions when building GraphQL schemas for table aggregate fields and for `order_by` operators on array relations.

### Steps to test and verify
>

• Codec tests for aggregate function capabilities have been added to the unit tests.
• Some custom aggregate operators have been added to the reference agent and are used in a new test in `api-tests`.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6199
GitOrigin-RevId: e9c0d1617af93847c1493671fdbb794f573bde0c
2022-10-27 00:44:06 +00:00
..
Backends GDC-189 custom aggregations 2022-10-27 00:44:06 +00:00
Base Structured Error Protocol for Data Connectors Agents - GDW-137 2022-10-11 00:26:24 +00:00
Cache server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
Eventing Webhook Transforms: Move RequestCtx into a type family 2022-10-16 03:55:06 +00:00
GraphQL GDC-189 custom aggregations 2022-10-27 00:44:06 +00:00
Incremental server: switch to ghc 9.2 (2nd try) 2022-10-06 09:09:01 +00:00
Metadata server: codecs for object & array relationships, and computed fields 2022-10-13 17:57:23 +00:00
RemoteSchema scaffolding for remote-schemas module 2022-10-21 03:15:04 +00:00
RQL GDC-189 custom aggregations 2022-10-27 00:44:06 +00:00
Server server: Add an ExperimentalFeatureFlag for Aggregation Predicates 2022-10-25 13:21:40 +00:00
SQL Support MetadataDefaults Options - GDC-108 2022-10-20 12:46:45 +00:00
Tracing server: support 128-bit trace ids 2022-09-20 02:50:06 +00:00
App.hs Support MetadataDefaults Options - GDC-108 2022-10-20 12:46:45 +00:00
EncJSON.hs Import pg-client-hs as PG 2022-09-20 19:55:51 +00:00
GC.hs multitenant: make ourIdleGC parameters tunable, and with better defaults (SRE-191) 2022-10-19 21:36:56 +00:00
HTTP.hs Add Data Connector agent request logging, improve error messages, and add tracing support [GDW-83] 2022-07-11 08:05:40 +00:00
Incremental.hs Data connector cache invalidations 2022-09-14 13:00:47 +00:00
Logging.hs server: use metadata DB ID as ProjectID for EE lite projects 2022-09-15 09:13:56 +00:00
Name.hs server/postgres: fix the schema types conflict between aggregation predicates and table selection aggregates 2022-10-21 13:28:43 +00:00
QueryTags.hs server: support query tags for MSSQL data sources 2022-04-28 19:34:45 +00:00
Session.hs Import pg-client-hs as PG 2022-09-20 19:55:51 +00:00
Tracing.hs server: support 128-bit trace ids 2022-09-20 02:50:06 +00:00