Skip to content

Spreads/Spreads.SQLite

Repository files navigation

Linux Windows Mac
Build Status Build Status Build Status

Spreads.SQLite

Extends Microsoft.Data.Sqlite with FastQuery class, which is a simple and fast wrapper over native functions that does not require ADO.NET ceremony and does not allocate anything.

NuGet binaries include begin-concurrent and wal2 features.

To build the amalgamation on Windows:

  • Download zip from https://www.sqlite.org/src/timeline?r=begin-concurrent-wal2 or another branch. Git cloned repo does not work for some reason (line endings or something, zip is just simpler).
  • In WSL run ./configure then make sqlite3.c.
  • Copy sqlite3.c and sqlite3.h to lib folder and use Makefile from MinGW or WSL to build shared libs (need to adjust some variables for each platform, not automated yet). Amalgamation produced on WSL works fine for Windows builds.
  • Run lib/compress.bat and place compressed artifacts according to Spreads.SQLite.csproj imports.
  • Clear bin and obj folders. Imported artifacts are often cached and not updated without this step.
  • Rebuild .NET projects, run Tests.
  • Run a publishing script from nuget folder. Local pack places a NuGet package in C:/transient/LocalNuget folder.