ECOOP 2025
Mon 30 June - Fri 4 July 2025 Bergen, Norway
Thu 3 Jul 2025 16:45 - 17:15 at M207 - Session 2

In this talk we present an in-progress work on implementing a framework, called Teilen-SQL for development of local-first and collaborative software. Teilen-SQL offers developers an API to interact with the underlying SQLite database running inside the browser. The API provides built-in support both for synchronous and asynchronous modes of clients updates, that can run in concurrently or offline. One of the prominent features of Teilen-SQL is that the asynchronous mode comes with a semantic version control – while it supports the same version control features as git (e.g. versions, branches, merges, manual conflict resolution), the changes are tracked and versioned on the level of individual cells of the database, which are implemented as Last-Writer-Wins register CRDTS. That enables a more expressive conflict resolution, with possibility for both default automated strategy based on LWW semantics and manual conflicts resolution. In both cases, Teilen-SQL uses hybrid logical clocks[8] as mechanism to enforce that the versioned state of the database is eventually consistent.

Thu 3 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

:
:
:
: