Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 1, 2025

Updates the requirements on gluesql-core to permit the latest version.

Release notes

Sourced from gluesql-core's releases.

v0.18.0 🌈

🌊 Breaking Changes

  • Storage traits are now Send + Sync – custom storages must switch from Rc/RefCell to thread-safe primitives to satisfy the new bounds introduced in #1688. This lets GlueSQL operate cleanly in multi-threaded runtimes.
  • Value::evaluate_eq returns a tri-state result – equality checks now produce a new Tribool type so NULL comparisons behave per SQL rules (#1705). If you called this helper directly, update call sites to handle True/False/Null.
  • Statement::to_sql() removed – GlueSQL's AST is no longer serialised back to SQL strings. Consumers that relied on the method should build SQL using sqlparser-rs instead (#1746).
  • Minimum supported Rust version: 1.89 – the workspace toolchain moved to Rust 1.89 (#1747, #1762). Update local toolchains and CI images before upgrading.

✨ Highlights

Derive structs from query results (no manual row mapping!)

  • The new FromGlueRow derive macro and rows_as/one_as helpers turn SELECT payloads into your own structs with zero boilerplate (#1779). The derive ships directly from the crate root, so any application can opt into typed results with a single attribute:
#[derive(gluesql::FromGlueRow)]
struct User {
    id: i64,
    name: String,
}
let users = glue
.execute("SELECT id, name FROM users;")
.await?
.rows_as::<User>()?;
let first = glue
.execute("SELECT id, name FROM users WHERE id = 1;")
.await?
.one_as::<User>()?;

  • Result conversion works on individual Payloads or the entire execute result, and documentation/examples now showcase the pattern for immediate adoption.
  • The derive now maps UUID values into String fields without extra helpers and qualifies its generated Result usage so local aliases continue to compile (#1796, #1797); the README and hello world example were refreshed to match (#1790).

Full SELECT DISTINCT support

  • GlueSQL now recognises DISTINCT in projections and across aggregate functions, including COUNT(DISTINCT *), SUM(DISTINCT col) and friends (#1710). AST Builder gained .distinct() helpers and the executor deduplicates rows during planning.

New SQL functions

  • Date & time: CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP (also callable with parentheses) (#1677).
  • Conditional: NULLIF (#1683).
  • Numeric/string: HEX (#1694) and TRUNC (#1787).

Improved NULL semantics & grouping

  • Expression evaluation now short-circuits to NULL when any operand is NULL (#1685), and equality checks propagate tri-state truth (#1705).
  • Aggregate keys use full Value instances instead of Key, enabling GROUP BY on MAP and LIST columns (#1768).
  • Value, Point and related structures implement consistent PartialEq, Eq, and Hash, improving plan caching and set semantics (#1724, #1729).

Storage updates

... (truncated)

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 <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)

Updates the requirements on [gluesql-core](https://github.com/gluesql/gluesql) to permit the latest version.
- [Release notes](https://github.com/gluesql/gluesql/releases)
- [Commits](gluesql/gluesql@v0.15.0...v0.18.0)

---
updated-dependencies:
- dependency-name: gluesql-core
  dependency-version: 0.18.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Oct 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants