Commit Graph

3690 Commits

Author SHA1 Message Date
Philip Lykke Carlsen
4c1f3d0140 Adding ColumnMutability to column metadata
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2962
GitOrigin-RevId: ee2687e84842dc5dd647ce9aa017c6051556d0e5
2021-12-01 11:34:16 +00:00
Kali Vara Purushotham Santhati
b21a86937a ci: increase golang linter timeout
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3020
GitOrigin-RevId: 500e6e0c427ce6274ddeb2a9bd89b6ee175f2f9f
2021-12-01 10:01:11 +00:00
Sai Krishna Prasad Kandula
4f1c2ff879 docs: segment track event naming adjustment
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3014
GitOrigin-RevId: 0428f962c038f3d03ef45413dca807041dcef50c
2021-12-01 09:07:53 +00:00
Antoine Leblanc
90d3192df2 Unified remote relationship metadata
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2903
Co-authored-by: Vamshi Surabhi <6562944+0x777@users.noreply.github.com>
GitOrigin-RevId: 11fd6efe8cea246471e525cfb5bad66fa53ccaf9
2021-12-01 04:54:30 +00:00
Antoine Leblanc
f9b64b7d7c Fix some dev.sh issues
### Description

This PR fixes two small issues with the `dev.sh` script:

- when running the script without a specific test flag (`./scripts/dev.sh test`), we would start some of the containers more than once; this PR fixes this by checking whether the container is already running before starting it
- we were still doing some bigquery setup in the main code, despite that setup being already done in `parse-pytest-backend`, which would result in biquery setup errors even when testing non-bigquery backends; this PR just deletes the redundant line.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3017
GitOrigin-RevId: 86a53b1fe974aae733a02bdf045389a0d7436cb7
2021-11-30 16:37:34 +00:00
Antoine Leblanc
f7071b3c93 Changed RemoteSchemaIntrospection's internal representation from a list to a hashmap.
### Description

This PR changes the internal representation of a parsed remote schema. We were still using a list of type definitions, meaning every time we were doing a type lookup we had to iterate through a linked list! 🙀 It was very noticeable on large schemas, that need to do a lot of lookups. This PR consequently changes the internal representation to a HashMap. Building the OneGraph schema on my machine now takes **23 seconds**, compared to **367 seconds** before this patch.

Some important points:
- ~~this PR removes a check for type duplication in remote schemas; it's unclear to me whether that's something we need to add back or not~~ (no longer true)
- this PR makes it obvious that we do not distinguish between "this remote schema is missing type X" and "this remote schema expects type X to be an object, but it's a scalar"; this PR doesn't change anything about it, but adds a comment where we could surface that error (see [2991](https://github.com/hasura/graphql-engine-mono/issues/2991))

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2963
GitOrigin-RevId: f5c96ad40f4e0afcf8cef635b4d64178111f98d3
2021-11-30 14:47:50 +00:00
Naveen Naidu
5cd6c5e43d multitenant: support for event disabling
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2900
GitOrigin-RevId: b2844fa433cfd8f8a29b7e98c6ec44773fd44a57
2021-11-30 12:32:26 +00:00
Rishichandra Wawhal
0c3cd7f092 console: vpc banner improvements
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2838
Co-authored-by: Martin Mark <74692114+martin-hasura@users.noreply.github.com>
GitOrigin-RevId: cce5e465aa2da0e45cdcfc2fd5f8a81298eaa827
2021-11-30 11:14:29 +00:00
Auke Booij
29158900d8 Refactor type name customization
Source typename customization (hasura/graphql-engine@aac64f2c81) introduced a mechanism to change certain names in the GraphQL schema that is exposed. In particular it allows last-minute modification of:
1. the names of some types, and
2. the names of some root fields.

The above two items are assigned distinct customization algorithms, and at times both algorithms are in scope. So a need to distinguish them is needed.

In the original design, this was addressed by introducing a newtype wrapper `Typename` around GraphQL `Name`s, dedicated to the names of types. However, in the majority of the codebase, type names are also represented by `Name`. For this reason, it was unavoidable to allow for easy conversion. This was supported by a `HasName Typename` instance, as well as by publishing the constructors of `Typename`.

This means that the type safety that newtypes can add is lost. In particular, it is now very easy to confuse type name customization with root field name customization.

This refactors the above design by instead introducing newtypes around the customization operations:
```haskell
newtype MkTypename = MkTypename {runMkTypename :: Name -> Name}
  deriving (Semigroup, Monoid) via (Endo Name)

newtype MkRootFieldName = MkRootFieldName {runMkRootFieldName :: Name -> Name}
  deriving (Semigroup, Monoid) via (Endo Name)
```
The `Monoid` instance allows easy composition of customization operations, piggybacking off of the type of `Endo`maps.

This design allows safe co-existence of the two customization algorithms, while avoiding the syntactic overhead of packing and unpacking newtypes.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2989
GitOrigin-RevId: da3a353a9b003ee40c8d0a1e02872e99d2edd3ca
2021-11-30 09:52:53 +00:00
David Overton
5bfce057c6 Refactor remote schema customization
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2771
GitOrigin-RevId: 0c90136f956df3f4552140e6ca3d2f4766f8b3f5
2021-11-30 00:38:27 +00:00
Abby Sassel
1d39c9ca2f server/rfc: memorialise internal discussions in upserts RFC
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3001
GitOrigin-RevId: e58f3ea33b3d3a8ffb8d9ffddbc3c91eda0ed8f7
2021-11-29 15:51:01 +00:00
Varun Choudhary
bc467a283a console: Add select all columns option while selecting the columns in event triggers
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2688
Co-authored-by: Abhijeet Khangarot <26903230+abhi40308@users.noreply.github.com>
GitOrigin-RevId: 0b98d2f388c7f8428f3c282e8c1662f8b046f4dd
2021-11-29 12:29:47 +00:00
Abby Sassel
3fc34aa028 server: deduplicate some pytests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2988
GitOrigin-RevId: 018903d81c6025da2d9eb78aad4762a78f1f6c69
2021-11-26 19:38:17 +00:00
Chris Done
12335bce91 Add a test of tests in common via persistent #2872
Dupe of https://github.com/hasura/graphql-engine-mono/pull/2872 with branch renamed so it doesn't break a tool.

prev pr: https://github.com/hasura/graphql-engine-mono/pull/2921

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2922
Co-authored-by: Abby Sassel <3883855+sassela@users.noreply.github.com>
GitOrigin-RevId: 24af6a814dd106864a2fd3cb985edfe9a8ef5d61
2021-11-26 18:22:00 +00:00
Philip Lykke Carlsen
4f6831d76e Defining the MSSQL update schema using said components
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2923
GitOrigin-RevId: 732988f666f00b3c5eebf6089f9887ee5d679c11
2021-11-26 13:48:09 +00:00
Matt Hardman
6451fba595 console: create permissions table components
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2840
GitOrigin-RevId: a6dbc4d7e3278006465b44cfc4392afec1f9d426
2021-11-26 12:32:04 +00:00
Antoine Leblanc
e3d5c0217f Rename tables in metadata tests to avoid conflicts.
### Description

Tests are not run the same way locally and on CI, which means that tests that work on CI can fail locally. In this case, the setup for each test is creating and dropping a table named `author`; a lot of the tests were also creating a table named `author` in source `pg1`. If `pg1` is the same as the default source, which is the case locally, then all of those tests fail, while the tests that use a default `pg1` such as CI would succeed.

This PR fixes this by renaming `author` to `author_local` where appropriate.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2982
GitOrigin-RevId: 5bc0149bc5f6cb27de9864afaded8af071ade454
2021-11-26 11:40:23 +00:00
Abhijeet Khangarot
0f07f944ba console: request transformations for events
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2498
Co-authored-by: Sooraj <8408875+soorajshankar@users.noreply.github.com>
GitOrigin-RevId: d1c331fb989e247ed807167eefa92b226fe4afb9
2021-11-26 08:50:44 +00:00
Philip Lykke Carlsen
63ee663626 Excise query tags from backend schema
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2960
GitOrigin-RevId: ff6418609117abc8e0410c0897f2af9779cecf16
2021-11-25 21:08:54 +00:00
hasura-bot
169902f88a docs: fix typo in config examples page
GITHUB_PR_NUMBER: 7634
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7634

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2489
Co-authored-by: thephenix4 <69722745+thephenix4@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 246da4575afa583ce44fc858ac1a1053a730cf26
2021-11-25 13:40:28 +00:00
hasura-bot
4f827429d3 community: fix type in event-triggers.md
GITHUB_PR_NUMBER: 7321
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7321

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/1958
Co-authored-by: Tobias Mühl <3341826+tobiasmuehl@users.noreply.github.com>
GitOrigin-RevId: 742341c2c8cac8b68d9886826a89bd867ddda02b
2021-11-25 13:20:30 +00:00
hasura-bot
2bd79ead05 community: fix typo in auth boilerplate
GITHUB_PR_NUMBER: 7633
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7633

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2488
Co-authored-by: thephenix4 <69722745+thephenix4@users.noreply.github.com>
GitOrigin-RevId: 87db71c93cd071ef23ed0f877158ecd9a33d454d
2021-11-25 13:04:16 +00:00
hasura-bot
ee8ccebaca changelog: update Relay dead link
GITHUB_PR_NUMBER: 7637
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7637

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2491
Co-authored-by: wenzdey <56051809+wenzdey@users.noreply.github.com>
GitOrigin-RevId: 7a9b42f8e04c38b0e94b529b59ea9e70aae5fa87
2021-11-25 12:46:50 +00:00
hasura-bot
1519b66c4c docs: add note on computed fields not being part of event trigger payload
GITHUB_PR_NUMBER: 7816
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7816

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2888
Co-authored-by: Vildan Softic <2861414+zewa666@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 816574a4228a396ebc8bcdfe1a6acd9d7be87bba
2021-11-25 12:39:21 +00:00
hasura-bot
a3076a3f64 docs: remove duplicate text
GITHUB_PR_NUMBER: 7485
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7485

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2264
Co-authored-by: Brian Childress <2747820+brian-childress@users.noreply.github.com>
GitOrigin-RevId: 0648792cfd46a5e545564a309834031a269a290e
2021-11-25 11:59:04 +00:00
Gil Mizrahi
f1cbe4e72b pass MSSQL_SA_PASSWORD to mssql container, and add MSSQL_HOST
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2969
GitOrigin-RevId: 42e4cdf36306148ea34ea19fd42ce5048a38dbbc
2021-11-25 10:23:53 +00:00
Abby Sassel
3166010ac1 server: belatedly address #2889 feedback
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2945
GitOrigin-RevId: 8ccb6479391c2b38af6a4c9ac209e29d4e26f65c
2021-11-24 21:40:44 +00:00
Kirill Zaborsky
a2afe4116b BigQuery remote joins
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2874
Co-authored-by: Abby Sassel <3883855+sassela@users.noreply.github.com>
GitOrigin-RevId: 24b0304716795a28038629775238996c28b312a3
2021-11-24 16:22:55 +00:00
Rikin Kachhia
536605fb99 docs: add Hasura Cloud caveat in configuring metadata db example
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2954
GitOrigin-RevId: 1ea35da4241b53100cdcdc2631fc6b41cccf8861
2021-11-24 12:29:47 +00:00
Gil Mizrahi
6dae132fce Add instructions for compiling graphql-engine natively on M1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2049
GitOrigin-RevId: 9f10c26eef5382fb7b8e750ad272a5797b4cd6d8
2021-11-24 09:59:10 +00:00
kodiakhq[bot]
020198969f ci: fix up pro build scripts, optimize cabal/ghc build flags
Before these changes:

**pro build:** 52min
**oss build**: 62min

After:

**pro build:** 25min
**oss build**: 23min

This decreases overall CI wall-clock time from 1:50:00 to 1:15:00.

Despite bumping the instance size for OSS builds this should (back-of-envelope) **_cut_ CI costs** for haskell build stuff by ~33%

Future work will:

- cache library dependency build products: saves further ~8 min (build and wallclock)
- use the oss lib build products in pro as well: saves further ~5min server time (i.e. saves money for same build time)
- maybe cache the rest of `dist-newstyle`: savings depend on the diff (at most 4.5 min; is this even worthwhile?)

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2937
GitOrigin-RevId: a1faceaf1adfc1701e634a887f2cdabacab5cddd
2021-11-24 08:20:14 +00:00
Chris Done
926da74819 Auto-launch graphql-engine (close hasura/graphql-engine#7801, hasura/graphql-engine#7827 )
Dupe of https://github.com/hasura/graphql-engine-mono/pull/2853 with branch renamed so it doesn't break a tool.

prev pr: https://github.com/hasura/graphql-engine-mono/pull/2911

next pr: https://github.com/hasura/graphql-engine-mono/pull/2922

This implements https://github.com/hasura/graphql-engine/issues/7801

Some points to keep in mind for review:

* How state is passed to the tests. Do we like how this works?
   * I quite like it, with the opaque type [`State`](68f33051ca/server/tests-hspec/Harness/State.hs (L17)), we can avoid churn when adding things.
   * The [setup/teardown](68f33051ca/server/tests-hspec/Spec.hs (L19-L31)) seems clean.
   * By using hspec's own means to pass and denote context, we avoid "getting new ideas" for how to structure the tests -- we use a standard. Hopefully, that means the tests' structure rarely change.
* The various flags passed in the [ServeOptions](68f33051ca/server/tests-hspec/Harness/Constants.hs (L123)) - if there are any causes for concern, raise them here. My thinking is that, there are lots. I've picked some "sane" defaults (mostly empty). The tests pass. I think as we add more complex tests, these flags will be scrutinised and updated as needed. I think it's valuable that all flags are explicitly listed here, though.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2921
GitOrigin-RevId: 2c2e70bf784ef571a48509a7e5006fd0f48773b5
2021-11-23 18:16:15 +00:00
Chris Parks
a79886bcda Use left join instead of lateral join to fetch foreign key constraints
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2939
GitOrigin-RevId: ed42b885e6e08e653b0888e0eb2012041361a41f
2021-11-23 15:19:49 +00:00
Solomon
2bbc3e5d26 Bumps the Kriti Pin to 0.2.2
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2891
Co-authored-by: Lyndon Maydwell <92299+sordina@users.noreply.github.com>
GitOrigin-RevId: 2517fc3efdf6708177d6163db023c67a7f7e2ec5
2021-11-22 12:23:23 +00:00
Rakesh Emmadi
4f32324759 server/mssql: refine and generalize mssql OUTPUT clause and temporary table syntax AST
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2931
GitOrigin-RevId: e6aef494a096ca119597dc92bcaf9f16e644a72a
2021-11-22 09:12:45 +00:00
Gil Mizrahi
69ae2a565f adding server/documentation/tips.md
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2920
GitOrigin-RevId: 769133fd546b4f1eb544193e6cdb3cb292bde3ad
2021-11-21 06:29:58 +00:00
Gil Mizrahi
39002bc572 Parse session variables to their correct type in mssql
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2908
GitOrigin-RevId: d9d8811e0d0658f6396a7c94bce9b7d2deb5245e
2021-11-20 09:03:44 +00:00
Gil Mizrahi
0e65932355 server/mssql support delete mutations (close hasura/graphql-engine#7626)
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2691
Co-authored-by: Abby Sassel <3883855+sassela@users.noreply.github.com>
Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
GitOrigin-RevId: 8b66cc30e8e036ee56a5267c1d2f308155951ae9
2021-11-19 17:06:01 +00:00
Abby Sassel
a7195155ab Add MySQL basic tests (close hasura/graphql-engine#7753)
dupe of @chrisdone's work https://github.com/hasura/graphql-engine-mono/pull/2852 with a branch rename

prev pr: https://github.com/hasura/graphql-engine-mono/pull/2901

next PR: https://github.com/hasura/graphql-engine-mono/pull/2921

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2911
Co-authored-by: Chris Done <11019+chrisdone@users.noreply.github.com>
GitOrigin-RevId: 81130e100c220a235d9869c89e90d63515e35f74
2021-11-19 15:14:46 +00:00
hasura-bot
4933c7cf0a Do not check name of unique key constraint when suggesting autorelations (closes #7525)
GITHUB_PR_NUMBER: 7529
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7529

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2321
Co-authored-by: BenoitRanque <25712958+BenoitRanque@users.noreply.github.com>
GitOrigin-RevId: a715e63f6804e87166c915b58aab87e2bcf28d31
2021-11-19 11:26:41 +00:00
Rishichandra Wawhal
fc7bc6a672 cloud-docs: explain arguments in preview app creation api reference
## Description ✍️
Adds minor fixes and improvements to the preview-apps doc in cloud docs.

## Changelog ✍️

-  `no-changelog-required` label added

## Affected components ✍️

-  Docs

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2834
GitOrigin-RevId: 248402addca23c90de89417c60184412e457d995
2021-11-19 10:03:18 +00:00
Rikin Kachhia
b6cb186cfd docs: add update note for large event/cron logs
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2136
GitOrigin-RevId: a6c6185d1c093151757d2c0632aef07ca4c38209
2021-11-19 09:36:45 +00:00
Vishnu Bharathi
2b459ed125 ci: add release graphql-engine-heroku pipeline
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2832
GitOrigin-RevId: 33436bf1a4dd81fca2326c57505545ae713cee68
2021-11-19 07:36:12 +00:00
Philip Lykke Carlsen
84027dad04 Breaking up the Postgres implementation of the update-schema into reusable components
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2889
GitOrigin-RevId: 49c5d59a6f817832f11b1773b078aa24cc650ab5
2021-11-18 18:03:57 +00:00
David Overton
f7e13cb7c9 Skip test if databases are not distinct
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2890
GitOrigin-RevId: 3728c6c5d3e1e12bcff2726a9ee5238dcd3b004b
2021-11-17 23:59:28 +00:00
Abby Sassel
1f14781d15 Create integration testing environment (close hasura/graphql-engine#7752)
dupe of @chrisdone's work https://github.com/hasura/graphql-engine-mono/pull/2829 with a branch rename

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2901
Co-authored-by: Chris Done <11019+chrisdone@users.noreply.github.com>
GitOrigin-RevId: 8381e53a18242b75d7e17b18a2ba3b2d99dd1322
2021-11-17 19:51:47 +00:00
Robert
9d185ffa03 server: make /healthz action clearer
This is effectively a no-op, the `Left err` case can't actually happen.

- removes some unused logic
- refactors the /healthz endpoint to be clearer
- that includes logging the full QErr if checkMetadataHealth fails,
  but it actually can't because the existing Postgres implementation
  just lifts

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2849
GitOrigin-RevId: ac8abf51b6d869ad4048419e36012137c86e5abd
2021-11-17 17:59:39 +00:00
Robert
783cd678b7 benchmarks: skip failing remote_schema suite
This skips the failing benchmark suite `remote_schema` while it's broken, #2883.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2884
GitOrigin-RevId: 629031d4926452a669f08c924e0be61bcd92f559
2021-11-17 13:00:45 +00:00
Praveen Durairaju
d4ca0bcc27 update assets link in readme
<!-- Thank you for ss in the Title above ^ -->

## Description ✍️
<!-- Please fill this se-->
<!-- Describe the changes from a user's perspective -->
This PR fixes a broken link in assets path for brand images.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2794
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 823035148e58c8806366dc2048d237e6cb733420
2021-11-17 10:54:30 +00:00
pranshi06
81bf0e5429 [pro, server] Multiple Admin Secrets
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2631
Co-authored-by: Solomon <24038+solomon-b@users.noreply.github.com>
GitOrigin-RevId: d89a38a9cd9ee7391ca5011b7a11c52e1668a31d
2021-11-17 07:33:33 +00:00