notmuch/lib
Austin Clements ec573cd54f lib: Return an error from operations that require an upgrade
Previously, there was no protection against a caller invoking an
operation on an old database version that would effectively corrupt
the database by treating it like a newer version.

According to notmuch.h, any caller that opens the database in
read/write mode is supposed to check if the database needs upgrading
and perform an upgrade if it does.  This would protect against this,
but nobody (even the CLI) actually does this.

However, with features, it's easy to protect against incompatible
operations on a fine-grained basis.  This lightweight change allows
callers to safely operate on old database versions, while preventing
specific operations that would corrupt the database with an
informative error message.
2014-08-30 11:39:41 -07:00
..
database-private.h lib: Database version 3: Introduce fine-grained "features" 2014-08-30 10:42:08 -07:00
database.cc lib: Return an error from operations that require an upgrade 2014-08-30 11:39:41 -07:00
directory.cc lib: Return an error from operations that require an upgrade 2014-08-30 11:39:41 -07:00
filenames.c lib: fix NULL checks for filenames iterators 2012-09-01 23:03:11 -03:00
gen-version-script.sh build: add canonicalize_file_name to symbols exported from libnotmuch.so 2014-04-19 05:58:34 +09:00
index.cc lib: Index name and address of from/to headers as a phrase 2014-06-18 17:55:14 -03:00
libsha1.c util: detect byte order 2013-11-27 07:43:29 -04:00
libsha1.h fix sum moar typos [comments in source code] 2011-06-23 15:58:39 -07:00
Makefile fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
Makefile.local lib: Bump library version from 3.0.0 to 3.1.0 2013-12-07 10:31:19 +08:00
message-file.c lib: Start all function names in notmuch-private.h with 2014-07-13 12:25:29 -03:00
message.cc lib: Return an error from operations that require an upgrade 2014-08-30 11:39:41 -07:00
messages.c lib: Eliminate _notmuch_message_list_append 2013-02-18 20:20:38 -04:00
notmuch-private.h lib: Start all function names in notmuch-private.h with 2014-07-13 12:25:29 -03:00
notmuch.h lib: Return an error from operations that require an upgrade 2014-08-30 11:39:41 -07:00
parse-time-vrp.cc lib: add date range query support 2012-10-31 16:55:32 -03:00
parse-time-vrp.h lib: add date range query support 2012-10-31 16:55:32 -03:00
query.cc lib: make notmuch_threads_valid return FALSE when passed NULL 2014-01-24 20:20:54 -04:00
sha1.c lib: Start all function names in notmuch-private.h with 2014-07-13 12:25:29 -03:00
string-list.c Fixup string list author 2011-03-21 02:45:18 -04:00
tags.c lib: fix warnings when building with clang 2012-12-01 08:10:32 -04:00
thread.cc lib: Start all function names in notmuch-private.h with 2014-07-13 12:25:29 -03:00