Commit Graph

3312 Commits

Author SHA1 Message Date
Tirumarai Selvan
7b863a1b3b tag release v2.0.6
GitOrigin-RevId: b2b906cf7b05bc444148a334aba42385046be75c
2021-08-11 01:19:22 +00:00
Nicolas Beaussart
a226d514af console: add tailwindcss for styles
https://github.com/hasura/graphql-engine-mono/pull/2032

GitOrigin-RevId: d6552e990823acc3bdac829487e91ae931ac4345
2021-08-10 13:46:52 +00:00
Varun Choudhary
a4b01b2756 console: auto suggest gen_random_uuid() while adding a default value to UUID type column in schema other than public
https://github.com/hasura/graphql-engine-mono/pull/1910

GitOrigin-RevId: c2ee953ca7cd72fc7cc143465be2fe84e4284636
2021-08-10 05:55:41 +00:00
Brandon Simmons
a0118c99db server benchmarks: minor fixup of afbdb8d74
https://github.com/hasura/graphql-engine-mono/pull/2039

GitOrigin-RevId: 263e7eb3d483eed644d3c41aee6c6e733b2f3633
2021-08-09 19:28:47 +00:00
hasura-bot
5e17966ce7 Update 28_to_29.sql
GITHUB_PR_NUMBER: 7335
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7335

https://github.com/hasura/graphql-engine-mono/pull/1982

Co-authored-by: Eduardo <5448062+eduardomazolini@users.noreply.github.com>
GitOrigin-RevId: a7d6d6548f742a3389fa270bfc0446622356f95c
2021-08-09 16:36:44 +00:00
Vijay Prasanna
74704801cb console/tests: add manage db tests for mssql
https://github.com/hasura/graphql-engine-mono/pull/1782

Co-authored-by: Sooraj <8408875+soorajshankar@users.noreply.github.com>
GitOrigin-RevId: 1ed4c6d09d2dbd6f68faacd83e7daae916cff972
2021-08-09 14:04:54 +00:00
Rakesh Emmadi
1f3ea7b5eb server: document metadata versioning
This PR adds source code documentation for metadata versioning.

Note: Adding `force-skip-ci` label to bypass server tests as this PR only has changes in source code comments.

https://github.com/hasura/graphql-engine-mono/pull/2026

GitOrigin-RevId: f24dcc1579f98e59e40677b99890a8af273bb96e
2021-08-09 12:44:41 +00:00
hasura-bot
34a011acbc docs: fix typo in MSSQL docs
GITHUB_PR_NUMBER: 7369
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7369

https://github.com/hasura/graphql-engine-mono/pull/2044

Co-authored-by: Vishwa Mehta <32997409+mehtavishwa30@users.noreply.github.com>
GitOrigin-RevId: 24e862d1fa023d6210cd1716a52ba1135d457ca1
2021-08-09 11:05:17 +00:00
Karthikeyan Chinnakonda
06f5e4fb77 server: inherited roles for mutations, remote schemas, actions and custom functions
https://github.com/hasura/graphql-engine-mono/pull/1715

GitOrigin-RevId: 4818292cff8c3a5b264968e7032887a1e98b6f79
2021-08-09 10:21:05 +00:00
Kali Vara Purushotham Santhati
4d7aa0e105 cli: fix query endpoint construction
closes https://github.com/hasura/graphql-engine/issues/7196

https://github.com/hasura/graphql-engine-mono/pull/2025

GitOrigin-RevId: ab7c765d4de710dd08f48dc1bfb94eb606ac5d3f
2021-08-09 08:41:16 +00:00
Divi
8aa8929b13 cli-ext: add docs for compiling cli-ext for new targets
https://github.com/hasura/graphql-engine-mono/pull/2041

GitOrigin-RevId: 95d5aeaaf621fe7714ab8045327e80232b811897
2021-08-09 07:15:14 +00:00
Aniket Deshpande
a9fb2710db server/bigquery: implement _in and _nin operators. (close #7343)
https://github.com/hasura/graphql-engine-mono/pull/2033

GitOrigin-RevId: 58d4de268b62c6d7cb6106bec38214e651926816
2021-08-06 19:58:33 +00:00
Brandon Simmons
681113f1d8 Jberryman/1993 skip just report mode
https://github.com/hasura/graphql-engine-mono/pull/2028

Co-authored-by: David Overton <7734777+dmoverton@users.noreply.github.com>
GitOrigin-RevId: afbdb8d74bede1e78b054f5582cbf144bba20762
2021-08-06 18:41:27 +00:00
Lyndon Maydwell
d483109443 Revert "Disable TLS checks for actions services with self-signed certificates"
Reverts hasura/graphql-engine-mono#1595

https://github.com/hasura/graphql-engine-mono/pull/2036

GitOrigin-RevId: b32adde77b189c14eef0090866d58750d1481b50
2021-08-06 17:06:55 +00:00
Brandon Simmons
bdf0954c9d server benchmarks: Link directly to graphs in regression report, other style tweaks (#1720)
Depends on https://github.com/hasura/graphql-bench/pull/46

https://github.com/hasura/graphql-engine-mono/pull/2016

GitOrigin-RevId: ef7c5909e56cb1a945b20d5e072ee103bbd8a5ea
2021-08-06 15:49:56 +00:00
jkachmar
4a83bb1834 Remote schema execution logic
https://github.com/hasura/graphql-engine-mono/pull/1995

Co-authored-by: David Overton <7734777+dmoverton@users.noreply.github.com>
GitOrigin-RevId: 178669089ec5e63b1f3da1d3ba0a9f8debbc108d
2021-08-06 13:40:37 +00:00
Antoine Leblanc
52d91e3e8d Update GraphQL Parser version to fix text encoding issue (fix #1965)
### A long tale about encoding

GraphQL has an [introspection system](http://spec.graphql.org/June2018/#sec-Introspection), which allows its schema to be introspected. This is what we use to introspect [remote schemas](41383e1f88/server/src-rsr/introspection.json). There is one place in the introspection where we might find GraphQL values: the default value of an argument.

```json
{
  "fields": [
    {
      "name": "echo",
      "args": [
        {
          "name": "msg",
          "defaultValue": "\"Hello\\nWorld!\""
        }
      ]
    }
  ]
}
```

Note that GraphQL's introspection is transport agnostic: the default value isn't returned as a JSON value, but as a _string-encoded GraphQL Value_. In this case, the value is the GraphQL String `"Hello\nWorld!"`. Embedded into a string, it is encoded as: `"\"Hello\\nWorld!\""`.

When we [parse that value](41383e1f88/server/src-lib/Hasura/GraphQL/RemoteServer.hs (L351)), we first extract that JSON string, to get its content, `"Hello\nWorld!"`, then use our [GraphQL Parser library](21c1ddfb41/src/Language/GraphQL/Draft/Parser.hs (L200)) to interpret this: we find the double quote, understand that the content is a String, unescape the backslashes, and end up with the desired string value: `['H', 'e', 'l', 'l', 'o', '\n', 'W', 'o', 'r', 'l', 'd', '!']`. This all works fine.

However, there was a bug in the _printer_ part of our parser library: when printing back a String value, we would not re-escape characters properly. In practice, this meant that the GraphQL String `"Hello\nWorld"` would be encoded in JSON as `"\"Hello\nWorld!\""`. Note how the `\n` is not properly double-escaped. This led to a variety of problems, as described in #1965:
- we would successfully parse a remote schema containing such characters in its default values, but then would print those erroneous JSON values in our introspection, which would _crash the console_
- we would inject those default values in queries sent to remote schemas, and print them wrong doing so, sending invalid values to remote schemas and getting errors in result

It turns out that this bug had been lurking in the code for a long time: I combed through the history of [the parser library](https://github.com/hasura/graphql-parser-hs), and as far as I can tell, this bug has always been there. So why was it never caught? After all, we do have [round trip tests](21c1ddfb41/test/Spec.hs (L52)) that print + parse arbitrary values and check that we get the same value as a result. They do use any arbitrary unicode character in their generated strings. So... that should have covered it, right?

Well... it turns out that [the tests were ignoring errors](7678066c49/test/Spec.hs (L45)), and would always return "SUCCESS" in CI, even if they failed... Furthermore, the sample size was small enough that, most of the time, _they would not hit such characters_. Running the tests locally on a loop, I only got errors ~10% of the time...

This was all fixed in hasura/graphql-parser-hs#44. This was probably one of Hasura's longest standing bugs? ^^'

### Description

This PR bumps the version of graphql-parser-hs in the engine, and switches some of our own arbitrary tests to use unicode characters in text rather than alphanumeric values. It turns out those tests were much better at hitting "bad" values, and that they consistently failed when generating arbitrary unicode characters.

https://github.com/hasura/graphql-engine-mono/pull/2031

GitOrigin-RevId: 54fa48270386a67336e5544351691619e0684559
2021-08-06 11:54:45 +00:00
Antoine Leblanc
2c0a8d818c Kill Arbitrary, take 2 (fix #1736)
### Description

A first PR, #1947, removed all the `Arbitrary` stuff from our codebase. But #1740, merged on the same day, added some tests relying on `Arbitrary`. In the merge process, some unneeded `Arbitrary` code got reintroduced.

This PR removes all `Arbitrary` stuff from `src-lib`, and cleans / refactor `Hasura.Generator` in `src-test` to only reduce it to the bare minimum amount of `Arbitrary` instances.

https://github.com/hasura/graphql-engine-mono/pull/1957

GitOrigin-RevId: 7e76009bb022205e3737fca45749411a266cc08c
2021-08-06 10:18:37 +00:00
hasura-bot
e78bc4b0ed console: export metadata before tracking new table (fix #6805) (fix #7221) (fix #7233)
GITHUB_PR_NUMBER: 7330
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7330

https://github.com/hasura/graphql-engine-mono/pull/1970

Co-authored-by: Kenneth J. Miller <6822406+KloudJack@users.noreply.github.com>
GitOrigin-RevId: 9532f7b596801ebcdd15bd40a9b3ace0b9b88326
2021-08-06 09:09:34 +00:00
Kali Vara Purushotham Santhati
0341037aeb cli-ext: fix sdl formatting
closes https://github.com/hasura/graphql-engine/issues/7296

https://github.com/hasura/graphql-engine-mono/pull/2012

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 41383e1f88c709c6cae4059a1b4fb8f2a58259e6
2021-08-06 05:01:07 +00:00
Lyndon Maydwell
f6987ca4ff Disable TLS checks for actions services with self-signed certificates
https://github.com/hasura/graphql-engine-mono/pull/1595

GitOrigin-RevId: 3834e7d005bfaeaa7cc429c9d662d23b3d903f5c
2021-08-06 03:01:24 +00:00
kodiakhq[bot]
5dbb3eb289 Jberryman/1720 rts stats tweak
https://github.com/hasura/graphql-engine-mono/pull/2030

GitOrigin-RevId: 398da37edd64b6e6f89bd52771aa7a6f7797983f
2021-08-05 23:37:53 +00:00
awjchen
3aa0027c40 server: add support for tagged and dynamic metrics
https://github.com/hasura/graphql-engine-mono/pull/1680

GitOrigin-RevId: c92d4f977b5b7fe9a0b71d3841e960a95f722299
2021-08-05 21:08:17 +00:00
Rikin Kachhia
1b1e60dba7 docs: add keywords for better search
https://github.com/hasura/graphql-engine-mono/pull/2003

GitOrigin-RevId: 68a5d461c4738a2671b438a009c9df2de471bed9
2021-08-05 16:38:31 +00:00
David Overton
394a1fa83b Skip remote_schema benchmark in CI
https://github.com/hasura/graphql-engine-mono/pull/2017

GitOrigin-RevId: e6c31ab35816a8dc690c9e5f9d64f76469db65ae
2021-08-05 16:20:47 +00:00
David Overton
1000df2e0a Fix/remote nested field customization
https://github.com/hasura/graphql-engine-mono/pull/2009

GitOrigin-RevId: bec59d2173afd6f392997f6bd953775f4a42dd48
2021-08-05 14:59:55 +00:00
Rakesh Emmadi
87d81fe802 docs: improve computed field related docs
>

### Description
>
This PR contains doc changes for #1793 and #1697.

### Changelog

- [ ] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.

### Affected components

- [x] Docs

https://github.com/hasura/graphql-engine-mono/pull/1932

GitOrigin-RevId: 1240ec106ab11aafb96f9732b76becd87604a32c
2021-08-05 13:48:37 +00:00
Aishwarya Rao
1adfe29f0e docs: dedicated VPC docs
This PR includes addition of dedicated VPC docs to the existing cloud docs.

https://github.com/hasura/graphql-engine-mono/pull/1809

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Shahidh K Muhammed <4124733+shahidhk@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: fb14aa04fd214fb25d369e176c4cd18db28d7f34
2021-08-05 12:50:01 +00:00
Ikechukwu Eze
2e1f0df610 console: fix untracked foreign-key relationships suggestion across schemas
This PR fixes untracked foreign-key relationships suggestion across schemas.

### Changelog

- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.

### Affected components

- [x] Console

### Related Issues
close [#7177](https://github.com/hasura/graphql-engine/issues/7177)

### Solution and Design
Previously to determine relations, we'd check the foreign keys constraint on all tables in the metadata,
but from 2.0, we filtered these tables based on schema. Therefore, relationships are only reflected if both tables are of the same schema. This PR makes sure that all tables in the metadata are considered

### Steps to test and verify
- Create two schemas and a table in each
- Create a foreign key constraint on one of the tables to the other using RawSQL
- Go the schema page of the table where the constraint was created on.
- Confirm that the console suggests to track the relationship you created in step 2 above

#### Breaking changes

- [x] No Breaking changes

https://github.com/hasura/graphql-engine-mono/pull/2000

GitOrigin-RevId: c1d5229955e731bb8019955ebd7a925d7870eb17
2021-08-05 12:32:53 +00:00
Varun Choudhary
b4e329307a console: fix splitgraph console issue
Closes: https://github.com/hasura/graphql-engine-mono/issues/1746

### Description

Main problem: https://github.com/hasura/graphql-engine-mono/issues/1746#issuecomment-880492976
Solution: I ensure that there is URL encoding while routing from the data manager

The other issue that was addressed was that there was some query that was failing on the splitgraph DB that uses explicit typecasting. I removed the same from our query.

### Affected components

- [x] Console

https://github.com/hasura/graphql-engine-mono/pull/1802

GitOrigin-RevId: 8d6ebae217b07357bf147a2c881bae9de156a450
2021-08-05 10:57:38 +00:00
Vishnu Bharathi
28c7a1d0d0 scripts: avoid premature release tagging
https://github.com/hasura/graphql-engine-mono/pull/2021

GitOrigin-RevId: fd40b14e99aba0a8624f91aac11083f52545fef1
2021-08-05 10:05:25 +00:00
Tirumarai Selvan
553aecb5e5 tag release v2.0.5
GitOrigin-RevId: 8c98e9dba9fa655b5d7503211a5d3f42f641cef5
2021-08-05 07:35:10 +00:00
awjchen
cd957fb5ea ci: hide old benchmark reports on Github
https://github.com/hasura/graphql-engine-mono/pull/1996

GitOrigin-RevId: 0d2b607de9ea180e269c8f30f4a8b9618129d98f
2021-08-05 05:55:18 +00:00
jkachmar
c322af93f8 server: Uses GraphQL type in remote variable cache key
https://github.com/hasura/graphql-engine-mono/pull/1801

GitOrigin-RevId: 98843e422b2431849b675acdb318ffae2f492f18
2021-08-04 21:24:36 +00:00
Karthikeyan Chinnakonda
2f71e2e7c9 server: fine tune cron triggers behaviour in replace metadata API call
https://github.com/hasura/graphql-engine-mono/pull/1991

GitOrigin-RevId: 7eb7d7b20d0a03eda7829d3a17a35dffe0f7bf1a
2021-08-04 14:52:20 +00:00
Varun Choudhary
121afe39fe console: remove "UIKit" components from the console codebase
https://github.com/hasura/graphql-engine-mono/pull/1834

GitOrigin-RevId: 84d601072552f37740321686905e58677b5aa31c
2021-08-04 13:37:02 +00:00
Sibi Prabakaran
c93996d06c Mysql: Simple graphql queries along with offset/limits
https://github.com/hasura/graphql-engine-mono/pull/1851

Co-authored-by: Chris Done <11019+chrisdone@users.noreply.github.com>
Co-authored-by: Aniket Deshpande <922486+aniketd@users.noreply.github.com>
Co-authored-by: Abby Sassel <3883855+sassela@users.noreply.github.com>
GitOrigin-RevId: 4b4ba6dd86c302d873bb5f8e6dbc9412e77a8bfe
2021-08-04 11:43:19 +00:00
Rishichandra Wawhal
fed7f71aa2 console: use the data host passed by lux to contact lux data service
https://github.com/hasura/graphql-engine-mono/pull/1981

GitOrigin-RevId: d9fe7d4d04afc73a8482d61de733f5ebba031144
2021-08-04 09:37:08 +00:00
Aravind K P
2898db17af cli-migrations-v2: use env variable to start temporary hasura instance
closes https://github.com/hasura/graphql-engine/issues/7319

https://github.com/hasura/graphql-engine-mono/pull/1950

GitOrigin-RevId: a2c798b5825423f9c2d37d436a3852c2262644d2
2021-08-04 06:11:06 +00:00
Brandon Simmons
0d4a65f73a ci: don't build non-release with enable_coverage, so perf is comparable
https://github.com/hasura/graphql-engine-mono/pull/1980

GitOrigin-RevId: 76ac1ad91025715d0725d3d586e5ab620e94d77a
2021-08-03 16:13:51 +00:00
Vijay Prasanna
f81741d086 console: enable aggregate permission toggle for Big Query sources
https://github.com/hasura/graphql-engine-mono/pull/1988

GitOrigin-RevId: db0545bafa923afb66f582d287d1595013c69490
2021-08-03 14:58:36 +00:00
hasura-bot
29b2404a3f docs: clarify many-to-many foreign key section
GITHUB_PR_NUMBER: 7200
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7200

https://github.com/hasura/graphql-engine-mono/pull/1744

Co-authored-by: Preston Rodeniser <29437011+prodeniser@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: e030299eacabf6df3344773f2d0999a0c67d067c
2021-08-03 14:06:59 +00:00
David Overton
9be6d4cd97 Fix getCustomizer test case
https://github.com/hasura/graphql-engine-mono/pull/1986

GitOrigin-RevId: 2f94613a7f6afe89738aee0fc5fba0ab6b19c8da
2021-08-03 13:17:34 +00:00
Karthikeyan Chinnakonda
cb29607833 server: fix mutations bug when inherited roles is enabled
https://github.com/hasura/graphql-engine-mono/pull/1989

GitOrigin-RevId: d4e41431fdf90426651dd1289eb0f0e099de95b9
2021-08-03 11:12:01 +00:00
Karthikeyan Chinnakonda
0a3fd16c35 server: revert the relaxing of unique name constraint in allow-lists
https://github.com/hasura/graphql-engine-mono/pull/1972

GitOrigin-RevId: cb062df7a1ba1c99705f811409e2e4ad42f4b581
2021-08-03 09:23:20 +00:00
Abhijeet Khangarot
bf5fe2ffe8 console: fix remote schema permission bugs
https://github.com/hasura/graphql-engine-mono/pull/1178

GitOrigin-RevId: 0c1d7dc5737a3f05330a30438f48033c7c01f42c
2021-08-03 07:57:01 +00:00
Auke Booij
5fc3cf1446 server: make LazyTxT less lazy
The `LazyTxT` type was introduced to avoid connecting to Postgres when a given GraphQL request did not require this. However, through the new way query execution plans are represented, this has now _mostly_ been taken care of in a different way, and so no `LazyTxT` action is generated at all for GraphQL requests that do not fetch data from Postgres.

This removes the laziness of `LazyTxT` by simply making it a newtype wrapper around `Q.TxET`. This simplifies a lot of code in `Hasura.Backends.Postgres.Connection`.

https://github.com/hasura/graphql-engine-mono/pull/1959

GitOrigin-RevId: 58b4d5a05d67bc602b59e02ac338f1c3e63859c7
2021-08-02 19:14:08 +00:00
Swann Moreau
63d5b7ad53 pro, server: improve parameterised query hash handling for batched requests (fix #1767)
https://github.com/hasura/graphql-engine-mono/pull/1768

GitOrigin-RevId: 11615408ee2fb097e68ee4a641e5dc46c1d28795
2021-08-02 16:05:17 +00:00
David Overton
3e1e0773fe Test customization with update_remote_schema
https://github.com/hasura/graphql-engine-mono/pull/1971

GitOrigin-RevId: 617f15193e1149d08327d3a7eb0b21e11e280561
2021-08-02 05:50:49 +00:00
Rikin Kachhia
b713d9b13f docs: misc fixes
https://github.com/hasura/graphql-engine-mono/pull/1969

GitOrigin-RevId: 755b0954cffc6d14fa04bca590318b8756037b4f
2021-07-31 10:10:52 +00:00