PRQL / prql

PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
https://prql-lang.org
Apache License 2.0
9.58k stars 208 forks source link

chore: bump the patch group with 3 updates #4668

Closed dependabot[bot] closed 1 week ago

dependabot[bot] commented 1 week ago

Bumps the patch group with 3 updates: syn, strum and connector_arrow.

Updates syn from 2.0.66 to 2.0.68

Release notes

Sourced from syn's releases.

2.0.68

  • Improve panic location when parse_quote! parses invalid syntax (#1690, thanks @​stepancheg)
  • More efficient peek implementation for Group and Lifetime (#1687)

2.0.67

  • Produce more accurate error message locations for errors located at the end of a nested group (#1679, #1680)
  • Support peeking LitCStr in ParseStream::peek (#1682)
Commits
  • ecb0429 Release 2.0.68
  • 37edbd2 Merge pull request #1690 from stepancheg/track-called
  • 4338772 track-caller in parse_quote_spanned
  • 537b0c5 Update test suite to nightly-2024-06-22
  • b088d5c Merge pull request #1688 from dtolnay/peeklit
  • 9b4e478 Relocate Lit peek impls into lit module
  • 38f2ddb Merge pull request #1687 from dtolnay/fastpeek
  • ef20bfd Optimize the peek impl of Group and Lifetime
  • 4b6c96a Merge pull request #1686 from dtolnay/isempty
  • 87d5792 Reword explanation of ParseBuffer::is_empty
  • Additional commits viewable in compare view


Updates strum from 0.26.2 to 0.26.3

Release notes

Sourced from strum's releases.

v0.26.3

What's Changed

New Contributors

Full Changelog: https://github.com/Peternator7/strum/compare/v0.26.2...v0.26.3

Changelog

Sourced from strum's changelog.

0.26.3 (strum_macros)

  • #344: Hide EnumTable because it's going to be deprecated in the next version.
  • #357: Fixes an incompatiblity with itertools by using the fully qualified name rather than the inherent method.
  • #345: Allows unnamed tuple like variants to use their variants in string interpolation. #[strum(to_string = "Field 0: {0}, Field 1: {1})")] will now work for tuple variants
Commits
  • c89286f Update changelog & strum_macros version
  • 0c85c16 Use associated function syntax for calling get on an EnumIter, eliminatin...
  • 9689d7b add hyperlinks to documentation and clarify derive macros (#355)
  • 186d29f Interpolate unnamed enum variant fields in to_string attribute (#345)
  • 410062e Fix broken links (#350)
  • 1e46337 Update heck requirement (#346)
  • f5fce03 Fix typos & misspellings in docs (#347)
  • See full diff in compare view


Updates connector_arrow from 0.4.1 to 0.4.2

Commits


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 commands and options
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 ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
max-sixty commented 1 week ago

@aljazerzen not important for PRQL (and not confident on the rust standards) — but to the extent that connector_arrow is fairly bound to the arrow version, you could re-export arrow from there, so downstream libraries won't get conflicts between their version of arrow vs. connector_arrow's version of arrow...

aljazerzen commented 1 week ago

That might be a good idea, yes. So they don't need to depend on arrow themselves (ourselves in this case).

aljazerzen commented 6 days ago

It turns out I already do, but but we need to depend on arrow anyways, because we need additional features that are not needed for connector_arrow.

Additionally, I now realize that updating arrow version in connector_arrow is a breaking change, as it is exposed in the public API. Which also means that the crazy release cadence of arrow-rs is also forced on connector_arrow.

snth commented 6 days ago

Is connector_arrow used anywhere other than Lutra? Can you not isolate the arrow dependency to the Lutra crate?

You mentioned you also use arrow elsewhere and I guess the playground would be one place. Anywhere else?

In my experience that arrow release cadence can really cause headaches and cause a lot of conflicts so if it's included in the main compiler or parser crate, that could cause issues for people wanting to use that crate.

aljazerzen commented 6 days ago

Yes, arrow is directly used only in lutra (and even there we could use the re-export from connector_arrow).

It is also present as a transitive dependency via duckdb, which we use in integration tests in prqlc.

arrow v51.0.0
├── connector_arrow v0.4.2
│   └── lutra v0.12.3 (/home/aljaz/Projects/prql/lutra/lutra)
│       └── lutra-python v0.12.3 (/home/aljaz/Projects/prql/lutra/bindings/python)
├── lutra v0.12.3 (/home/aljaz/Projects/prql/lutra/lutra) (*)
├── lutra-python v0.12.3 (/home/aljaz/Projects/prql/lutra/bindings/python)
└── duckdb v0.10.2
    └── prqlc v0.12.3 (/home/aljaz/Projects/prql/prqlc/prqlc)