graphql-engine/server/src-test/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/Error server: Remove QErr and Code dependencies from the schema parsers. 2022-07-27 12:26:44 +00:00
Generator Rewrite ir generators 2022-04-05 22:09:40 +00:00
GraphQL server: Add an ExperimentalFeatureFlag for Aggregation Predicates 2022-10-25 13:21:40 +00:00
Metadata/DTO Support MetadataDefaults Options - GDC-108 2022-10-20 12:46:45 +00:00
QuickCheck scaffolding for remote-schemas module 2022-10-21 03:15:04 +00:00
RQL server: adding a few code comments 2022-07-12 09:26:32 +00:00
Server Support MetadataDefaults Options - GDC-108 2022-10-20 12:46:45 +00:00
SQL server: Remove the Show instance from QErr and anything that touches it. 2022-07-01 11:48:26 +00:00
Tracing server: support 128-bit trace ids 2022-09-20 02:50:06 +00:00
AppSpec.hs Add forkIO and threadDelay errors to HLint. 2022-06-30 09:56:06 +00:00
EncJSONSpec.hs server: skip SOH header in FromCol EncJSON instance 2022-09-05 15:04:32 +00:00
EventingSpec.hs Remove RQL/Types.hs 2022-04-27 13:58:47 +00:00
EventTriggerCleanupSuite.hs relocate 'ServerReplicas' and 'ResizePoolStrategy' types 2022-10-20 01:34:17 +00:00
IncrementalSpec.hs server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
SessionSpec.hs server: Splits QuickCheck extension and orphan instance modules 2022-02-22 15:33:37 +00:00
StreamingSubscriptionSuite.hs relocate 'ServerReplicas' and 'ResizePoolStrategy' types 2022-10-20 01:34:17 +00:00