From 526b7144f7d692e04ce950dfa7d0ee1bdf792cdc Mon Sep 17 00:00:00 2001
From: Carl Worth <cworth@cworth.org>
Date: Sat, 24 Oct 2009 22:18:20 -0700
Subject: [PATCH] Add debugging code for examining query strings.

It's nice that Xapian provides a little function to print a textual
representation of the entire query tree. So now, if you compile
like so:

	make CFLAGS=-DDEBUG_QUERY

then you get a nice output of the query string received by the query
module, and the final query actually being sent to Xapian.
---
 Makefile | 2 +-
 query.cc | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 13f2b28d..1737a32e 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ MODULES=		\
 all: $(PROGS)
 
 %.o: %.cc
-	$(CXX) -c $(CXXFLAGS) $(MYCXXFLAGS) $< -o $@
+	$(CXX) -c $(CFLAGS) $(CXXFLAGS) $(MYCXXFLAGS) $< -o $@
 
 %.o: %.c
 	$(CC) -c $(CFLAGS) $(MYCFLAGS) $< -o $@
diff --git a/query.cc b/query.cc
index a15de966..f66ee556 100644
--- a/query.cc
+++ b/query.cc
@@ -41,6 +41,10 @@ notmuch_query_create (notmuch_database_t *notmuch,
 {
     notmuch_query_t *query;
 
+#ifdef DEBUG_QUERY
+    fprintf (stderr, "Query string is:\n%s\n", query_string);
+#endif
+
     query = talloc (NULL, notmuch_query_t);
     if (unlikely (query == NULL))
 	return NULL;
@@ -118,6 +122,10 @@ notmuch_query_search (notmuch_query_t *query)
 	    break;
 	}
 
+#if DEBUG_QUERY
+	fprintf (stderr, "Final query is:\n%s\n", final_query.get_description().c_str());
+#endif
+
 	enquire.set_query (final_query);
 
 	mset = enquire.get_mset (0, notmuch->xapian_db->get_doccount ());
-- 
2.26.2