summaryrefslogtreecommitdiff
path: root/lib/database.cc
AgeCommit message (Collapse)Author
2009-11-20add_message: Properly handle missing Message-ID once again.Carl Worth
There's been a fair amount of fallout from when we changed message_file_get_header from returning NULL to returning "" for missing headers. This is yet more fallout from that, (where we were accepting an empty message-ID rather than generating one like we want to).
2009-11-18TypsosIngmar Vanhassel
2009-11-18linke_message: Avoid segfault when In-Reply-to header is empty.Carl Worth
This was recently introduced in commit: 64c03ae97f2f5294c60ef25d7f41849864e6ebd3 which was adding extra checks to avoid adding a self-referencing message. How many times am I going to fix a dumb regression like this and say "we really need a test suite" before I actually sit down and write the test suite?
2009-11-17database: Make _parse_message_id static once again.Carl Worth
We had exposed this to the internal implementation for a short time, (only while we had the silly code fetching In-Reply-To values from message files instead of from the database). Make this private again as it should be.
2009-11-17database: Add "replyto" to the database schema documentation.Carl Worth
Maybe ths lack of this documentation is why I forgot we were actually storing this and wrote the ugly code to fetch In-Reply-To from message files rather than from the database.
2009-11-17database: Rename "ref" prefix name to "reference"Carl Worth
Which is more consistent with the XREFERENCE prefix used in the terms in the database. Also remove some stale documentation describing the removal of resolved references from the database (we no longer do this).
2009-11-17add_message: Don't add any self-references to the database.Carl Worth
In our scheme it's illegal for any message to refer to itself, (nor would it be useful for anything anyway). Cut these self-references off at the source, before they trip up any internal errors.
2009-11-17Remove the talloc_owner argument from create_for_message_id.Carl Worth
This function has only one caller, and that one caller was passing the same value for both talloc_owner and the notmuch database. Dropping the redundant argument simplifies the documentation of this function considerably.
2009-11-17Fix broken commit.Carl Worth
Oops. I should have actually compiled before pushing.
2009-11-17add_message: Avoid a memory leak when user holds on to message return.Carl Worth
When this function was originally written, the 'message' object was always destroyed locally, so I thought it would be good to use a NULL talloc context to make it more obvious if there was any leak. Since then, however, this function has been changed to optionally return the added message, and in that case we *don't* free the message locally, so let's let the database be the talloc context.
2009-11-15database: Fix a typo in a commit.Carl Worth
Nothing significant here, but we might as well not keep things misspelled when we notice.
2009-11-15Export _parse_message_id to the library implementation.Carl Worth
Not exported through the public interface, but the thread code is going to want to be able to parse In-Reply-To headers so needs access to this code.
2009-11-12Don't create "contact" terms in the database.Carl Worth
We never did export any interface to get at these, and when I went to use these, I found them inadequate, (because I wanted to distinguish address found in from: from those found in To:). Meanwhile, it was easy enough to extract addresses with a search like: notmuch show tag:sent | grep ^To: so the storage of contact terms was just wasting space. Stop that.
2009-11-11notmuch: Add a configuration system.Carl Worth
This will allow for things like the database path to be specified without any cheesy NOTMUCH_BASE environment variable. It also will allow "notmuch reply" to recognize the user's email address when constructing a reply in order to do the right thing, (that is, to use the user's address to which mail was sent as From:, and not to reply to the user's own addresses). With this change, the "notmuch setup" command is now strictly for changing the configuration of notmuch. It no longer creates the database, but instead instructs the user to call "notmuch new" to do that.
2009-11-09libify: Move library sources down into lib directory.Carl Worth
A "make" invocation still works from the top-level, but not from down inside the lib directory yet.