[Gnucash-changes] r13942 - gnucash/trunk - Fix `test-query` failure.

Joshua Sled jsled at cvs.gnucash.org
Sun May 7 17:39:31 EDT 2006


Author: jsled
Date: 2006-05-07 17:39:30 -0400 (Sun, 07 May 2006)
New Revision: 13942
Trac: http://svn.gnucash.org/trac/changeset/13942

Modified:
   gnucash/trunk/ChangeLog
   gnucash/trunk/src/engine/test-core/test-engine-stuff.c
Log:
Fix `test-query` failure.

Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog	2006-05-07 20:22:54 UTC (rev 13941)
+++ gnucash/trunk/ChangeLog	2006-05-07 21:39:30 UTC (rev 13942)
@@ -1,11 +1,14 @@
 2006-05-07  Joshua Sled  <jsled at asynchronous.org>
 
+	* src/engine/test-core/test-engine-stuff.c (make_trans_query):
+	Don't construct queries involving empty strings, as the query
+	processor asserts that string match terms are not empty. Fixes
+	`test-query` failure.
+
 	* src/gnome/dialog-scheduledxaction.c (sxd_close_handler):
 	Actually close the dialog when we are button-requested to Close
 	the dialog, thus cleaning up properly.  Bug#340936.
 
-2006-05-07  Joshua Sled  <jsled at asynchronous.org>
-
 	* src/register/register-gnome/formulacell-gnome.c
 	(gnc_formula_cell_direct_update): Call new factored-out logic.
 	Fix Bug#340875 regarding same.

Modified: gnucash/trunk/src/engine/test-core/test-engine-stuff.c
===================================================================
--- gnucash/trunk/src/engine/test-core/test-engine-stuff.c	2006-05-07 20:22:54 UTC (rev 13941)
+++ gnucash/trunk/src/engine/test-core/test-engine-stuff.c	2006-05-07 21:39:30 UTC (rev 13942)
@@ -1419,8 +1419,9 @@
     Transaction* trans;
     KvpFrame *f;
     gint num;
-    gchar numstr[10];
+    gchar *numstr;
 
+    numstr = g_new0(gchar, 10);
     if (!account_list) 
     {
       account_list = xaccGroupGetSubAccounts (xaccGetAccountGroup (book));
@@ -2022,15 +2023,24 @@
   {
     xaccQueryAddSingleAccountMatch (q, xaccSplitGetAccount (s), QOF_QUERY_AND);
 
-    xaccQueryAddDescriptionMatch (q, xaccTransGetDescription (trans),
-                                  TRUE, FALSE, QOF_QUERY_AND);
+    if (xaccTransGetDescription(trans) && *xaccTransGetDescription(trans) != '\0')
+    {
+      xaccQueryAddDescriptionMatch (q, xaccTransGetDescription (trans),
+                                    TRUE, FALSE, QOF_QUERY_AND);
+    }
 
-    xaccQueryAddNumberMatch (q, xaccTransGetNum (trans),
-                             TRUE, FALSE, QOF_QUERY_AND);
+    if (xaccTransGetNum(trans) && *xaccTransGetNum(trans) != '\0')
+    {
+      xaccQueryAddNumberMatch (q, xaccTransGetNum (trans),
+                               TRUE, FALSE, QOF_QUERY_AND);
+    }
+     
+    if (xaccSplitGetAction(s) && *xaccSplitGetAction(s) != '\0')
+    {
+      xaccQueryAddActionMatch (q, xaccSplitGetAction (s),
+                               TRUE, FALSE, QOF_QUERY_AND);
+    }
 
-    xaccQueryAddActionMatch (q, xaccSplitGetAction (s),
-                             TRUE, FALSE, QOF_QUERY_AND);
-
     n = xaccSplitGetValue (s);
     xaccQueryAddValueMatch (q, n, QOF_NUMERIC_MATCH_ANY,
                               QOF_COMPARE_EQUAL, QOF_QUERY_AND);
@@ -2051,7 +2061,10 @@
       xaccQueryAddDateMatchTS (q, TRUE, ts, TRUE, ts, QOF_QUERY_AND);
     }
 
-    xaccQueryAddMemoMatch (q, xaccSplitGetMemo (s), TRUE, FALSE, QOF_QUERY_AND);
+    if (xaccSplitGetMemo(s) && *xaccSplitGetMemo(s) != '\0')
+    {
+      xaccQueryAddMemoMatch (q, xaccSplitGetMemo (s), TRUE, FALSE, QOF_QUERY_AND);
+    }
 
     {
       cleared_match_t how;



More information about the gnucash-changes mailing list