Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leverage improvements in SQLKit and SQLiteNIO #108

Merged
merged 11 commits into from
May 14, 2024
Merged

Leverage improvements in SQLKit and SQLiteNIO #108

merged 11 commits into from
May 14, 2024

Conversation

gwynne
Copy link
Member

@gwynne gwynne commented May 1, 2024

These changes are now available in 4.5.0

Several improvements:

  • Adds full Sendable correctness, including taking advantage of the improvements in A minor overhaul sqlite-nio#68
  • Adds ExistentialAny compliance
  • The minimum Swift version is now 5.8
  • Fully supports the new SQLKit functionality added in SQLKit 3.29.0.
  • Modernizes the README and API documentation. API docs now have 100% coverage.
  • Custom JSON encoders and decoders can now be specified per-connection.
  • SQLKit's queryLogLevel functionality is now fully implemented.
  • Database connections now default to using NIOThreadPool.singleton and MultiThreadedEventLoopGroup.singleton unless otherwise specified.
  • Leverages the improvements from A minor overhaul sqlite-nio#68 to improve performance of Concurrency-based APIs by reducing thread hops and excess allocations.
  • SQLiteDataEncoder and SQLiteDataDecoder are now slightly faster and behave more consistently.

gwynne added 4 commits May 1, 2024 07:09
…t we actually need, update CI, fix ExistentialAny usage, fix readme, update docs and logo
…ort for specifying JSON encoders and decoders, add support for new SQLKit functionality, default to singleton NIOThreadPool, modernize data encoder and decoder to handle data better and faster
@gwynne gwynne added enhancement New feature or request semver-minor Contains new APIs labels May 1, 2024
@gwynne gwynne requested review from 0xTim, MahdiBM and ptoffy May 1, 2024 12:18
Copy link

codecov bot commented May 1, 2024

Codecov Report

Attention: Patch coverage is 61.00000% with 78 lines in your changes are missing coverage. Please review.

Project coverage is 70.56%. Comparing base (e9fd69b) to head (e9eae29).

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #108       +/-   ##
===========================================
- Coverage   83.56%   70.56%   -13.00%     
===========================================
  Files           7        7               
  Lines         219      316       +97     
===========================================
+ Hits          183      223       +40     
- Misses         36       93       +57     
Files Coverage Δ
Sources/SQLiteKit/SQLiteConfiguration.swift 100.00% <ø> (ø)
Sources/SQLiteKit/SQLiteConnectionSource.swift 97.14% <100.00%> (-0.08%) ⬇️
Sources/SQLiteKit/SQLiteDataDecoder.swift 92.85% <86.95%> (+2.23%) ⬆️
Sources/SQLiteKit/SQLiteDialect.swift 82.97% <76.47%> (-3.69%) ⬇️
Sources/SQLiteKit/SQLiteRow+SQLRow.swift 58.33% <60.00%> (-41.67%) ⬇️
Sources/SQLiteKit/SQLiteConnection+SQLKit.swift 60.21% <58.82%> (-25.50%) ⬇️
Sources/SQLiteKit/SQLiteDataEncoder.swift 51.42% <42.59%> (-6.91%) ⬇️

Copy link
Member

@0xTim 0xTim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of points to discuss

Package.swift Outdated Show resolved Hide resolved
Sources/SQLiteKit/SQLiteConnection+SQLKit.swift Outdated Show resolved Hide resolved
@gwynne gwynne changed the title Update package for Sendable, and other cleanup Leverage improvements in SQLKit and SQLiteNIO May 10, 2024
@gwynne
Copy link
Member Author

gwynne commented May 10, 2024

Tests for this PR will fail until vapor/sqlite-nio#68 lands.

Copy link

@MahdiBM MahdiBM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good at a high level.

… @inlinable, fix a Sendability warning, add a missing doc comment.
@gwynne gwynne merged commit 37c1a39 into main May 14, 2024
10 of 11 checks passed
@gwynne gwynne deleted the general-update branch May 14, 2024 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request semver-minor Contains new APIs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants