Commit Graph

2292 Commits

Author SHA1 Message Date
Philip Lykke Carlsen
a4792a6b80 server/tests: Remove unnecessary complexity from Harness
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6700
GitOrigin-RevId: 3130097581b4e9284cd1074a5d74eb5165354eb4
2022-11-03 15:57:54 +00:00
Tom Harding
d823d201b9 CREATE SCHEMA _ IF NOT EXISTS in api-tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6701
Co-authored-by: Daniel Harvey <4729125+danieljharvey@users.noreply.github.com>
GitOrigin-RevId: 13ab91a8c4241fb4e60df9e8856bc926afac6be9
2022-11-03 14:54:48 +00:00
Lyndon Maydwell
4db9941b32 Prohibit underscores in dataconnector names [GDC-586]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6681
GitOrigin-RevId: 5335208fc4c8f0d1b16a45415329ef390a269b4c
2022-11-03 14:00:52 +00:00
Philip Lykke Carlsen
5b2877bc8f server/tests: Move subscriptions harness to a separate module
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6664
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: f5d7793606a50fb10f871ae757748fe5c21e50c8
2022-11-03 10:58:32 +00:00
Karthikeyan Chinnakonda
d7609233c4 Rename get_event_invocations to get_scheduled_event_invocations
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6513
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
GitOrigin-RevId: 172ba6152ed77b90eeec9183a3fb4c6f177e45b3
2022-11-03 10:23:11 +00:00
Nicolas Inchauspe
b0d5238c3b console: globally add missing <!DOCTYPE html>
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6661
GitOrigin-RevId: ee45e493c76ad81569731dcd5468c846ba01cd12
2022-11-03 07:06:06 +00:00
awjchen
700d4616cb server: add logging for debugging metadata sync issues
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6657
GitOrigin-RevId: ab7b8015010d20a641606fad8cd1cc8563466d0c
2022-11-02 23:24:23 +00:00
Samir Talwar
342391f39d Upgrade Ormolu to v0.5.
This upgrades the version of Ormolu required by the HGE repository to v0.5.0.1, and reformats all code accordingly.

Ormolu v0.5 reformats code that uses infix operators. This is mostly useful, adding newlines and indentation to make it clear which operators are applied first, but in some cases, it's unpleasant. To make this easier on the eyes, I had to do the following:

* Add a few fixity declarations (search for `infix`)
* Add parentheses to make precedence clear, allowing Ormolu to keep everything on one line
* Rename `relevantEq` to `(==~)` in #6651 and set it to `infix 4`
* Add a few _.ormolu_ files (thanks to @hallettj for helping me get started), mostly for Autodocodec operators that don't have explicit fixity declarations

In general, I think these changes are quite reasonable. They mostly affect indentation.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6675
GitOrigin-RevId: cd47d87f1d089fb0bc9dcbbe7798dbceedcd7d83
2022-11-02 20:55:13 +00:00
Tom Harding
aaf8e9a8c1 Add tests for streaming subscriptions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6650
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: 415f7904b591d2c4e32ec320570d1b8e0bef1719
2022-11-02 13:23:47 +00:00
Gil Mizrahi
60bd73e8d9 add a test for subscriptions with variables
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6653
GitOrigin-RevId: b7d7f7392c50e983183812b270af3516c831d859
2022-11-02 12:47:04 +00:00
Daniel Harvey
11ff01f3e9 [server] Fix CockroachDB live queries
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6551
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: e78ce17d3ff5c677360b2927dca04a91e144952e
2022-11-02 11:41:02 +00:00
Samir Talwar
dbc027424b Rename relevantEq to (==~) for Ormolu's sake.
Ormolu v0.5 tries to reformat code using operators according to fixity. Unfortunately, it doesn't really understand backticked functions (even when they have an associated `infix` declaration), and so messes up the formatting.

This is probably a bug in Ormolu, but we can work around it by using a symbol operator.

Happy to bikeshed on `==~` (which I am reading as "pretty much equal to"). Please yell at me if you prefer something else.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6651
GitOrigin-RevId: 79af427422194460200b2b48339cdb9ee9b33c33
2022-11-02 10:43:48 +00:00
Tom Harding
7df6198b68 Add multiplexed subscription testing
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6637
GitOrigin-RevId: a92b333b88c548ba514e69598a86098d8f6243cc
2022-11-02 09:39:47 +00:00
Karthikeyan Chinnakonda
9177335c31 Source catalog migrations minor enhancements
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6531
Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com>
GitOrigin-RevId: 51dd55692f59d6ad0fd54674fb7d3ce00d5d83dd
2022-11-01 22:42:40 +00:00
Solomon
f5c68ee49e Fixes chinook table/column customizations to have consistent casing
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6642
GitOrigin-RevId: 629879fa057c3860aac1c3a83d2dfd199edb44e1
2022-11-01 22:08:59 +00:00
Lyndon Maydwell
4b968b17e0 ConfigSpec Data Connector Agent Test
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6616
GitOrigin-RevId: dd5582cd6b61b7412d931035c043daa5fbb55c71
2022-11-01 21:38:12 +00:00
Daniel Harvey
cc87b25373 [tests] - allow Postgres source DB port to be overwritten in api-tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6646
GitOrigin-RevId: b96a68c5eab1ac33a226d2d89141e0de9eaeff93
2022-11-01 21:05:00 +00:00
Tom Harding
fbcf90d56f Add a test for Distinct queries
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6426
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: 65387489ab0cabe0cb520799821380732ecef3e7
2022-11-01 19:58:46 +00:00
Auke Booij
29b2161402 Add benchmarks for allowlist operations
There are some incremental Metadata API methods that have no good justification for taking so much time to complete. This adds some of them to the CI benchmark suite, so that we can track their performance.

I have a prototype to speed up some of these methods 10x; see hasura/graphql-engine-mono#6613.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6627
GitOrigin-RevId: fecc7f28cae734b4acad68a63cbcdf0a2693d567
2022-11-01 17:28:15 +00:00
Vishnu Bharathi
9318cb2533 ci: tag release v2.15.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6639
GitOrigin-RevId: e8b73f1eed61c279bf53b90339dba5f09f0e2d9a
2022-10-31 15:58:31 +00:00
Vishnu Bharathi
c729bd0ef3 ci: tag release v2.14.0
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6624
GitOrigin-RevId: a36d030369cc5572b9d11b4a65fd7294ece1fd56
2022-10-31 08:10:33 +00:00
hasura-bot
3ca779797d server: deduplicate Postgres function names with HashSet (close #8888)
GITHUB_PR_NUMBER: 9112
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/9112

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6353
Co-authored-by: Daniel Shuy <17351764+daniel-shuy@users.noreply.github.com>
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: ebfb57b98fe93b86d5319dc78ac1308e00941a2e
2022-10-28 08:24:25 +00:00
Vishnu Bharathi
348668a3c5 ci: tag release v2.13.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6593
GitOrigin-RevId: f91405a0ea5b7204c944b7f247e10f0d88c88d57
2022-10-28 05:38:33 +00:00
David Overton
87bcdb97c7 Use JSON instead of GraphQL for comparison operators
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6563
GitOrigin-RevId: 0819414df199292e0146ce3009295ce3e49f2439
2022-10-28 01:14:09 +00:00
Auke Booij
98ac94ae27 Benchmark the incremental metadata API
This introduces an adhoc operation to the benchmark of `huge_schema`, so that we can track performance of the incremental Metadata API.

This untracks a table that is not referenced by anything else in the `huge_schema` metadata, so that we don't need to cascade any changes. And then it tracks it again.

Benchmarking this will be valuable for working on `Hasura.Incremental`.

Results will start showing up in the benchmark report when this is merged to `main`.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6553
GitOrigin-RevId: 65dad4f7a5fe1c230c5def136640bb68f4a4aa9b
2022-10-27 19:40:24 +00:00
Daniel Harvey
8ad0c65051 [tests] api-tests use separate metadata database
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6573
GitOrigin-RevId: baa425216fc7394d01d0e2923d7c7e54598da40b
2022-10-27 19:08:45 +00:00
Daniel Harvey
b3471f27b8 [server] enable Cockroach subscriptions and re-add CustomFieldsSpec test
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6568
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: 678c4fcb55a576d52cdb8f40dcfe2bf7948e8863
2022-10-27 17:27:32 +00:00
Naveen Naidu
938a0a66cc server: do not apply default tenant time limits to Hasura EE
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6552
Co-authored-by: Anon Ray <616387+ecthiender@users.noreply.github.com>
GitOrigin-RevId: 2e4466308c3a9b5aba6dd55a79dae7de096a0f27
2022-10-27 15:37:00 +00:00
Tom Harding
78f3754953 Add Cockroach and Postgres to DataValidation tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6343
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: 9f5d98e180721eaf12fd4c4e60a42b6dee6b5cca
2022-10-27 12:20:41 +00:00
Samir Talwar
6a81bdd0b9 server/tests-py: Generate random ports for a few more helper services.
I missed these.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6481
GitOrigin-RevId: 8bc92c27c8de25bc3518be5b788e7b5c55867df8
2022-10-27 11:49:06 +00:00
Samir Talwar
6f85498a44 server/tests-py: Use non-deprecated TLS code.
`ssl.wrap_socket` is deprecated in favor of `SSLContext.wrap_socket`.

Also throws in a quick speed improvement to _server/tests-py/run.sh_ on x86_64.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6498
GitOrigin-RevId: 7bbe5f86daf45677e2a39cfcfe183794ffcd2954
2022-10-27 09:17:22 +00:00
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
hasura-bot
a2e6e50e27 Fix broken links
GITHUB_PR_NUMBER: 9138
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/9138

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6462
Co-authored-by: arpitpandey0209 <9442768+arpitpandey0209@users.noreply.github.com>
GitOrigin-RevId: 85ce1a190477803f553deb31c1c95b512fa3fca0
2022-10-26 14:22:19 +00:00
ananya-2410
e2dc37ab60 ci: tag release v2.14.0-beta.2
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6540
GitOrigin-RevId: 20cfc7b281e3664b67b4fa8be44a307716efef63
2022-10-26 08:47:06 +00:00
Vamshi Surabhi
40de5f21f9 remove cyclic dependencies in 'Hasura.GraphQL.Schema' module
Prior to this commit, various definition types representing GraphQL schema internally and the logic which collected a schema from the definition types were in a single module called `Hasura.GraphQL.Schema`. This created cyclic dependencies between `Hasura.GraphQL.Schema` module and `Hasura.GraphQL.Schema.Convert` module.

This is now fixed by:
1. Moving all the definition related types into `Hasura.GraphQL.Schema.Definition` module
1. The logic that collects a GraphQL Schema from these types into `Hasura.GraphQL.Schema.Collect`

With these changes, `Hasura.GraphQL.Schema` module just exports both these modules.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6517
GitOrigin-RevId: d5207cf31335aeeddd874ed6f921a17892580b4c
2022-10-25 15:02:28 +00:00
Philip Lykke Carlsen
8cb14a592d server: Add an ExperimentalFeatureFlag for Aggregation Predicates
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6523
GitOrigin-RevId: 76861a1bf0d9895901564935b0778e7bda75c6a9
2022-10-25 13:21:40 +00:00
Vamshi Surabhi
c2a1d30765 simplify type collection for introspection
No user facing changes. Minor cleanup.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6519
GitOrigin-RevId: 7d9b6077a609175642059895800e9c540cf62790
2022-10-25 11:13:38 +00:00
Philip Lykke Carlsen
064095abdb server/tests: Add ability to test subscriptions in test-harness
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6494
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: d773139d59e590a5dbbc1c596958e2731dff3e76
2022-10-25 09:06:45 +00:00
Luca Restagno
49e9c47db3 Docs: improve Console contributing instructions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6471
GitOrigin-RevId: bec885589e9e8e631e73dc288dea60375d5e9248
2022-10-25 08:14:52 +00:00
Antoine Leblanc
50bdd9610e [documentation] add more details to remote joins engineering documentation
### Description

This small PR develops a bit the existing documentation about remote joins. It adds a new section that details where each piece of the feature is located, and adds two paragraphs detailing some of the implementation details of the execution.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6505
GitOrigin-RevId: 6edd5459e4081cc6c9a80fdc92c2d479dedb2be9
2022-10-24 20:54:26 +00:00
Daniel Harvey
daf55101f4 tests: force remove BigQuery datasets and don't bother manually removing tables
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6473
GitOrigin-RevId: 15cefa76cfd472f4197ae965970dfbc203f694a4
2022-10-24 16:54:35 +00:00
Daniel Chambers
792ef3117d Export Chinook dataset to JSON lines for Athena consumption
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6489
GitOrigin-RevId: 36a068179d595f3d838995fb057b8ee590d1fd02
2022-10-24 02:10:51 +00:00
Abby Sassel
3427488c68 NDAT-206 Disable the relay schema for cockroach sources
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6468
GitOrigin-RevId: 9c7735c2318580f1b853d6a8d2d586cffef72c59
2022-10-21 19:11:41 +00:00
paritosh-08
b8bbb8a621 server: optional query params in REST connector
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6381
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: b777b373b2fbe19ceb32f812d4eaba45ef0a5a58
2022-10-21 18:40:48 +00:00
Samir Talwar
133a9b7452 server/tests-py: Generate random ports for helper services.
If the tests are run with specific ports assigned to specific services,
set through the environment variables, we continue to use those ports.
We just don't hard-code them now, we pick them up from the environment
variables.

However, if the environment variables are not set, we generate a random
port for each service. This allows us to run multiple tests in parallel
in the future, independently.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6218
GitOrigin-RevId: 3d2a1880bf67544c848951888ce7b4fa1ba379dc
2022-10-21 17:34:21 +00:00
Samir Talwar
c3afa0fdd7 Install and use ODBC Driver 18 for SQL Server (msodbcsql18).
This installs the ODBC Driver 18 for SQL Server in all our shipped Docker images, and update our tests and documentation accordingly.

This version supports arm64, and therefore can run natively (or via Docker) on macOS on aarch64.

`msodbcsql17` is still installed in production-targeted Docker images so that users do not _have_ to migrate to the new driver.

Nix expressions are packaged for the new driver, as it is not yet available in nixpkgs.

In this version, [the default encryption setting was changed from "no" to "yes"](https://techcommunity.microsoft.com/t5/sql-server-blog/odbc-driver-18-0-for-sql-server-released/ba-p/3169228). In addition, "mandatory" and "optional" were added as synonyms for "yes" and "no" respectively.

I have therefore modified all connection strings in tests to specify `Encrypt=optional` (and changed some from `Encrypt=no`). I chose "optional" rather than "no" because I feel it's more honest; these connection strings will work with or without an encrypted connection.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6241
GitOrigin-RevId: 959f88dd1f271ef06a3616bc46b358f364f6cdfd
2022-10-21 16:25:04 +00:00
Gil Mizrahi
d12827561b NDAT-207 fix unique constraints and indexes for cockroachdb
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6444
GitOrigin-RevId: 2baf2c954aeead47b82396cafe703e41e0f201a2
2022-10-21 14:03:55 +00:00
Gil Mizrahi
9c3bd2f0d0 server/postgres: fix the schema types conflict between aggregation predicates and table selection aggregates
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6452
GitOrigin-RevId: ed43442c7ade298659bdc42ff76e8e229825f0f1
2022-10-21 13:28:43 +00:00
Daniel Harvey
ac4b15c07b CI: reject unused imports
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6466
GitOrigin-RevId: 157a51f338e4e80dffedb8b0dcf57173ba6bd126
2022-10-21 11:12:53 +00:00
paritosh-08
e692c3b20d server: add IF EXISTS while dropping the constraint in source migration
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6457
GitOrigin-RevId: 1e76ca71c35cf117da7a073080df8a39e5820ddd
2022-10-21 04:44:08 +00:00