Zombie Zen

Posts tagged "SQLite"

Ross on Cup O' Go Podcast

Posted at by Ross Light

I was on the Cup O’ Go podcast this last week! I talked about my SQLite package and the history behind it. Go check it out!

Posted at
Permalink

zombiezen.com/go/sqlite reaches 1.0

Posted at by Ross Light

I’m proud to announce that my CGo-less SQLite Go package, zombiezen.com/go/sqlite, has finally reached version 1.0. This has been the culmination of almost three years of work: I started on this project in March of 2021 as a fork of David Crawshaw’s crawshaw.io/sqlite to build on top of Jan Mercl’s amazing modernc.org/sqlite. I’ve built a number of features on top of this package such as:

  • A simple schema migration framework
  • A basic REPL
  • User-defined functions, including windows and aggregates
  • Custom virtual tables
  • Utilities for running embedded SQL scripts
  • A go fix-like tool for migrating existing code using crawshaw.io/sqlite
  • Support for running restricted SQL

Over this time, the project has been used in about a dozen open source projects and has over 350 stars on GitHub. I’ve successfully used it in a number of personal projects, including a personal accounting program and my Nix caching layer.

With the 1.0 release, I’m proud to call the API stable so that Go applications can continue to build on it for their storage needs. If you’re using zombiezen.com/go/sqlite for something interesting, let me know about it, and consider supporting me on GitHub.

Posted at
Permalink

A SQLite Notebook

Posted at by Ross Light

Similar to the Jupyter kernel for Ivy I hacked up a few months ago, I’ve created a SQLite kernel for Jupyter Notebook.

Screenshot of a SQLite Visual Studio Code notebook.

Screenshot of a SQLite Visual Studio Code notebook.

Check out the demo on GitHub! (Installation is a little DIY if you’re not using Nix, but there are instructions in the README on how to build.) Read on if you’re interested in how it works.

Read more…
Posted at
Permalink

TIL: SQLite Virtual Tables

Posted at by Ross Light

I’ve been working on implementing virtual tables for my zombiezen.com/go/sqlite package. I hadn’t used virtual tables in SQLite before this, so to get a feel for the API, I played around with the feature and read up on the documentation. Since it’s not a feature I’ve seen talked about a lot, I wanted to share what virtual tables are, why you might want to use them, and what some limitations are.

Read more…
Posted at
Permalink