Conversation
Elixir: - db_connection 2.9.0 -> 2.10.0 - ecto 3.13.5 -> 3.13.6 - jason 1.4.4 -> 1.4.5 Rust: - rustler 0.37.3 -> 0.37.4 - libc 0.2.185 -> 0.2.186 - cc 1.2.60 -> 1.2.61 - pin-project 1.1.11 -> 1.1.12 - js-sys 0.3.95 -> 0.3.97 - (plus transitive bumps) Also fix an OTP 27+ pattern-match warning in test/type_loader_dumper_test.exs: matching the literal 0.0 now only matches +0.0, so bind the zero rows and assert numeric equality instead (covers both +0.0 and -0.0 regardless of sort order).
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (2)
WalkthroughA test assertion was refactored to destructure ordered float query results and assert zero-valued rows via variables; additionally, ChangesFloat Types Test Assertion
cargo-deny Advisory Ignore
Version and Release Metadata
Docs and Guides Formatting / Notes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/type_loader_dumper_test.exs (1)
349-351: 💤 Low valueLGTM — OTP 27+ zero-float pattern fix is correct.
Binding
z1/z2and asserting== 0.0is the right approach:+0.0 == -0.0istruein Erlang/Elixir, so both representations pass, and the non-deterministic ordering between the two zeros is handled cleanly. The non-zero float literals[-2.71828]and[3.14]remaining in the pattern are fine — the OTP 27+ warning is specific to ±zero.As an optional cosmetic improvement,
zero1/zero2(orfirst_zero/second_zero) would make the intent of these bindings self-evident without needing to look at the inserts:✨ Optional rename
- assert [[-2.71828], [z1], [z2], [3.14]] = result.rows - assert z1 == 0.0 - assert z2 == 0.0 + assert [[-2.71828], [zero1], [zero2], [3.14]] = result.rows + assert zero1 == 0.0 + assert zero2 == 0.0🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@test/type_loader_dumper_test.exs` around lines 349 - 351, The test binds z1 and z2 to match ±0.0 which is correct; rename those variables to clearer names (e.g., zero1/zero2 or first_zero/second_zero) in the pattern match and corresponding asserts in test/type_loader_dumper_test.exs so their purpose is self-evident—update the pattern assert ([[ -2.71828], [z1], [z2], [3.14]] = result.rows) and the following asserts (z1 == 0.0, z2 == 0.0) to use the chosen descriptive identifiers consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@test/type_loader_dumper_test.exs`:
- Around line 349-351: The test binds z1 and z2 to match ±0.0 which is correct;
rename those variables to clearer names (e.g., zero1/zero2 or
first_zero/second_zero) in the pattern match and corresponding asserts in
test/type_loader_dumper_test.exs so their purpose is self-evident—update the
pattern assert ([[ -2.71828], [z1], [z2], [3.14]] = result.rows) and the
following asserts (z1 == 0.0, z2 == 0.0) to use the chosen descriptive
identifiers consistently.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a786eccb-897c-4985-9b91-6548493a8a25
⛔ Files ignored due to path filters (2)
Cargo.lockis excluded by!**/*.lockmix.lockis excluded by!**/*.lock
📒 Files selected for processing (1)
test/type_loader_dumper_test.exs
rustls-webpki 0.102.x (via libsql → rustls 0.22 → hyper-rustls) has a reachable panic when parsing CRLs with an empty BIT STRING in the IssuingDistributionPoint extension (RUSTSEC-2026-0104). The fix requires rustls-webpki >=0.103.13, but libsql pins rustls 0.22.x which depends on the 0.102.x series — we cannot resolve this without an upstream bump. Added to cargo deny ignore list alongside the other rustls-webpki advisories (0049, 0098, 0099) that are blocked for the same reason.
- Bump version to 0.9.1
- Add upstream status notice to README: Turso is transitioning away
from libSQL toward their new Turso library; ecto_libsql will continue
receiving bug fixes and security updates, likely transitioning to
maintenance mode as the ecosystem matures
- Update installation snippet to ~> 0.9.0
- Add CHANGELOG entry covering PRAGMA routing fix, dep updates,
CI toolchain improvements, and security advisory acknowledgements
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@USAGE.md`:
- Line 407: Update the `patch` row description in USAGE.md to accurately reflect
RFC 7396: replace "top-level object keys only" with a statement that the
merge-patch applies recursively to nested objects and that arrays are replaced
entirely (not merged element-by-element); keep the note about setting a key to
`null` to remove it and ensure the row for `patch` explicitly mentions recursive
object merging and whole-array replacement semantics.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 713cbd9b-16dd-4058-acd6-db061aa8a4fc
⛔ Files ignored due to path filters (2)
Cargo.lockis excluded by!**/*.locknative/ecto_libsql/fuzz/Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (9)
CHANGELOG.mdCLAUDE.mdREADME.mdRELEASE_PROCESS.mdUSAGE.mdmix.exsnative/ecto_libsql/Cargo.tomlnative/ecto_libsql/deny.tomlnative/ecto_libsql/src/utils.rs
✅ Files skipped from review due to trivial changes (6)
- native/ecto_libsql/Cargo.toml
- mix.exs
- native/ecto_libsql/src/utils.rs
- CHANGELOG.md
- CLAUDE.md
- README.md
🚧 Files skipped from review as they are similar to previous changes (1)
- native/ecto_libsql/deny.toml
Elixir:
Rust:
Also fix an OTP 27+ pattern-match warning in
test/type_loader_dumper_test.exs: matching the literal 0.0 now only matches +0.0, so bind the zero rows and assert numeric equality instead (covers both +0.0 and -0.0 regardless of sort order).
Summary by CodeRabbit
Bug Fixes
Tests
Documentation
Chores