Latest in branch 1
1.0.32
Released 23 Jul 2001
(24 years ago)
SoftwareSQLite
Branch1
Status
End of life
Initial release1.0
17 Aug 2000
(25 years ago)
Latest release1.0.32
23 Jul 2001
(24 years ago)
Support statusNo
Documentationhttps://www.sqlite.org/docs.html
Downloadhttps://www.sqlite.org/download.html
SQLite 1 ReleasesView full list

What Is New in SQLite 1

Category Description
Initial Release The very first public version of the SQLite database engine.
Core Features Basic SQL support including CREATE TABLE, INSERT, SELECT, UPDATE, and DELETE.
Transaction Support Atomic commit and rollback capabilities using a transaction log.
API The foundational C API for opening/closing databases and executing SQL statements.

What core functionality did SQLite 1.0 introduce?

SQLite 1.0 established the fundamental architecture that the entire project is built upon. It provided a serverless, self-contained, zero-configuration SQL database engine. The core innovation was implementing atomic commit and rollback without a separate server process.

This initial version handled all the basics: creating tables, inserting data, and running queries. It used a custom disk format with a rollback journal to guarantee transaction atomicity even if the operating system crashed or power failed. The entire library was packed into a single C source file, making it incredibly easy to integrate into other projects.

How did the first version handle transactions?

Transaction integrity was the standout feature of this release. SQLite 1.0 used a rollback journal to achieve atomic commits. Before making changes, the original database pages were copied to a separate journal file.

If a commit succeeded, the journal was deleted. If anything went wrong during the transaction--like a program crash or power loss--the journal file remained. On the next database open, SQLite would detect the journal and use it to automatically roll back the incomplete changes, restoring the database to its pre-transaction state. This was a robust solution for embedded systems.

What was the API like in the initial release?

The C API was minimal and straightforward, focusing on the essential operations. You would use sqlite_open to connect to a database file and sqlite_close when finished. To execute SQL, you called sqlite_exec and provided a callback function to process the results of any SELECT queries.

This simple design meant developers could get a database up and running in their applications with just a few function calls. The entire API was contained within a single header file, aligning with the project's philosophy of simplicity and ease of deployment.

FAQ

Did SQLite 1.0 support multiple simultaneous writers?
No, the initial version used a coarse-grained lock on the entire database file. This meant that while one process was writing, all other processes were blocked from either reading or writing, limiting concurrency.

What SQL commands were available in version 1.0?
It supported the essential CRUD operations: CREATE TABLE, INSERT, SELECT, UPDATE, and DELETE. More advanced features like joins, aggregations, and ALTER TABLE were not part of this first release.

How was SQLite 1.0 distributed?
It was distributed as a single C source code file, sqlite.c, along with a header file. This made integration as simple as compiling the file directly into an application project.

Was the file format the same as modern SQLite?
No, the disk format has evolved significantly. The current format is not backward-compatible with the version 1.0 file format.

What platforms did it run on?
As a lightweight C library with minimal dependencies, it was designed to run on virtually any platform with an ANSI C compiler, including Unix and Windows.

Releases In Branch 1

VersionRelease date
1.0.3223 Jul 2001
(24 years ago)
1.0.3115 Apr 2001
(25 years ago)
1.0.3006 Apr 2001
(25 years ago)
1.0.2905 Apr 2001
(25 years ago)
1.0.2804 Apr 2001
(25 years ago)
1.0.2720 Mar 2001
(25 years ago)
1.0.2620 Mar 2001
(25 years ago)
1.0.2515 Mar 2001
(25 years ago)
1.0.2414 Mar 2001
(25 years ago)
1.0.2320 Feb 2001
(25 years ago)
1.0.2219 Feb 2001
(25 years ago)
1.0.2119 Feb 2001
(25 years ago)
1.0.2011 Feb 2001
(25 years ago)
1.0.1906 Feb 2001
(25 years ago)
1.0.1804 Jan 2001
(25 years ago)
1.0.1710 Dec 2000
(25 years ago)
1.0.1628 Nov 2000
(25 years ago)
1.0.1523 Oct 2000
(25 years ago)
1.0.1419 Oct 2000
(25 years ago)
1.0.1319 Oct 2000
(25 years ago)
1.0.1217 Oct 2000
(25 years ago)
1.0.1011 Oct 2000
(25 years ago)
1.0.909 Oct 2000
(25 years ago)
1.0.830 Sep 2000
(25 years ago)
1.0.514 Sep 2000
(25 years ago)
1.0.428 Aug 2000
(25 years ago)
1.0.322 Aug 2000
(25 years ago)
1.0.118 Aug 2000
(25 years ago)
1.017 Aug 2000
(25 years ago)