Skip to content

Add compile-time options warning to SQLite spatial docs#5320

Merged
AndriySvyryd merged 3 commits intomainfrom
copilot/update-sqlite-spatial-docs
Apr 2, 2026
Merged

Add compile-time options warning to SQLite spatial docs#5320
AndriySvyryd merged 3 commits intomainfrom
copilot/update-sqlite-spatial-docs

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 2, 2026

When switching from the bundled SQLite (SQLitePCLRaw.bundle_e_sqlite3) to a system-installed SQLite for SpatiaLite compatibility, the available compile-time options may differ—silently breaking features like math functions and full-text search.

  • Added a paragraph to the existing [!IMPORTANT] block in entity-framework/core/providers/sqlite/spatial.md warning users to verify feature availability against their system SQLite build

@AndriySvyryd AndriySvyryd marked this pull request as ready for review April 2, 2026 18:47
Copilot AI review requested due to automatic review settings April 2, 2026 18:47
@AndriySvyryd AndriySvyryd assigned roji and unassigned AndriySvyryd and Copilot Apr 2, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds guidance to the EF Core SQLite spatial documentation to warn that switching from the bundled SQLite to a system-installed SQLite (for SpatiaLite compatibility) can change available SQLite features due to differing compile-time options.

Changes:

  • Extends the existing [!IMPORTANT] guidance to mention compile-time option differences between bundled vs system SQLite.
  • Calls out potential feature impacts (e.g., math functions, full-text search) and advises verification.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@AndriySvyryd AndriySvyryd enabled auto-merge (squash) April 2, 2026 20:19

> [!IMPORTANT]
> Don't use `Microsoft.EntityFrameworkCore.Sqlite` or `Microsoft.Data.Sqlite` with SpatiaLite on macOS and Linux. Both packages pull in `SQLitePCLRaw.bundle_e_sqlite3` by default—a bundled version of SQLite that is incompatible with system-installed Sqlite. Using it may result in a silent crash at run time. Use `Microsoft.EntityFrameworkCore.Sqlite.Core` or `Microsoft.Data.Sqlite.Core` instead, together with the system SQLite provider as shown below.
> Don't use `Microsoft.EntityFrameworkCore.Sqlite` or `Microsoft.Data.Sqlite` with SpatiaLite on macOS and Linux. Both packages pull in `SQLitePCLRaw.bundle_e_sqlite3` by default—a bundled version of SQLite that is incompatible with system-installed SQLite. Using it may result in a silent crash at run time. Use `Microsoft.EntityFrameworkCore.Sqlite.Core` or `Microsoft.Data.Sqlite.Core` instead, together with the system SQLite provider as shown below.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Still seems overly aggressive - IIUC the problem is only with using these packages when SpatiaLite is machine-installed on macOS/Linux, which I'd suspect isn't necessarily the normal case.

@AndriySvyryd AndriySvyryd merged commit 4c9a955 into main Apr 2, 2026
5 checks passed
@AndriySvyryd AndriySvyryd deleted the copilot/update-sqlite-spatial-docs branch April 2, 2026 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants