Skip to content

Conversation

@oguzkocer
Copy link
Contributor

@oguzkocer oguzkocer commented Nov 24, 2025

Eliminates unnecessary casting between rusqlite's i64 and our u64 types. Since rusqlite consistently uses i64 for all integer operations, aligning our types reduces friction and improves code clarity.

Changes:

  • Change RowId inner type from u64 to i64
  • Remove casting in RowId's ToSql, FromSql, and conversion implementations
  • Update migration functions to use i64 instead of u64
  • Change FetchResult.total_items from Option<u64> to Option<i64>
  • Remove unnecessary casts in repository and service code
  • Update type casts in test code and helper functions

Eliminates unnecessary casting between rusqlite's `i64` and our `u64` types.
Since rusqlite consistently uses `i64` for all integer operations, aligning
our types reduces friction and improves code clarity.

Changes:
- Change `RowId` inner type from `u64` to `i64`
- Remove casting in `RowId`'s `ToSql`, `FromSql`, and conversion implementations
- Update migration functions to use `i64` instead of `u64`
- Change `FetchResult.total_items` from `Option<u64>` to `Option<i64>`
- Remove unnecessary casts in repository and service code
- Update type casts in test code and helper functions
@oguzkocer oguzkocer added this to the 0.2 milestone Nov 24, 2025
@oguzkocer oguzkocer requested a review from jkmassel November 24, 2025 11:47
@oguzkocer oguzkocer added the Rust label Nov 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants