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

A minor overhaul #68

Merged
merged 19 commits into from
May 10, 2024
Merged

A minor overhaul #68

merged 19 commits into from
May 10, 2024

Commits on May 2, 2024

  1. Bump minimum Swift version to 5.8. Update CI. General package cleanup…

    …. General docs cleanup.
    gwynne committed May 2, 2024
    Configuration menu
    Copy the full SHA
    11190b8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e996789 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f2ca495 View commit details
    Browse the repository at this point in the history
  4. Make String accept integer and real values as well as textual value…

    …s when being decoded, make `Double` and `Float` accept integer values, use recommended APIs for translating between ByteBuffer and Data
    gwynne committed May 2, 2024
    Configuration menu
    Copy the full SHA
    b8ae701 View commit details
    Browse the repository at this point in the history
  5. SQLiteStatement: Use sqlite_prepare_v3() instead of _v2(). Factor out…

    … error handling. Make sure statements get finalized when errors occur. Use sqlite3_bind_blob64() and sqlite3_bind_text64() instead of the 32-bit ones. Simplify reading of blob data.
    gwynne committed May 2, 2024
    Configuration menu
    Copy the full SHA
    9e3ea3d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1a60e8d View commit details
    Browse the repository at this point in the history
  7. Tests: Make all tests async. Add helper to replace use of defer {}. A…

    …dd set of async assertions. Make tests resilient against array index range violations. Handle blobs more sensibly instead of torturing Data. Get rid of lots of force-unwraps. Use "throws error" assertion instead of messy do/catch clauses. Avoid crashing if opening a DB fails. Use singleton thread pool and MTELG always.
    gwynne committed May 2, 2024
    Configuration menu
    Copy the full SHA
    7cb2579 View commit details
    Browse the repository at this point in the history
  8. Remove incorrect new protocol requirements. Add passthroughs for the …

    …convenience methods. Factor out the `open()` implementation so the core part can be shared by the ELF and async versions. Don't leak sqlite3* handles if sqlite3_busy_handler() fails for some reason. Throw more specific errors from `open()`. Don't log at error level. Use the async version of NIOThreadPool.runIfActive() when possible.
    gwynne committed May 2, 2024
    Configuration menu
    Copy the full SHA
    3028277 View commit details
    Browse the repository at this point in the history
  9. Split the SQLDatabase protocol into its own file. Group SQLiteConnnec…

    …tion's async methods together.
    gwynne committed May 2, 2024
    Configuration menu
    Copy the full SHA
    c51dcfe View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. We always pass SQLITE_OPEN_FULLMUTEX (serialized mode) to sqlite3_ope…

    …n_v2(), so there's no point in setting multithread mode as the default during compilation; use serialized as the default instead.
    gwynne committed May 3, 2024
    Configuration menu
    Copy the full SHA
    1c93f94 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2566f04 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2024

  1. Fix a couple of log messages

    gwynne committed May 4, 2024
    Configuration menu
    Copy the full SHA
    89e319f View commit details
    Browse the repository at this point in the history
  2. Apply several SQLite compilation settings according to upstream docum…

    …entation, plus omitting several APIs that aren't usable through this package anyway.
    gwynne committed May 4, 2024
    Configuration menu
    Copy the full SHA
    ccc22b5 View commit details
    Browse the repository at this point in the history
  3. As recommended in the docs, mark custom functions SQLITE_DIRECTONLY b…

    …y default (security hardening). Provide an initializer flag to override it if needed.
    gwynne committed May 4, 2024
    Configuration menu
    Copy the full SHA
    0e5ca1a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8c9aa9b View commit details
    Browse the repository at this point in the history

Commits on May 10, 2024

  1. Update dependency minimums

    gwynne committed May 10, 2024
    Configuration menu
    Copy the full SHA
    6daa67b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f72ea1 View commit details
    Browse the repository at this point in the history
  3. Lots of documentation comments. Reorganize SQLiteConnection a little.…

    … SQLiteDatabase is Sendable.
    gwynne committed May 10, 2024
    Configuration menu
    Copy the full SHA
    84c80bd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    575470b View commit details
    Browse the repository at this point in the history