Commit Graph

8735 Commits

Author SHA1 Message Date
Tirumarai Selvan
0559047dde remove hge-changelog-owners codeowner
Not required

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11016
GitOrigin-RevId: 10718fc45974aa76a8b2fa2d9aed950ad0c0b9ad
2024-09-02 07:24:22 +00:00
Anon Ray
e95eebc64f [RFC] REST API output on Hasura v3
## Description

This is our new proposal of auto-generating REST API output in Hasura v3.

[Rendered](https://github.com/hasura/graphql-engine-mono/blob/anon/rfc-v3-rest-api/rfcs/v3/rest_json_api.md)

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10947
GitOrigin-RevId: de83455f806b6d3327d3025f78cc32aa8b8523d4
2024-09-02 07:06:48 +00:00
dependabot[bot]
6aef2042b6 Bump indexmap from 2.4.0 to 2.5.0 (#1044)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.4.0 to
2.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md">indexmap's
changelog</a>.</em></p>
<blockquote>
<h2>2.5.0</h2>
<ul>
<li>Added an <code>insert_before</code> method to <code>IndexMap</code>
and <code>IndexSet</code>, as an
alternative to <code>shift_insert</code> with different behavior on
existing entries.</li>
<li>Added <code>first_entry</code> and <code>last_entry</code> methods
to <code>IndexMap</code>.</li>
<li>Added <code>From</code> implementations between
<code>IndexedEntry</code> and <code>OccupiedEntry</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="48ed49017c"><code>48ed490</code></a>
Release 2.5.0</li>
<li><a
href="139d7addfb"><code>139d7ad</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/340">#340</a>
from cuviper/insert-bounds</li>
<li><a
href="1d9b5e3d03"><code>1d9b5e3</code></a>
Add doc examples for <code>insert_before</code> and
<code>shift_insert</code></li>
<li><a
href="8ca01b0df7"><code>8ca01b0</code></a>
Use <code>insert_before</code> for &quot;new&quot; entries in
<code>insert_sorted</code></li>
<li><a
href="7224def010"><code>7224def</code></a>
Add <code>insert_before</code> as an alternate to
<code>shift_insert</code></li>
<li><a
href="0247a1555d"><code>0247a15</code></a>
Document and assert index bounds in <code>shift_insert</code></li>
<li><a
href="922c6ad1af"><code>922c6ad</code></a>
Update the CI badge</li>
<li><a
href="e482e1768a"><code>e482e17</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/342">#342</a>
from cuviper/btree-like</li>
<li><a
href="b63e4a1556"><code>b63e4a1</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/341">#341</a>
from cuviper/from-entry</li>
<li><a
href="264e5b7304"><code>264e5b7</code></a>
Add doc aliases like <code>BTreeMap</code>/<code>BTreeSet</code></li>
<li>Additional commits viewable in <a
href="https://github.com/indexmap-rs/indexmap/compare/2.4.0...2.5.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=2.4.0&new-version=2.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 5c87c8f87635486e4bcb7cefeabe3ded04c8356b
2024-09-02 06:55:51 +00:00
dependabot[bot]
cec7943e4a Bump syn from 2.0.76 to 2.0.77 (#1043)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.76 to 2.0.77.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/syn/releases">syn's
releases</a>.</em></p>
<blockquote>
<h2>2.0.77</h2>
<ul>
<li>Support parsing <code>Expr::Tuple</code> in non-&quot;full&quot;
mode (<a
href="https://redirect.github.com/dtolnay/syn/issues/1727">#1727</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6232266b0b"><code>6232266</code></a>
Release 2.0.77</li>
<li><a
href="97acbf0ffa"><code>97acbf0</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1727">#1727</a>
from dtolnay/exprparen</li>
<li><a
href="a3b5a5c109"><code>a3b5a5c</code></a>
Support parsing Expr::Tuple in derive</li>
<li><a
href="3c24f576d7"><code>3c24f57</code></a>
Run upload-artifact action regardless of previous step failure</li>
<li><a
href="78608a3ebe"><code>78608a3</code></a>
Upload CI Cargo.lock for reproducing failures</li>
<li>See full diff in <a
href="https://github.com/dtolnay/syn/compare/2.0.76...2.0.77">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.76&new-version=2.0.77)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 1becc211a5c96908bcabc9786dc232df9b3391fd
2024-09-02 06:55:46 +00:00
dependabot[bot]
4f6dca5e44 Bump async-graphql-parser from 7.0.7 to 7.0.8 (#1042)
Bumps
[async-graphql-parser](https://github.com/async-graphql/async-graphql)
from 7.0.7 to 7.0.8.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/async-graphql/async-graphql/blob/master/CHANGELOG.md">async-graphql-parser's
changelog</a>.</em></p>
<blockquote>
<h1>[7.0.8] 2024-09-01</h1>
<ul>
<li>chore: Make Extensions nullable <a
href="https://redirect.github.com/async-graphql/async-graphql/pull/1563">#1563</a></li>
<li>expose <code>rejection</code> in <code>async_graphql_axum</code> <a
href="https://redirect.github.com/async-graphql/async-graphql/pull/1571">#1571</a></li>
<li>Updated crate <code>time</code> to <code>3.36</code>, as it fixes a
compilation error in rust <code>1.80</code> <a
href="https://redirect.github.com/async-graphql/async-graphql/pull/1572">#1572</a></li>
<li>Impl <code>Debug</code> for <code>dynamic::FieldValue</code> &amp;
Improve error messages for its methods <a
href="https://redirect.github.com/async-graphql/async-graphql/pull/1582">#1582</a></li>
<li>Support scraping <code>#[doc = ...]</code> attributes when
generating descriptions <a
href="https://redirect.github.com/async-graphql/async-graphql/pull/1581">#1581</a></li>
<li>add <code>Websocket::keepalive_timeout</code> method to sets a
timeout for receiving an acknowledgement of the keep-alive ping.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/async-graphql/async-graphql/commits">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-graphql-parser&package-manager=cargo&previous-version=7.0.7&new-version=7.0.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 4da6ca66a33e1bb8051bcc18ea65fe4e106395e2
2024-09-02 06:54:48 +00:00
dependabot[bot]
8c4a728bc0 Bump tokio from 1.39.3 to 1.40.0 (#1041)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.39.3 to 1.40.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tokio/releases">tokio's
releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.40.0</h2>
<h1>1.40.0 (August 30th, 2024)</h1>
<h3>Added</h3>
<ul>
<li>io: add <code>util::SimplexStream</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6589">#6589</a>)</li>
<li>process: stabilize <code>Command::process_group</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6731">#6731</a>)</li>
<li>sync: add <code>{TrySendError,SendTimeoutError}::into_inner</code>
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6755">#6755</a>)</li>
<li>task: add <code>JoinSet::join_all</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6784">#6784</a>)</li>
</ul>
<h3>Added (unstable)</h3>
<ul>
<li>runtime: add <code>Builder::{on_task_spawn,
on_task_terminate}</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6742">#6742</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>io: use vectored io for <code>write_all_buf</code> when possible (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6724">#6724</a>)</li>
<li>runtime: prevent niche-optimization to avoid triggering miri (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6744">#6744</a>)</li>
<li>sync: mark mpsc types as <code>UnwindSafe</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6783">#6783</a>)</li>
<li>sync,time: make <code>Sleep</code> and <code>BatchSemaphore</code>
instrumentation explicit roots (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6727">#6727</a>)</li>
<li>task: use <code>NonZeroU64</code> for <code>task::Id</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6733">#6733</a>)</li>
<li>task: include panic message when printing <code>JoinError</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6753">#6753</a>)</li>
<li>task: add <code>#[must_use]</code> to
<code>JoinHandle::abort_handle</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6762">#6762</a>)</li>
<li>time: eliminate timer wheel allocations (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6779">#6779</a>)</li>
</ul>
<h3>Documented</h3>
<ul>
<li>docs: clarify that <code>[build]</code> section doesn't go in
Cargo.toml (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6728">#6728</a>)</li>
<li>io: clarify zero remaining capacity case (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6790">#6790</a>)</li>
<li>macros: improve documentation for <code>select!</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6774">#6774</a>)</li>
<li>sync: document mpsc channel allocation behavior (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6773">#6773</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tokio/issues/6589">#6589</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6589">tokio-rs/tokio#6589</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6724">#6724</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6724">tokio-rs/tokio#6724</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6727">#6727</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6727">tokio-rs/tokio#6727</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6728">#6728</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6728">tokio-rs/tokio#6728</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6731">#6731</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6731">tokio-rs/tokio#6731</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6733">#6733</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6733">tokio-rs/tokio#6733</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6742">#6742</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6742">tokio-rs/tokio#6742</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6744">#6744</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6744">tokio-rs/tokio#6744</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6753">#6753</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6753">tokio-rs/tokio#6753</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6755">#6755</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6755">tokio-rs/tokio#6755</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6762">#6762</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6762">tokio-rs/tokio#6762</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6773">#6773</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6773">tokio-rs/tokio#6773</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6774">#6774</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6774">tokio-rs/tokio#6774</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6779">#6779</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6779">tokio-rs/tokio#6779</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6783">#6783</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6783">tokio-rs/tokio#6783</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6784">#6784</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6784">tokio-rs/tokio#6784</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6790">#6790</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6790">tokio-rs/tokio#6790</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ea6d652a10"><code>ea6d652</code></a>
chore: prepare Tokio v1.40.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6806">#6806</a>)</li>
<li><a
href="11f66f43a0"><code>11f66f4</code></a>
chore: replace <code>ready!</code> with <code>std::task::ready!</code>
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6804">#6804</a>)</li>
<li><a
href="479a56a010"><code>479a56a</code></a>
time: eliminate timer wheel allocations (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6779">#6779</a>)</li>
<li><a
href="b37f0de28a"><code>b37f0de</code></a>
runtime: implement initial set of task hooks (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6742">#6742</a>)</li>
<li><a
href="c9fad08466"><code>c9fad08</code></a>
codec: fix typo in the docs for <code>Encoder::Error</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6800">#6800</a>)</li>
<li><a
href="cc70a211ad"><code>cc70a21</code></a>
task: add <code>join_all</code> method to <code>JoinSet</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6784">#6784</a>)</li>
<li><a
href="1ac8dff213"><code>1ac8dff</code></a>
task: add <code>AbortOnDropHandle</code> type (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6786">#6786</a>)</li>
<li><a
href="ff3f2a8878"><code>ff3f2a8</code></a>
io: add <code>SimplexStream</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6589">#6589</a>)</li>
<li><a
href="5b9a290acd"><code>5b9a290</code></a>
io: clarify zero remaining capacity case (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6790">#6790</a>)</li>
<li><a
href="70569bd009"><code>70569bd</code></a>
task: fix typo in <code>TaskTracker</code> docs (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6792">#6792</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.39.3...tokio-1.40.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.39.3&new-version=1.40.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 6ea294cc95d2d0cac4b254bd042066515192ab08
2024-09-02 06:49:56 +00:00
Daniel Harvey
a89cc61039 Allow filtering nested arrays (#828)
<!-- The PR description should answer 2 (maybe 3) important questions:
-->

### What

If`institution` is a big JSON document, and `staff` is an array of
objects inside it, we can now filter `institutions` based on matches
that exist within that array.

```graphql
query MyQuery {
  where_does_john_hughes_work: InstitutionMany(
    where: { staff: { last_name: { _eq: "Hughes" } } }
  ) {
    id
    location {
      city
      campuses
    }
  }
```

This query would return us details of `Chalmers University of
Technology`, where `John Hughes` is a member of staff.

### How

- Record the type of fields in `metadata_resolve`
- If we find an array one, wrap the inner predicate in an `EXISTS`-type
constructor.

V3_GIT_ORIGIN_REV_ID: 6f7c51961f3189d7068b4ddbed9fcc821a76ae7d
2024-08-30 10:16:35 +00:00
Rob Dominguez
d7e804b984 Docs: Update README again
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11015
GitOrigin-RevId: 2f9bf8ca3669f45f461888976b0808251c0f0537
2024-08-30 05:26:00 +00:00
Vamshi Surabhi
42ce01d755 [PACHA-18] sql: forward request headers to connectors (#1036)
<!-- The PR description should answer 2 important questions: -->

### What

When a command is called through the sql interface, we now respect
`argumentPresets` configured at the data connector link. We also
partially support `responseHeaders` in that we extract the response from
the 'result' key but not extract 'headers' and forward them.

### How

The part of the engine code that deals with data connector argument
presets is exposed from the ir crate and re-used in the sql layer.

V3_GIT_ORIGIN_REV_ID: 7c3124596a9bbc2b18cb79cb899c75fd4de3f7e5
2024-08-29 19:56:54 +00:00
Rakesh Emmadi
846ae1667a Make subscriptions unstable feature (#1025)
<!-- The PR description should answer 2 important questions: -->

### What

Put subscriptions API behind unstable feature.

V3_GIT_ORIGIN_REV_ID: 4eb454009c2e9658d899efbb81488faac3674e48
2024-08-29 17:19:23 +00:00
Daniel Harvey
ffa43e3c57 Construct empty sql catalog if feature switched off (#1034)
<!-- The PR description should answer 2 important questions: -->

### What

We don't need to do this work if the feature isn't turned on.

### How

Create a new `Catalog::empty_from_metadata` function that is essentially
`mempty`.

V3_GIT_ORIGIN_REV_ID: 594462e729ff4afc3bee4db9e4b8e44d41020428
2024-08-29 14:56:09 +00:00
Rob Dominguez
d34c262fb2 Docs: Update README
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11014
GitOrigin-RevId: d3ec6772cc453a9447b73871b367832056e804f4
2024-08-29 13:28:58 +00:00
Daniel Harvey
6b59cedb45 Use generated Postgres schema in tests (#1032)
<!-- The PR description should answer 2 important questions: -->

### What

Updating the various Postgres test schemas we use in execute tests is
quite hard, and most of them have been hand modified to match certain
tests.

This meant you could not update the Postgres test SQL and propagate the
schema changes in all tests, which is frustrating.

But now we can!

### How

- Modifies the script that updates all `custom_connector` schemas to
make it work for Postgres too
- Runs it, updating all `DataConnectorLink` for `ndc-postgres` to match
the output of `/schema` from `ndc-postgres`
- Fixes lots of tests, that were all using slightly hand modified
`ndc-postgres` schema output. Mostly this involves swapping `String` and
`varchar` for `text`, and `Int` for `int4`.

V3_GIT_ORIGIN_REV_ID: d695c48d1ae04d51a17bf54786782830ddb1d683
2024-08-29 12:42:47 +00:00
Phil Freeman
317193df10 [PACHA-24] Metrics in the SQL layer (#1029)
<!-- The PR description should answer 2 important questions: -->

### What

- Adds datafusion row metrics to our NDC query and aggregate nodes, for
explain output
- Aggregates all datafusion metrics in the trace attributes:
- `rows_processed`, i.e. total number of rows considered over all
execution plan nodes
- `elapsed_compute`, i.e. CPU time spent in _processing_ data (not
fetching it)
- Adds the explain output to the `create_logical_plan` span.

E.g. a query we don't push down to NDC:

```sql
SELECT
    COUNT(42 * invoiceId) AS odd_count
FROM
    InvoiceLine;
```

Attributes:

```text
rows_processed: 2242
total_rows: 1
elapsed_compute: 417
logical_plan: Projection: count(Int64(42) * InvoiceLine.invoiceId) AS odd_count
  Aggregate: groupBy=[[]], aggr=[[count(Int64(42) * InvoiceLine.invoiceId)]]
    TableScan: InvoiceLine
```

The metrics clearly indicate that the cost in terms of rows processed
per row returned (2242 / 1) is very high in this case. The logical plan
makes it clear why this was the case: we failed to push down the
aggregate node.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: c26cce9adab9d0feb0a7d2873a3eea38542564a0
2024-08-29 00:56:46 +00:00
Daniel Harvey
6795ea60fc Add Exists in Nested Collection to Expression type (#1027)
<!-- The PR description should answer 2 important questions: -->

### What

Add exists in nested collection to our internal `Expression` type so we
can use it in NDC requests.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: b8c2454e35667074a8814844d80430fc765ccdab
2024-08-28 16:09:43 +00:00
Daniel Harvey
eabc3966db Make sleep available in Docker images (#1026)
<!-- The PR description should answer 2 important questions: -->

### What

Add `coreutils` to Docker images.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: a614c47758b726729208428890586d5aabac0797
2024-08-28 12:14:08 +00:00
Daniel Harvey
4d1d73c631 Keep special SIGTERM handling for Windows (#1024)
<!-- The PR description should answer 2 important questions: -->

### What

Previously our non-unix sigterm handler just [waited
forever](https://doc.rust-lang.org/nightly/core/future/fn.pending.html),
now let's pay attention to Ctrl-C on Windows.

### How

Use Windows shutdown handling taken from `custom-connector`.

V3_GIT_ORIGIN_REV_ID: c37daa069646cae4e9950ea77f0169f4671bfec7
2024-08-28 11:40:33 +00:00
Daniel Harvey
af9f058d88 Expose request type in multitenant metrics (#1009)
<!-- The PR description should answer 2 important questions: -->

### What

Expose operation type in query and explain endpoints.

V3_GIT_ORIGIN_REV_ID: 852276fc04b3173a9364e593c33d1ceb6bd88064
2024-08-28 11:37:08 +00:00
Rakesh Emmadi
0d16848b1e OpenDD: add GraphQL API configuration for subscriptions (#1020)
<!-- The PR description should answer 2 important questions: -->

### What

- Allow specifying subscriptions related GraphQL config for the
following root fields of a model:
  - select_uniques
  - select_many
  - aggregate
- Add `allow_subcriptions` flag in model permissions.
- Add optional `subscription` field to `GraphqlConfig` OpenDD metadata.

V3_GIT_ORIGIN_REV_ID: 7460292f60c569086603dcd3e9b3809a61938798
2024-08-28 11:05:50 +00:00
Daniel Harvey
4e5f028250 Add graceful shutdown to all cloud servers (#1023)
<!-- The PR description should answer 2 important questions: -->

### What

Put graceful shutdown code in a new crate.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 262cd85064f0420d2170a3bf710ab72853b5764d
2024-08-28 10:46:02 +00:00
Anon Ray
16d2d5223f nix/ci: checking if adding bash/sh helps with multitenant docker (#1022)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: c09d42519cdd4946527e72a8066d7aa60a75a4cf
2024-08-28 09:43:13 +00:00
Phil Freeman
06937b1107 [PACHA-25] Aggregate pushdown for COUNT (#1021)
<!-- The PR description should answer 2 important questions: -->

### What

Push down SQL `COUNT` aggregates to the NDC layer:

- `COUNT(1)`
- `COUNT(col)` where col may be nested
- `COUNT(DISTINCT col)`

### How

Introduces a new logical node (`ModelAggregate`) and corresponding
physical node (`NDCAggregatePushdown`). Whenever we see a `ModelQuery`
wrapped in an `Aggregate` node, we rewrite it to a `ModelAggregate` node
instead. We don't handle `GROUP BY` yet, but this approach will
generalize to that once NDC 0.2.0 lands.

V3_GIT_ORIGIN_REV_ID: 373d3941fc01c077270047612240d910045f6d93
2024-08-28 03:39:20 +00:00
Samir Talwar
288c973ac7 Build Cloud services with Nix. (#1019)
Changes to the Nix build to support Hasura cloud services.

V3_GIT_ORIGIN_REV_ID: 39fc7e0a005c30ed6ecbfed8dbcd0cd3839aafbd
2024-08-27 09:25:16 +00:00
Daniel Harvey
43daeffcca Use ndc-models 0.1.6 (#1013)
<!-- The PR description should answer 2 important questions: -->

### What

Update `v3-engine` to use `ndc-models` 0.1.6.

### How

Update in Cargo.toml, check everything builds.

V3_GIT_ORIGIN_REV_ID: 64d8b5b8126f593c10ffa89ba21791f326aefedd
2024-08-26 14:50:02 +00:00
dependabot[bot]
2f14073ea1 Bump syn from 2.0.75 to 2.0.76 (#1017)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.75 to 2.0.76.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/syn/releases">syn's
releases</a>.</em></p>
<blockquote>
<h2>2.0.76</h2>
<ul>
<li>Enforce that tail call <code>become</code> keyword is followed by an
expression (<a
href="https://redirect.github.com/dtolnay/syn/issues/1725">#1725</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ef3e9c6dde"><code>ef3e9c6</code></a>
Release 2.0.76</li>
<li><a
href="8f7365ff96"><code>8f7365f</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1725">#1725</a>
from dtolnay/tailcall</li>
<li><a
href="6cddd9ea71"><code>6cddd9e</code></a>
Make tail call expr mandatory</li>
<li>See full diff in <a
href="https://github.com/dtolnay/syn/compare/2.0.75...2.0.76">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.75&new-version=2.0.76)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: d261ad30ffeb10034a80f9044504cb9d6c7c1ff7
2024-08-26 12:26:58 +00:00
dependabot[bot]
3a306a628b Bump serde_json from 1.0.125 to 1.0.127 (#1015)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.125 to
1.0.127.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/json/releases">serde_json's
releases</a>.</em></p>
<blockquote>
<h2>1.0.127</h2>
<ul>
<li>Add more removal methods to OccupiedEntry (<a
href="https://redirect.github.com/serde-rs/json/issues/1179">#1179</a>,
thanks <a
href="https://github.com/GREsau"><code>@​GREsau</code></a>)</li>
</ul>
<h2>1.0.126</h2>
<ul>
<li>Improve string parsing on targets that use 32-bit pointers but also
have fast 64-bit integer arithmetic, such as
aarch64-unknown-linux-gnu_ilp32 and x86_64-unknown-linux-gnux32 (<a
href="https://redirect.github.com/serde-rs/json/issues/1182">#1182</a>,
thanks <a href="https://github.com/CryZe"><code>@​CryZe</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5ebf65cc48"><code>5ebf65c</code></a>
Release 1.0.127</li>
<li><a
href="f287a3b1a9"><code>f287a3b</code></a>
Merge pull request 1179 from GREsau/patch-1</li>
<li><a
href="ec980b0277"><code>ec980b0</code></a>
Release 1.0.126</li>
<li><a
href="e6282b0c47"><code>e6282b0</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1184">#1184</a>
from serde-rs/fastarithmetic</li>
<li><a
href="ffc4a43453"><code>ffc4a43</code></a>
Improve cfg names for fast arithmetic</li>
<li><a
href="4b1048d0ec"><code>4b1048d</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1183">#1183</a>
from serde-rs/arithmetic</li>
<li><a
href="f268173a9f"><code>f268173</code></a>
Unify chunk size choice between float and string parsing</li>
<li><a
href="fec0376974"><code>fec0376</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1182">#1182</a>
from CryZe/chunk-64bit</li>
<li><a
href="3d837e1cc4"><code>3d837e1</code></a>
Ensure the SWAR chunks are 64-bit in more cases</li>
<li><a
href="11fc61c7af"><code>11fc61c</code></a>
Add <code>OccupiedEntry::shift_remove()</code> and
<code>swap_remove()</code></li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/json/compare/1.0.125...1.0.127">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.125&new-version=1.0.127)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 81a7f8e72d54dcc1e37a6822d7e2f9181d61a9cf
2024-08-26 12:25:06 +00:00
dependabot[bot]
71ceb100fd Bump serde from 1.0.208 to 1.0.209 (#1016)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.208 to
1.0.209.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/serde/releases">serde's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.209</h2>
<ul>
<li>Fix deserialization of empty structs and empty tuples inside of
untagged enums (<a
href="https://redirect.github.com/serde-rs/serde/issues/2805">#2805</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="30752ac4ff"><code>30752ac</code></a>
Release 1.0.209</li>
<li><a
href="b84e6ca4f5"><code>b84e6ca</code></a>
Improve wording of PR 2805 comments</li>
<li><a
href="87a2fb0f1a"><code>87a2fb0</code></a>
Wrap comments from PR 2805 to 80 columns</li>
<li><a
href="9eaf7b9824"><code>9eaf7b9</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2805">#2805</a>
from Mingun/untagged-tests</li>
<li><a
href="7bde100237"><code>7bde100</code></a>
Replace MapRefDeserializer with value::MapDeserializer</li>
<li><a
href="da7fc795ee"><code>da7fc79</code></a>
Fix deserialization of empty struct variant in untagged enums</li>
<li><a
href="4c5fec1363"><code>4c5fec1</code></a>
Test special cases that reaches SeqRefDeserializer::deserialize_any
len==0 co...</li>
<li><a
href="6588b0ad37"><code>6588b0a</code></a>
Cover Content::Seq case in VariantRefDeserializer::struct_variant</li>
<li><a
href="0093f74cfe"><code>0093f74</code></a>
Split test newtype_enum into four tests for each variant</li>
<li><a
href="171c6da57a"><code>171c6da</code></a>
Complete coverage of
ContentRefDeserializer::deserialize_newtype_struct</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.208...v1.0.209">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.208&new-version=1.0.209)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: e8d93201cfdad039a62f4f55af5cdcd80dddbff9
2024-08-26 12:25:02 +00:00
dependabot[bot]
73d7c758d4 Bump quote from 1.0.36 to 1.0.37 (#1014)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.36 to 1.0.37.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/quote/releases">quote's
releases</a>.</em></p>
<blockquote>
<h2>1.0.37</h2>
<ul>
<li>Implement ToTokens for CStr and CString (<a
href="https://redirect.github.com/dtolnay/quote/issues/283">#283</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b1ebffa035"><code>b1ebffa</code></a>
Release 1.0.37</li>
<li><a
href="43acd77961"><code>43acd77</code></a>
Delete unneeded use of <code>ref</code></li>
<li><a
href="9382c2182e"><code>9382c21</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/quote/issues/283">#283</a>
from dtolnay/cstr</li>
<li><a
href="6ac432877b"><code>6ac4328</code></a>
Add C string tests</li>
<li><a
href="9fb0591a17"><code>9fb0591</code></a>
Implement ToTokens for CStr and CString</li>
<li><a
href="ba7a9d08c9"><code>ba7a9d0</code></a>
Organize test imports</li>
<li><a
href="aa9970f983"><code>aa9970f</code></a>
Inline the macro that generates primitive impls</li>
<li><a
href="ba411091c9"><code>ba41109</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/quote/issues/282">#282</a>
from dtolnay/tokens</li>
<li><a
href="c77340a4c6"><code>c77340a</code></a>
Consistently use 'tokens' as the name of the &amp;mut TokenStream
arg</li>
<li><a
href="a4a0abf12f"><code>a4a0abf</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/quote/issues/281">#281</a>
from dtolnay/char</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/quote/compare/1.0.36...1.0.37">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quote&package-manager=cargo&previous-version=1.0.36&new-version=1.0.37)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samir Talwar <samir.talwar@hasura.io>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: cf50dd0980c4bf947d9aa5e767c94d3487d05e85
2024-08-26 10:48:50 +00:00
Samir Talwar
ef31a4ca84 Abstract over the binaries in flake.nix. (#1012)
### What

Use powerful constructs such as loops to avoid duplication in
`flake.nix`.

We are able to iterate over the list of binaries and list of target
systems and produce a list of packages from there.

### How

We generate a `targets` tree (see the `flake.nix` file comments for
details), and then generate the list of packages from there.

When using `nix run`, you'll get a package, which is usually what you
want.

The scripts that build Docker images run `nix build
'.#targets.x86_64-linux.<binary>.<arch>.docker`, which is verbose but
explicit.

V3_GIT_ORIGIN_REV_ID: 2a13fb31a41829f9804dfdb7c1a51a9e54e0922e
2024-08-26 09:50:15 +00:00
ashwiniag
8140910ded ci: tag release v2.43.0
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11012
GitOrigin-RevId: 35907872534d0626eeaaf97a6f180071355f3fa7
2024-08-26 08:57:25 +00:00
Brandon Simmons
a71ef17345 server: compress OTLP export transport
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11010
GitOrigin-RevId: f4cb78213c3ad91c546d6af1ab9ae42a30f0862c
2024-08-26 08:10:26 +00:00
David Overton
4f580c6152 Add support order by nested fields (#1001)
<!-- The PR description should answer 2 important questions: -->

### What

Add support for ordering by nested fields.

Example query:
```graphql
query MyQuery {
  InstitutionMany(order_by: { location: { city: Asc } }) {
    id
    location {
      city
      campuses
    }
  }
}
```

This will order by the value of the nested field `city` within the
`location` column.

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->

### How

Extends GraphQL schema generation to register and then build GraphQL
input types for nested `OrderByExpression` metadata objects.

During IR generation, order by input arguments containing nested fields
are flattened out into the `field_path` property of NDC `OrderByTarget`.

### Limitations

Does not yet support `orderableRelationships`. I'll do that as as
separate PR.

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 6f4b1e098e60ce7906167b3afcd62de3c8616660
2024-08-26 05:24:52 +00:00
Philip Lykke Carlsen
1f96e8aff3 Promote warnings to errors based on flags (#1011)
### What

This PR adds resolving logic that can promote warnings (plural) to an
error based on the `ddn_flags::Flags`.

In addition it adds a flag `require_valid_ndc_v01_version`, which, when
set, promotes a `DataConnectorIssue::InvalidNdcV01Version` to an error.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 2d6b089f6237fea85c889243547f4deffa4c20ee
2024-08-23 16:03:58 +00:00
Philip Lykke Carlsen
5f861736c4 Pass Configuration by reference, for clearer intent (#1010)
### What

Passing `Configuration` by reference signals intent (there is only ever
one configuration that is given at the toplevel which is never altered)
better than owning and copying values.

While in its current state it requires slightly more memory to pass a
reference to a `Configuration` rather than a value, this does not seem
like the thing to optimize for when it inhibits readability.

V3_GIT_ORIGIN_REV_ID: e5e05ad2e7ee41dfb49173ec9575de17552c63ae
2024-08-23 14:36:45 +00:00
paritosh-08
32a369b1e3 user facing span for plugin execution (#1008)
<!-- The PR description should answer 2 important questions: -->

### What

Make the plugin execution trace user-facing.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

By changing the SpanVisibilty from `Internal` to `User`.

V3_GIT_ORIGIN_REV_ID: 9afe59c01ebb7549235705566516319a73fd5da1
2024-08-23 11:34:05 +00:00
Daniel Harvey
6c295d1c45 Revert "Optional CompatibilityConfig for v3-engine" (#1006)
Reverts hasura/v3-engine#998

We are going to use `opendds` Flags for this instead.

V3_GIT_ORIGIN_REV_ID: 155c7a6b17be95a6370b08fdc425791e3eb8b70a
2024-08-22 16:47:45 +00:00
Sean Park-Ross
3521c3965a Docs: Fix favicon
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11009
GitOrigin-RevId: eabea0a66a54ae2fcd1c810b1caa2e29215cb453
2024-08-22 13:02:18 +00:00
Daniel Harvey
d6f98af5cc Optional CompatibilityConfig for v3-engine (#998)
<!-- The PR description should answer 2 important questions: -->

### What

We want to use `CompatibilityConfig` to configure turning warnings into
errors after a certain date, and to make sure we don't break old builds.
This allows passing a path to a optional compatibility config file to
engine and scaffolds how we'll map this config to metadata resolve
options.

### How

Add a flag to `v3-engine`, parse the file if flag is set. Test it by
adding static test file and using it with `just watch` and `just run`.

V3_GIT_ORIGIN_REV_ID: 972c67ae29905b9ce1bb57e150f4cfcfd6a069ef
2024-08-22 12:56:04 +00:00
Samir Talwar
a9e3c90759 Release v2024.08.22 (#1004)
See the changelog for details.

---------

Co-authored-by: Paritosh <paritosh@hasura.io>
V3_GIT_ORIGIN_REV_ID: 09f61b47a3352cd2cd047e52f53b40884372cd9e
2024-08-22 11:26:40 +00:00
Varun Choudhary
ff1dd6c10f console: fix docs link for OTEL exporter
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11008
GitOrigin-RevId: e70990e1a5de6cc9f198e9516172c2e69b3c8e99
2024-08-22 09:13:10 +00:00
Samir Talwar
54655fcefc Update to Rust v1.80.1. (#1002)
### What

Upgrade to the latest version of Rust.

### How

I modified `rust-toolchain.toml` and ran `cargo update`.

V3_GIT_ORIGIN_REV_ID: 5fe675ee5dc568cd24de542c826ffd2d355f90ff
2024-08-22 08:56:32 +00:00
Samir Talwar
58c2a9852e Use v3.0.0 as the version number. (#999)
### What

Updates the version number to `3.0.0`, now we're officially at GA.

### How

I updated the version number, and also updated some dependencies. The
`Cargo.lock` file was not up to date.

V3_GIT_ORIGIN_REV_ID: 3e9b784c8ad856556193e56aee9fa607fa8ce19e
2024-08-21 14:36:47 +00:00
Nikunj Shukla
b5b41b1166 ci: tag release for v2.43.0-beta.1 and v2.36.8
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11005
GitOrigin-RevId: 048b8f9aba7d722278314240af147f0e17397c18
2024-08-21 11:37:07 +00:00
Daniel Harvey
a9d9055fad More compatibility validation types (#996)
<!-- The PR description should answer 2 important questions: -->

### What

Add more types for validating compatibility configuration. Functional
no-op.

V3_GIT_ORIGIN_REV_ID: 56239149762bc170ce40a7f5c526cb8f3f49ec61
2024-08-20 14:07:36 +00:00
Daniel Harvey
8c095fa305 Move CompatibilityConfig into own crate (#994)
<!-- The PR description should answer 2 important questions: -->

### What

`v3-engine` needs to be able to read and use compatibility
configuration, so let's move it to a crate here.

### How

Move `CompatibilityConfig` and `CompatibilityDate`.

V3_GIT_ORIGIN_REV_ID: 2de4b22411d296d6a354e2856e685aea4b261637
2024-08-20 06:01:21 +00:00
Vamshi Surabhi
f47296c210 sql: commands backed by sql are now supported (#995)
<!-- The PR description should answer 2 important questions: -->

### What

1. Commands backed by ndc procedures can now be executed using in sql as
follows:

```sql
select * from command(args); -- args to be provided with struct syntax
```
2. There is an optional `disallow_mutations` field in the sql request
that defaults to `false`. When it is explicitly set to true, mutations
are disallowed. This is for pacha to get a confirmation for mutations.

### How

Most of the code is reused from ndc functions. There is a new
'NDCProcedurePushDown' physical node and the associated changes to a
mutation response from a connector.

V3_GIT_ORIGIN_REV_ID: 94913ab931290e0aa91ccd01173955da3aa1e423
2024-08-20 02:58:02 +00:00
Vamshi Surabhi
91b4fc6ee6 Improves the type mapping layer to SQL (#988)
<!-- The PR description should answer 2 important questions: -->

### What

The motivation was to allow introspecting field descriptions of object
types. To accomplish this, a fair number of things had to change. Prior
to this, we determined a model's and command's schema at the sql layer
by looking at its type mappings. When introspecting these models and
commands, if there are any nested fields, they are output as
'STRUCT<field1 type1, field2 type2>' without any descriptions.

With this change, we first build a catalog of types at the sql layer
from scalars and object types defined at opendd layer. These types are
then used when adding models and commands as opposed to looking at their
type mappings. This also changes how the type catalog is presented in
introspection. One can now query 'struct type's and their fields along
with their descriptions. Models and commands merely refer to these
struct types.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 550da03c84b33ca44851858ee2cb73a31674d3d0
2024-08-19 21:25:25 +00:00
Phil Freeman
89c85d2c47 [PACHA-16] Pushdown limits and offsets (#981)
<!-- The PR description should answer 2 important questions: -->

### What

Push down limits and offsets, including inside existing limit and offset
queries.
### How

Adds a new rewrite which pushes a limit/offset inside an `NDCQuery`, in
case it is not picked up by the sort pushdown or the table scan
pushdown.

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 2dcf14ff9f605919abb047560681615b88e766e2
2024-08-19 16:30:20 +00:00
Sean Park-Ross
199e69cb16 Docs: New version modal modularise CSS
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11004
GitOrigin-RevId: 2b28dcbe295765e228caec4e573886fb051cb0da
2024-08-19 14:24:26 +00:00
Tom Harding
b6e296bf0f Audit with cargo audit, rather than an Actions plugin (#993)
<!-- The PR description should answer 2 important questions: -->

### What

Same as with `ndc-postgres` and `ndc-postgres-multitenant`, we call a
`just` command in CI, rather than using an actions plugin.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 96daa602e4647fdcd641d79539df66a264914efc
2024-08-19 14:23:21 +00:00