[Gnucash-changes] --tweaks to get in sync with changed backend api; -- break accounting

Linas Vepstas linas at cvs.gnucash.org
Sun Jun 13 02:15:10 EDT 2004


Log Message:
-----------
--tweaks to get in sync with changed backend api;
-- break accounting periods, for now

Tags:
----
backend-work-1

Modified Files:
--------------
    gnucash/src/backend/postgres:
        PostgresBackend.c
        book.c
        gncquery.c
        price.c
        putil.h

Revision Data
-------------
Index: gncquery.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/gncquery.c,v
retrieving revision 1.34
retrieving revision 1.34.2.1
diff -Lsrc/backend/postgres/gncquery.c -Lsrc/backend/postgres/gncquery.c -u -r1.34 -r1.34.2.1
--- src/backend/postgres/gncquery.c
+++ src/backend/postgres/gncquery.c
@@ -314,7 +314,7 @@
 }
 
 /* =========================================================== */
-/* Macro for QOF_QUERYCORE_STRING query types
+/* Macro for QOF_TYPE_STRING query types
  * Note that postgres supports both case-sensitive and 
  * case-insensitve string searches, and it also supports 
  * regex!  yahooo! 
@@ -346,7 +346,7 @@
 }
 
 /* =========================================================== */
-/* Macro for QOF_QUERYCORE_NUMERIC type terms.  The logic used here in the
+/* Macro for QOF_TYPE_NUMERIC type terms.  The logic used here in the
  * SQL exactly matches that used in the qofquery.c code.  If
  * that code is incorrect or has changed, then the code below is 
  * broken as well. 
@@ -756,7 +756,7 @@
                 need_entry = TRUE;
                 need_trans_commodity = TRUE;
             } else if (!safe_strcmp(pd->type_name, QOF_TYPE_GUID)) {
-                if (!safe_strcmp(path->data, QOF_QUERY_PARAM_GUID))
+                if (!safe_strcmp(path->data, QOF_PARAM_GUID))
                     need_entry = TRUE;
                 else if (!safe_strcmp(path->data, SPLIT_ACCOUNT)) {
                     need_account = TRUE;
@@ -862,17 +862,17 @@
 
                 PINFO("term is QOF_TYPE_GUID");
 
-                if (!safe_strcmp(path->data, QOF_QUERY_PARAM_GUID)) {
+                if (!safe_strcmp(path->data, QOF_PARAM_GUID)) {
                     field = "gncSplit.splitGuid";
                     g_assert(pdata->options != QOF_GUID_MATCH_ALL);
 
                 } else if (!safe_strcmp(path->data, SPLIT_TRANS) &&
-                           !safe_strcmp(path->next->data, QOF_QUERY_PARAM_GUID)) {
+                           !safe_strcmp(path->next->data, QOF_PARAM_GUID)) {
                     field = "gncSplit.transGUID";
                     g_assert(pdata->options != QOF_GUID_MATCH_ALL);
 
                 } else if (!safe_strcmp(path->data, SPLIT_ACCOUNT) &&
-                           !safe_strcmp(path->next->data, QOF_QUERY_PARAM_GUID)) {
+                           !safe_strcmp(path->next->data, QOF_PARAM_GUID)) {
                     field = "gncSplit.accountGUID";
                     g_assert(pdata->options != QOF_GUID_MATCH_ALL);
 
@@ -883,8 +883,8 @@
                     field = "gncSplit.accountGUID";
                     g_assert(pdata->options == QOF_GUID_MATCH_ALL);
 
-                } else if (!safe_strcmp(path->data, QOF_QUERY_PARAM_BOOK) &&
-                           !safe_strcmp(path->next->data, QOF_QUERY_PARAM_GUID)) {
+                } else if (!safe_strcmp(path->data, QOF_PARAM_BOOK) &&
+                           !safe_strcmp(path->next->data, QOF_PARAM_GUID)) {
                     /* XXX: Need to support the Book GUID? (gncAccount.bookGUID) */
                     field = "gncAccount.bookGUID";
                     g_assert(pdata->options != QOF_GUID_MATCH_ALL);
Index: price.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/price.c,v
retrieving revision 1.22
retrieving revision 1.22.2.1
diff -Lsrc/backend/postgres/price.c -Lsrc/backend/postgres/price.c -u -r1.22 -r1.22.2.1
--- src/backend/postgres/price.c
+++ src/backend/postgres/price.c
@@ -462,7 +462,7 @@
 void
 pgend_price_begin_edit (QofBackend * bend, GNCPrice *pr)
 {
-   if (pr && pr->db && pr->db->dirty) 
+   if (pr && pr->db && pr->db->inst.dirty) 
    {
       PERR ("price db is unexpectedly dirty");
    }
@@ -527,7 +527,7 @@
    SEND_QUERY (be,bufp,);
    FINISH_QUERY(be->connection);
 
-   if (pr->db) pr->db->dirty = FALSE;
+   if (pr->db) pr->db->inst.dirty = FALSE;
 
    LEAVE ("commited");
    return;
Index: putil.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/putil.h,v
retrieving revision 1.15
retrieving revision 1.15.2.1
diff -Lsrc/backend/postgres/putil.h -Lsrc/backend/postgres/putil.h -u -r1.15 -r1.15.2.1
--- src/backend/postgres/putil.h
+++ src/backend/postgres/putil.h
@@ -362,7 +362,7 @@
       for (node=be->blist; node; node=node->next)                \
       {                                                          \
          book = node->data;                                      \
-         if (guid_equal (&book->entity.guid, &book_guid)) break; \
+         if (guid_equal (&book->inst.entity.guid, &book_guid)) break; \
          book = NULL;                                            \
       }                                                          \
       if (!book) return data;                                    \
Index: book.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/book.c,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -Lsrc/backend/postgres/book.c -Lsrc/backend/postgres/book.c -u -r1.11 -r1.11.2.1
--- src/backend/postgres/book.c
+++ src/backend/postgres/book.c
@@ -97,7 +97,7 @@
    if (book->idata)
    {
       pgendKVPDelete (be, book->idata);
-      pgendKVPStore (be, book->idata, book->kvp_data);
+      pgendKVPStore (be, book->idata, book->inst.kvp_data);
    }
    LEAVE(" ");
 }
@@ -172,7 +172,7 @@
 
    if (0 != book->idata) 
    {
-      book->kvp_data = pgendKVPFetch (be, book->idata, book->kvp_data);
+      book->inst.kvp_data = pgendKVPFetch (be, book->idata, book->inst.kvp_data);
    }
 
    LEAVE (" ");
@@ -200,7 +200,7 @@
    for (node=blist; node; node=node->next)
    {
       book = node->data;
-      if (guid_equal (&book->entity.guid, &guid)) break;
+      if (guid_equal (&book->inst.entity.guid, &guid)) break;
       book = NULL;
    }
    
@@ -237,7 +237,7 @@
       QofBook *book = node->data;
       if (0 != book->idata) 
       {
-         book->kvp_data = pgendKVPFetch (be, book->idata, book->kvp_data);
+         book->inst.kvp_data = pgendKVPFetch (be, book->idata, book->inst.kvp_data);
       }
    }
 
Index: PostgresBackend.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/PostgresBackend.c,v
retrieving revision 1.53
retrieving revision 1.53.2.1
diff -Lsrc/backend/postgres/PostgresBackend.c -Lsrc/backend/postgres/PostgresBackend.c -u -r1.53 -r1.53.2.1
--- src/backend/postgres/PostgresBackend.c
+++ src/backend/postgres/PostgresBackend.c
@@ -1643,20 +1643,21 @@
 }
 
 static void
-pgend_do_begin (QofBackend *bend, QofIdTypeConst type, gpointer object)
+pgend_do_begin (QofBackend *bend, QofInstance *inst)
 {
   PGBackend *be = (PGBackend*)bend;
+  QofIdTypeConst type = inst->entity.e_type;
 
   ENTER ("be=%p, type=%s", bend, type);
-  if (!safe_strcmp (type, GNC_ID_PERIOD))
-    return pgend_book_transfer_begin (bend, object);
+  // if (!safe_strcmp (type, GNC_ID_PERIOD))
+  //   return pgend_book_transfer_begin (bend, object);
 
   switch (be->session_mode) {
       case MODE_EVENT:
       case MODE_POLL:
       case MODE_SINGLE_UPDATE:
           if (!safe_strcmp (type, GNC_ID_PRICE))
-              return pgend_price_begin_edit (bend, object);
+              return pgend_price_begin_edit (bend, (GNCPrice *) inst);
 
       case MODE_SINGLE_FILE:
       case MODE_NONE:
@@ -1668,13 +1669,14 @@
 }
 
 static void
-pgend_do_commit (QofBackend *bend, QofIdTypeConst type, gpointer object)
+pgend_do_commit (QofBackend *bend, QofInstance *inst)
 {
   PGBackend *be = (PGBackend*)bend;
+  QofIdTypeConst type = inst->entity.e_type;
 
   ENTER ("be=%p, type=%s", bend, type);
-  if (!safe_strcmp (type, GNC_ID_PERIOD))
-    return pgend_book_transfer_commit (bend, object);
+  // if (!safe_strcmp (type, GNC_ID_PERIOD))
+  //  return pgend_book_transfer_commit (bend, object);
 
   switch (be->session_mode) {
   case MODE_EVENT:
@@ -1682,15 +1684,15 @@
   case MODE_SINGLE_UPDATE:
 
     if (!safe_strcmp (type, GNC_ID_TRANS)) {
-      Transaction *txn = (Transaction*) object;
+      Transaction *txn = (Transaction*) inst;
       return pgend_trans_commit_edit (bend, txn, txn->orig);
     }
 
     if (!safe_strcmp (type, GNC_ID_PRICE))
-      return pgend_price_commit_edit (bend, object);
+      return pgend_price_commit_edit (bend, (GNCPrice *) inst);
 
     if (!safe_strcmp (type, GNC_ID_ACCOUNT))
-      return pgend_account_commit_edit (bend, object);
+      return pgend_account_commit_edit (bend, (Account *) inst);
 
   case MODE_SINGLE_FILE:
   case MODE_NONE:
@@ -1703,9 +1705,10 @@
 }
 
 static void
-pgend_do_rollback (QofBackend *bend, QofIdTypeConst type, gpointer object)
+pgend_do_rollback (QofBackend *bend, QofInstance *inst)
 {
   PGBackend *be = (PGBackend*)bend;
+  QofIdTypeConst type = inst->entity.e_type;
 
   ENTER ("be=%p, type=%s", bend, type);
   switch (be->session_mode) {
@@ -1713,7 +1716,7 @@
   case MODE_POLL:
 
     if (!safe_strcmp (type, GNC_ID_TRANS))
-      return pgend_trans_rollback_edit (bend, object);
+      return pgend_trans_rollback_edit (bend, (Transaction *)inst);
 
   case MODE_SINGLE_UPDATE:
   case MODE_SINGLE_FILE:


More information about the gnucash-changes mailing list