port the postgres backend sot that it now compiles /.w qof

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8799 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Linas Vepstas 2003-06-28 20:56:43 +00:00
parent d181d075b8
commit 2bf5f33c44
26 changed files with 457 additions and 452 deletions

View File

@ -40,12 +40,8 @@
#include <libpq-fe.h>
#include "AccountP.h"
#include "Backend.h"
#include "BackendP.h"
#include "Group.h"
#include "GroupP.h"
#include "gnc-book.h"
#include "gnc-book-p.h"
#include "gnc-commodity.h"
#include "gnc-engine.h"
#include "gnc-engine-util.h"
@ -54,8 +50,12 @@
#include "gnc-pricedb.h"
#include "gnc-pricedb-p.h"
#include "guid.h"
#include "GNCId.h"
#include "qofbackend.h"
#include "qofbackend-p.h"
#include "qofid.h"
#include "qofid-p.h"
#include "qofbook.h"
#include "qofbook-p.h"
#include "TransactionP.h"
#include "account.h"
@ -152,7 +152,7 @@ pgendAccountLookup (PGBackend *be, const GUID *acct_guid)
ENTER("guid = %s", guid_to_string(acct_guid));
for (node=be->blist; node; node=node->next)
{
GNCBook *book = node->data;
QofBook *book = node->data;
acc = xaccAccountLookup (acct_guid, book);
if (acc) { LEAVE("acc = %p", acc); return acc; }
}
@ -170,7 +170,7 @@ pgendTransLookup (PGBackend *be, const GUID *txn_guid)
ENTER("guid = %s", guid_to_string(txn_guid));
for (node=be->blist; node; node=node->next)
{
GNCBook *book = node->data;
QofBook *book = node->data;
txn = xaccTransLookup (txn_guid, book);
if (txn) { LEAVE("txt = %p", txn); return txn; }
}
@ -188,7 +188,7 @@ pgendSplitLookup (PGBackend *be, const GUID *split_guid)
ENTER("guid = %s", guid_to_string(split_guid));
for (node=be->blist; node; node=node->next)
{
GNCBook *book = node->data;
QofBook *book = node->data;
split = xaccSplitLookup (split_guid, book);
if (split) { LEAVE("split = %p", split); return split; }
}
@ -197,17 +197,17 @@ pgendSplitLookup (PGBackend *be, const GUID *split_guid)
return NULL;
}
GNCIdType
QofIdType
pgendGUIDType (PGBackend *be, const GUID *guid)
{
GList *node;
GNCIdType tip = GNC_ID_NONE;
QofIdType tip = GNC_ID_NONE;
ENTER("guid = %s", guid_to_string(guid));
for (node=be->blist; node; node=node->next)
{
GNCBook *book = node->data;
tip = xaccGUIDType (guid, book);
QofBook *book = node->data;
tip = qof_entity_type (qof_book_get_entity_table(book), guid);
if (GNC_ID_NONE != tip) { LEAVE("tip = %s", tip); return tip; }
}
@ -218,7 +218,7 @@ pgendGUIDType (PGBackend *be, const GUID *guid)
/* ============================================================= */
static void
pgend_set_book (PGBackend *be, GNCBook *book)
pgend_set_book (PGBackend *be, QofBook *book)
{
GList *node;
be->book = book;
@ -237,7 +237,7 @@ pgend_set_book (PGBackend *be, GNCBook *book)
*/
gnc_commodity *
gnc_string_to_commodity (const char *str, GNCBook *book)
gnc_string_to_commodity (const char *str, QofBook *book)
{
gnc_commodity_table *comtab;
gnc_commodity *com;
@ -677,18 +677,18 @@ pgendFillOutToCheckpoint (PGBackend *be, const char *query_string)
}
static gpointer
pgendCompileQuery (Backend *bend, Query *q)
pgendCompileQuery (QofBackend *bend, Query *q)
{
return q;
}
static void
pgendFreeQuery (Backend *bend, gpointer q)
pgendFreeQuery (QofBackend *bend, gpointer q)
{
}
static void
pgendRunQuery (Backend *bend, gpointer q_p)
pgendRunQuery (QofBackend *bend, gpointer q_p)
{
PGBackend *be = (PGBackend *)bend;
Query *q = (Query*) q_p;
@ -763,7 +763,7 @@ get_all_trans_cb (PGBackend *be, PGresult *result, int j, gpointer data)
GUID *trans_guid;
/* find the transaction this goes into */
trans_guid = xaccGUIDMalloc();
trans_guid = guid_malloc();
*trans_guid = nullguid; /* just in case the read fails ... */
string_to_guid (DB_GET_VAL("transGUID",j), trans_guid);
@ -788,7 +788,7 @@ pgendGetAllTransactions (PGBackend *be, AccountGroup *grp)
for (node=xaction_list; node; node=node->next)
{
xxxpgendCopyTransactionToEngine (be, (GUID *)node->data);
xaccGUIDFree (node->data);
guid_free (node->data);
}
g_list_free(xaction_list);
xaccAccountGroupCommitEdit (grp);
@ -848,7 +848,7 @@ pgendGetAllTransactions (PGBackend *be, AccountGroup *grp)
static void
pgendSync (Backend *bend, GNCBook *book)
pgendSync (QofBackend *bend, QofBook *book)
{
PGBackend *be = (PGBackend *)bend;
AccountGroup *grp = gnc_book_get_group (book);
@ -932,7 +932,7 @@ trans_traverse_cb (Transaction *trans, void *cb_data)
}
static void
pgendSyncSingleFile (Backend *bend, GNCBook *book)
pgendSyncSingleFile (QofBackend *bend, QofBook *book)
{
char book_guid[40];
char buff[4000];
@ -956,7 +956,7 @@ pgendSyncSingleFile (Backend *bend, GNCBook *book)
SEND_QUERY (be,p, );
FINISH_QUERY(be->connection);
guid_to_string_buff (gnc_book_get_guid(book), book_guid);
guid_to_string_buff (qof_book_get_guid(book), book_guid);
/* First, we delete all of the accounts, splits and transactions
* associated with this book. Its very tempting to just delete
@ -1026,7 +1026,7 @@ pgendSyncSingleFile (Backend *bend, GNCBook *book)
*/
static void
pgendSyncPriceDB (Backend *bend, GNCBook *book)
pgendSyncPriceDB (QofBackend *bend, QofBook *book)
{
PGBackend *be = (PGBackend *)bend;
ENTER ("be=%p", be);
@ -1079,7 +1079,7 @@ pgendSyncPriceDB (Backend *bend, GNCBook *book)
*/
static void
pgendSyncPriceDBSingleFile (Backend *bend, GNCBook *book)
pgendSyncPriceDBSingleFile (QofBackend *bend, QofBook *book)
{
char buff[400], *p;
PGBackend *be = (PGBackend *)bend;
@ -1091,7 +1091,7 @@ pgendSyncPriceDBSingleFile (Backend *bend, GNCBook *book)
p = stpcpy (p, "BEGIN;\n"
"LOCK TABLE gncPrice IN EXCLUSIVE MODE;\n"
"DELETE FROM gncPrice WHERE bookGuid='\n");
p = guid_to_string_buff (gnc_book_get_guid(book), p);
p = guid_to_string_buff (qof_book_get_guid(book), p);
p = stpcpy (p, "';");
SEND_QUERY (be,buff, );
FINISH_QUERY(be->connection);
@ -1132,13 +1132,13 @@ pgendSessionGetMode (PGBackend *be)
/* Instead of loading the book, just set the lock error */
static void
pgend_book_load_single_lockerr (Backend *bend, GNCBook *book)
pgend_book_load_single_lockerr (QofBackend *bend, QofBook *book)
{
PGBackend *be = (PGBackend *)bend;
if (!be) return;
xaccBackendSetError (&be->be, ERR_BACKEND_LOCKED);
qof_backend_set_error (&be->be, ERR_BACKEND_LOCKED);
}
/* ============================================================= */
@ -1267,7 +1267,7 @@ pgendSessionValidate (PGBackend *be, int break_lock)
is_gnucash_cb,
GINT_TO_POINTER (FALSE)));
if (FALSE == retval) {
xaccBackendSetError (&be->be, ERR_BACKEND_DATA_CORRUPT);
qof_backend_set_error (&be->be, ERR_BACKEND_DATA_CORRUPT);
return FALSE;
}
@ -1305,7 +1305,7 @@ pgendSessionValidate (PGBackend *be, int break_lock)
if (FALSE == retval)
{
xaccBackendSetError (&be->be, ERR_BACKEND_PERM);
qof_backend_set_error (&be->be, ERR_BACKEND_PERM);
p = "ROLLBACK;";
SEND_QUERY (be,p, FALSE);
FINISH_QUERY(be->connection);
@ -1321,12 +1321,12 @@ pgendSessionValidate (PGBackend *be, int break_lock)
* (The GUI allows users to break the lock, if desired).
*/
be->be.load = pgend_book_load_single_lockerr;
xaccBackendSetError (&be->be, ERR_BACKEND_LOCKED);
qof_backend_set_error (&be->be, ERR_BACKEND_LOCKED);
retval = FALSE;
} else {
/* make note of the session. */
be->sessionGuid = xaccGUIDMalloc();
be->sessionGuid = guid_malloc();
guid_new (be->sessionGuid);
guid_to_string_buff (be->sessionGuid, be->session_guid_str);
pgendStoreOneSessionOnly (be, (void *)-1, SQL_INSERT);
@ -1375,7 +1375,7 @@ pgendSessionEnd (PGBackend *be)
SEND_QUERY (be,be->buff, );
FINISH_QUERY(be->connection);
xaccGUIDFree (be->sessionGuid); be->sessionGuid = NULL;
guid_free (be->sessionGuid); be->sessionGuid = NULL;
guid_to_string_buff (&nullguid, be->session_guid_str);
}
@ -1387,7 +1387,7 @@ pgendSessionEnd (PGBackend *be)
*/
static void
pgend_session_end (Backend *bend)
pgend_session_end (QofBackend *bend)
{
int i;
PGBackend *be = (PGBackend *)bend;
@ -1458,7 +1458,7 @@ pgend_session_end (Backend *bend)
* and never the transactions, need to be loaded.
*/
static void
pgend_book_load_poll (Backend *bend, GNCBook *book)
pgend_book_load_poll (QofBackend *bend, QofBook *book)
{
Timespec ts = gnc_iso8601_to_timespec_local (CK_BEFORE_LAST_DATE);
AccountGroup *grp;
@ -1486,10 +1486,10 @@ pgend_book_load_poll (Backend *bend, GNCBook *book)
}
pgend_set_book (be, book);
pgendGetBook (be, book);
gnc_session_set_book(be->session, book);
qof_session_set_book(be->session, book);
PINFO("Book GUID = %s\n",
guid_to_string(gnc_book_get_guid(book)));
guid_to_string(qof_book_get_guid(book)));
pgendGetAllAccountsInBook (be, book);
@ -1512,7 +1512,7 @@ pgend_book_load_poll (Backend *bend, GNCBook *book)
*/
static void
pgend_book_load_single (Backend *bend, GNCBook *book)
pgend_book_load_single (QofBackend *bend, QofBook *book)
{
PGBackend *be = (PGBackend *)bend;
@ -1553,7 +1553,7 @@ pgend_book_load_single (Backend *bend, GNCBook *book)
*/
static void
pgend_price_load_single (Backend *bend, GNCBook *book)
pgend_price_load_single (QofBackend *bend, QofBook *book)
{
PGBackend *be = (PGBackend *)bend;
@ -1575,13 +1575,13 @@ pgend_price_load_single (Backend *bend, GNCBook *book)
/* ============================================================= */
/*
* These are the Backend Entry Points, which call into the various
* These are the QofBackend Entry Points, which call into the various
* functions herein.. These are generic, and (eventually) pluggable.
*
*/
static void
pgend_do_load_single (Backend *bend, GNCBook *book)
pgend_do_load_single (QofBackend *bend, QofBook *book)
{
ENTER ("be=%p", bend);
pgend_book_load_single (bend, book);
@ -1592,7 +1592,7 @@ pgend_do_load_single (Backend *bend, GNCBook *book)
}
static void
pgendDoSyncSingleFile (Backend *bend, GNCBook *book)
pgendDoSyncSingleFile (QofBackend *bend, QofBook *book)
{
ENTER ("be=%p", bend);
pgendSyncSingleFile (bend, book);
@ -1603,7 +1603,7 @@ pgendDoSyncSingleFile (Backend *bend, GNCBook *book)
}
static void
pgendDoSync (Backend *bend, GNCBook *book)
pgendDoSync (QofBackend *bend, QofBook *book)
{
ENTER ("be=%p", bend);
pgendSync (bend, book);
@ -1614,7 +1614,7 @@ pgendDoSync (Backend *bend, GNCBook *book)
}
static void
pgend_do_begin (Backend *bend, GNCIdTypeConst type, gpointer object)
pgend_do_begin (QofBackend *bend, QofIdTypeConst type, gpointer object)
{
PGBackend *be = (PGBackend*)bend;
@ -1639,7 +1639,7 @@ pgend_do_begin (Backend *bend, GNCIdTypeConst type, gpointer object)
}
static void
pgend_do_commit (Backend *bend, GNCIdTypeConst type, gpointer object)
pgend_do_commit (QofBackend *bend, QofIdTypeConst type, gpointer object)
{
PGBackend *be = (PGBackend*)bend;
@ -1674,7 +1674,7 @@ pgend_do_commit (Backend *bend, GNCIdTypeConst type, gpointer object)
}
static void
pgend_do_rollback (Backend *bend, GNCIdTypeConst type, gpointer object)
pgend_do_rollback (QofBackend *bend, QofIdTypeConst type, gpointer object)
{
PGBackend *be = (PGBackend*)bend;
@ -1734,8 +1734,8 @@ pgend_create_db (PGBackend *be)
}
static void
pgend_session_begin (Backend *backend,
GNCSession *session,
pgend_session_begin (QofBackend *backend,
QofSession *session,
const char * sessionid,
gboolean ignore_lock,
gboolean create_new_db)
@ -1756,7 +1756,7 @@ pgend_session_begin (Backend *backend,
sessionid ? sessionid : "(null)");
/* close any dangling sessions from before; reinitialize */
pgend_session_end ((Backend *) be);
pgend_session_end ((QofBackend *) be);
pgendInit (be);
be->session = session;
@ -1768,7 +1768,7 @@ pgend_session_begin (Backend *backend,
g_list_free (be->blist);
be->blist = NULL;
}
pgend_set_book (be, gnc_session_get_book(session));
pgend_set_book (be, qof_session_get_book(session));
/* Parse the sessionid for the hostname, port number and db name.
* The expected URL format is
@ -1785,7 +1785,7 @@ pgend_session_begin (Backend *backend,
if (strncmp (sessionid, "postgres://", 11))
{
xaccBackendSetError (&be->be, ERR_BACKEND_BAD_URL);
qof_backend_set_error (&be->be, ERR_BACKEND_BAD_URL);
return;
}
url = g_strdup(sessionid);
@ -1812,7 +1812,7 @@ pgend_session_begin (Backend *backend,
start = end+1;
if (0x0 == *start)
{
xaccBackendSetError (&be->be, ERR_BACKEND_BAD_URL);
qof_backend_set_error (&be->be, ERR_BACKEND_BAD_URL);
g_free(url);
return;
}
@ -1849,7 +1849,7 @@ pgend_session_begin (Backend *backend,
PWARN ("the following message should be shown in a gui");
PWARN ("unknown mode %s, will use multi-user mode",
start ? start : "(null)");
xaccBackendSetMessage((Backend *)be, _("Unknown database access mode '%s'. Using default mode: multi-user."),
qof_backend_set_message((QofBackend *)be, _("Unknown database access mode '%s'. Using default mode: multi-user."),
start ? start : "(null)");
be->session_mode = MODE_EVENT;
}
@ -1966,8 +1966,8 @@ pgend_session_begin (Backend *backend,
/* I wish that postgres returned usable error codes.
* Alas, it does not, so we just bomb out.
*/
xaccBackendSetError (&be->be, ERR_BACKEND_CANT_CONNECT);
xaccBackendSetMessage(&be->be, msg);
qof_backend_set_error (&be->be, ERR_BACKEND_CANT_CONNECT);
qof_backend_set_message(&be->be, msg);
return;
}
@ -1991,12 +1991,12 @@ pgend_session_begin (Backend *backend,
/* Weird. We couldn't connect to the database, but it
* does seem to exist. I presume that this is some
* sort of access control problem. */
xaccBackendSetError (&be->be, ERR_BACKEND_PERM);
qof_backend_set_error (&be->be, ERR_BACKEND_PERM);
return;
}
/* Let GUI know that we connected, but we couldn't find it. */
xaccBackendSetError (&be->be, ERR_BACKEND_NO_SUCH_DB);
qof_backend_set_error (&be->be, ERR_BACKEND_NO_SUCH_DB);
return;
}
@ -2017,7 +2017,7 @@ pgend_session_begin (Backend *backend,
* upgrade the database contents. */
PQfinish (be->connection);
be->connection = NULL;
xaccBackendSetError (&be->be, ERR_SQL_DB_TOO_OLD);
qof_backend_set_error (&be->be, ERR_SQL_DB_TOO_OLD);
return;
}
}
@ -2049,7 +2049,7 @@ pgend_session_begin (Backend *backend,
/* I wish that postgres returned usable error codes.
* Alas, it does not, so we just bomb out.
*/
xaccBackendSetError (&be->be, ERR_BACKEND_CANT_CONNECT);
qof_backend_set_error (&be->be, ERR_BACKEND_CANT_CONNECT);
return;
}
@ -2106,7 +2106,7 @@ pgend_session_begin (Backend *backend,
be->connection = NULL;
/* We just created the database! If we can't connect now,
* the server is insane! */
xaccBackendSetError (&be->be, ERR_BACKEND_SERVER_ERR);
qof_backend_set_error (&be->be, ERR_BACKEND_SERVER_ERR);
return;
}
@ -2148,7 +2148,7 @@ pgend_session_begin (Backend *backend,
* just not to this database. Therefore, it must be a
* permission problem.
*/
xaccBackendSetError (&be->be, ERR_BACKEND_PERM);
qof_backend_set_error (&be->be, ERR_BACKEND_PERM);
return;
}
@ -2193,7 +2193,7 @@ pgend_session_begin (Backend *backend,
p = "COMMIT;\n";
SEND_QUERY (be,p, );
FINISH_QUERY(be->connection);
xaccBackendSetError (&be->be, ERR_SQL_DB_BUSY);
qof_backend_set_error (&be->be, ERR_SQL_DB_BUSY);
return;
}
pgendUpgradeDB (be);
@ -2431,7 +2431,7 @@ pgendInit (PGBackend *be)
ENTER(" ");
/* initialize global variable */
nullguid = *(xaccGUIDNULL());
nullguid = *(guid_null());
/* access mode */
be->session_mode = MODE_EVENT;
@ -2439,7 +2439,7 @@ pgendInit (PGBackend *be)
guid_to_string_buff (&nullguid, be->session_guid_str);
/* generic backend handlers */
xaccInitBackend((Backend*)be);
qof_backend_init((QofBackend*)be);
be->be.session_begin = pgend_session_begin;
be->be.session_end = pgend_session_end;
@ -2497,7 +2497,7 @@ pgendInit (PGBackend *be)
/* ============================================================= */
Backend *
QofBackend *
pgendNew (void)
{
PGBackend *be;
@ -2507,7 +2507,7 @@ pgendNew (void)
pgendInit (be);
LEAVE(" ")
return (Backend *) be;
return (QofBackend *) be;
}
/* ======================== END OF FILE ======================== */

View File

@ -41,7 +41,7 @@
#include "Transaction.h"
#include "builder.h"
#include "BackendP.h"
#include "qofbackend-p.h"
typedef struct _pgend PGBackend;
@ -56,7 +56,7 @@ typedef enum {
#define MAX_VERSION_AGE 10
struct _pgend {
Backend be;
QofBackend be;
/* session mode */
AccessMode session_mode;
@ -78,7 +78,7 @@ struct _pgend {
/* counter used to nest callback disables */
int nest_count;
/* callback hooks are saved in snr during disables */
Backend snr;
QofBackend snr;
/* my postgres backend pid, used for telling apart notifies */
int my_pid;
@ -109,9 +109,9 @@ struct _pgend {
int ipath_max;
/* engine data caches */
GNCSession *session;
GNCBook *book; /* the currently open book -- XXX -- depricate ???*/
BookList *blist; /* list of books in this db */
QofSession *session;
QofBook *book; /* the currently open book -- XXX -- depricate ???*/
QofBookList *blist; /* list of books in this db */
GList *tmp_return;
};
@ -119,12 +119,12 @@ struct _pgend {
/*
* pgendNew creates a new postgres backend
*/
Backend * pgendNew (void);
QofBackend * pgendNew (void);
Account * pgendAccountLookup (PGBackend *be, const GUID *acct_guid);
Transaction * pgendTransLookup (PGBackend *be, const GUID *txn_guid);
Split * pgendSplitLookup (PGBackend *be, const GUID *split_guid);
GNCIdType pgendGUIDType (PGBackend *be, const GUID *guid);
QofIdType pgendGUIDType (PGBackend *be, const GUID *guid);
void pgendDisable (PGBackend *be);
void pgendEnable (PGBackend *be);

View File

@ -32,12 +32,12 @@
#include <libpq-fe.h>
#include "AccountP.h"
#include "Backend.h"
#include "BackendP.h"
#include "qofbackend.h"
#include "qofbackend-p.h"
#include "Group.h"
#include "GroupP.h"
#include "gnc-book.h"
#include "gnc-book-p.h"
#include "qofbook.h"
#include "qofbook-p.h"
#include "gnc-commodity.h"
#include "gnc-engine-util.h"
#include "gnc-event.h"
@ -259,7 +259,7 @@ typedef struct
typedef struct
{
GNCBook * book;
QofBook * book;
GList * resolve_info;
} GetAccountData;
@ -274,7 +274,7 @@ static gpointer
get_account_cb (PGBackend *be, PGresult *result, int j, gpointer data)
{
GetAccountData * gad = data;
GNCBook * book = gad->book;
QofBook * book = gad->book;
Account *parent;
Account *acc;
GUID acct_guid;
@ -325,7 +325,7 @@ get_account_cb (PGBackend *be, PGresult *result, int j, gpointer data)
PINFO ("parent GUID=%s", DB_GET_VAL("parentGUID",j));
acct_guid = nullguid; /* just in case the read fails ... */
string_to_guid (DB_GET_VAL("parentGUID",j), &acct_guid);
if (guid_equal(xaccGUIDNULL(), &acct_guid))
if (guid_equal(guid_null(), &acct_guid))
{
/* if the parent guid is null, then this
* account belongs in the top group */
@ -361,7 +361,7 @@ get_account_cb (PGBackend *be, PGresult *result, int j, gpointer data)
}
static void
pgendGetAccounts (PGBackend *be, GNCBook *book)
pgendGetAccounts (PGBackend *be, QofBook *book)
{
GetAccountData gad;
@ -430,7 +430,7 @@ pgendGetAccounts (PGBackend *be, GNCBook *book)
void
pgendGetAllAccounts (PGBackend *be)
{
BookList *node;
QofBookList *node;
char * bufp;
ENTER ("be=%p", be);
@ -449,7 +449,7 @@ pgendGetAllAccounts (PGBackend *be)
for (node=be->blist; node; node=node->next)
{
GNCBook *book = node->data;
QofBook *book = node->data;
AccountGroup *topgrp = gnc_book_get_group (book);
pgendGetAllAccountKVP (be, topgrp);
@ -463,7 +463,7 @@ pgendGetAllAccounts (PGBackend *be)
}
void
pgendGetAllAccountsInBook (PGBackend *be, GNCBook *book)
pgendGetAllAccountsInBook (PGBackend *be, QofBook *book)
{
char *p, buff[400];
AccountGroup *topgrp;
@ -478,7 +478,7 @@ pgendGetAllAccountsInBook (PGBackend *be, GNCBook *book)
p = buff;
p = stpcpy (p, "SELECT * FROM gncAccount WHERE bookGuid='");
p = guid_to_string_buff (gnc_book_get_guid(book), p);
p = guid_to_string_buff (qof_book_get_guid(book), p);
p = stpcpy (p, "';");
SEND_QUERY (be, buff, );
pgendGetAccounts (be, book);
@ -574,12 +574,12 @@ pgendCopyAccountToEngine (PGBackend *be, const GUID *acct_guid)
/* ============================================================= */
void
pgend_account_commit_edit (Backend * bend,
pgend_account_commit_edit (QofBackend * bend,
Account * acct)
{
AccountGroup *parent;
char *p;
GNCBackendError err;
QofBackendError err;
PGBackend *be = (PGBackend *)bend;
ENTER ("be=%p, acct=%p", be, acct);
@ -617,7 +617,7 @@ pgend_account_commit_edit (Backend * bend,
PWARN(" account data in engine is newer\n"
" account must be rolled back. This function\n"
" is not completely implemented !! \n");
xaccBackendSetError (&be->be, ERR_BACKEND_MODIFIED);
qof_backend_set_error (&be->be, ERR_BACKEND_MODIFIED);
LEAVE ("rolled back");
return;
}

View File

@ -25,12 +25,12 @@
#define POSTGRES_ACCOUNT_H
#include "Group.h"
#include "gnc-book.h"
#include "qofbook.h"
#include "guid.h"
#include "PostgresBackend.h"
void pgendGetAllAccountsInBook (PGBackend *be, GNCBook *);
void pgendGetAllAccountsInBook (PGBackend *be, QofBook *);
void pgendGetAllAccounts (PGBackend *be);
@ -39,6 +39,6 @@ void pgendStoreGroupNoLock (PGBackend *be, AccountGroup *grp,
gboolean do_mark, gboolean do_check_version);
Account * pgendCopyAccountToEngine (PGBackend *be, const GUID *acct_guid);
void pgend_account_commit_edit (Backend * bend, Account * acct);
void pgend_account_commit_edit (QofBackend * bend, Account * acct);
#endif /* POSTGRES_ACCOUNT_H */

View File

@ -31,10 +31,10 @@
#include <libpq-fe.h>
#include "Backend.h"
#include "BackendP.h"
#include "qofbackend.h"
#include "qofbackend-p.h"
#include "book.h"
#include "gnc-book-p.h"
#include "qofbook-p.h"
#include "gnc-engine-util.h"
#include "gnc-pricedb.h"
#include "guid.h"
@ -73,7 +73,7 @@ static short module = MOD_BACKEND;
*/
void
pgendStoreBookNoLock (PGBackend *be, GNCBook *book,
pgendStoreBookNoLock (PGBackend *be, QofBook *book,
gboolean do_check_version)
{
if (!be || !book) return;
@ -87,7 +87,7 @@ pgendStoreBookNoLock (PGBackend *be, GNCBook *book,
book->version ++; /* be sure to update the version !! */
if ((0 == book->idata) &&
(FALSE == kvp_frame_is_empty (gnc_book_get_slots(book))))
(FALSE == kvp_frame_is_empty (qof_book_get_slots(book))))
{
book->idata = pgendNewGUIDidx(be);
}
@ -103,7 +103,7 @@ pgendStoreBookNoLock (PGBackend *be, GNCBook *book,
}
void
pgendStoreBook (PGBackend *be, GNCBook *book)
pgendStoreBook (PGBackend *be, QofBook *book)
{
char *p;
ENTER ("be=%p, book=%p", be, book);
@ -137,7 +137,7 @@ pgendStoreBook (PGBackend *be, GNCBook *book)
static gpointer
get_one_book_cb (PGBackend *be, PGresult *result, int j, gpointer data)
{
GNCBook *book = (GNCBook *) data;
QofBook *book = (QofBook *) data;
GUID guid;
/* first, lets see if we've already got this one */
@ -145,7 +145,7 @@ get_one_book_cb (PGBackend *be, PGresult *result, int j, gpointer data)
guid = nullguid; /* just in case the read fails ... */
string_to_guid (DB_GET_VAL("bookGuid",j), &guid);
gnc_book_set_guid (book, guid);
qof_book_set_guid (book, guid);
book->book_open = (DB_GET_VAL("book_open",j))[0];
book->version = atoi(DB_GET_VAL("version",j));
@ -155,7 +155,7 @@ get_one_book_cb (PGBackend *be, PGresult *result, int j, gpointer data)
}
void
pgendGetBook (PGBackend *be, GNCBook *book)
pgendGetBook (PGBackend *be, QofBook *book)
{
char * bufp;
@ -186,9 +186,9 @@ pgendGetBook (PGBackend *be, GNCBook *book)
static gpointer
get_book_cb (PGBackend *be, PGresult *result, int j, gpointer data)
{
BookList *blist = (BookList *) data;
BookList *node;
GNCBook *book;
QofBookList *blist = (QofBookList *) data;
QofBookList *node;
QofBook *book;
GUID guid;
PINFO ("book GUID=%s", DB_GET_VAL("bookGUID",j));
@ -206,8 +206,8 @@ get_book_cb (PGBackend *be, PGresult *result, int j, gpointer data)
if (!book)
{
book = gnc_book_new();
gnc_book_set_guid (book, guid);
book = qof_book_new();
qof_book_set_guid (book, guid);
}
book->book_open = (DB_GET_VAL("book_open",j))[0];
@ -217,10 +217,10 @@ get_book_cb (PGBackend *be, PGresult *result, int j, gpointer data)
return blist;
}
BookList *
pgendGetAllBooks (PGBackend *be, BookList *blist)
QofBookList *
pgendGetAllBooks (PGBackend *be, QofBookList *blist)
{
BookList *node;
QofBookList *node;
char * bufp;
ENTER ("be=%p", be);
@ -234,7 +234,7 @@ pgendGetAllBooks (PGBackend *be, BookList *blist)
/* get the KVP data for each book too */
for (node=blist; node; node=node->next)
{
GNCBook *book = node->data;
QofBook *book = node->data;
if (0 != book->idata)
{
book->kvp_data = pgendKVPFetch (be, book->idata, book->kvp_data);
@ -248,7 +248,7 @@ pgendGetAllBooks (PGBackend *be, BookList *blist)
/* ============================================================= */
void
pgend_book_transfer_begin(Backend *bend, GNCBook *newbook)
pgend_book_transfer_begin(QofBackend *bend, QofBook *newbook)
{
PGBackend *be = (PGBackend *) bend;
@ -261,7 +261,7 @@ pgend_book_transfer_begin(Backend *bend, GNCBook *newbook)
}
void
pgend_book_transfer_commit(Backend *bend, GNCBook *newbook)
pgend_book_transfer_commit(QofBackend *bend, QofBook *newbook)
{
/* PGBackend *be = (PGBackend *) bend; */
ENTER (" ");

View File

@ -24,19 +24,19 @@
#ifndef POSTGRES_BOOK_H
#define POSTGRES_BOOK_H
#include "gnc-book.h"
#include "qofbook.h"
#include "gnc-engine.h"
#include "guid.h"
#include "PostgresBackend.h"
BookList * pgendGetAllBooks (PGBackend *be, BookList *);
QofBookList * pgendGetAllBooks (PGBackend *be, QofBookList *);
void pgendGetBook (PGBackend *be, GNCBook *book);
void pgendStoreBookNoLock (PGBackend *be, GNCBook *book, int do_check_version);
void pgendStoreBook (PGBackend *be, GNCBook *book);
void pgendGetBook (PGBackend *be, QofBook *book);
void pgendStoreBookNoLock (PGBackend *be, QofBook *book, int do_check_version);
void pgendStoreBook (PGBackend *be, QofBook *book);
void pgend_book_transfer_begin (Backend *, GNCBook*);
void pgend_book_transfer_commit (Backend *, GNCBook*);
void pgend_book_transfer_begin (QofBackend *, QofBook*);
void pgend_book_transfer_commit (QofBackend *, QofBook*);
#endif /* POSTGRES_BOOK_H */

View File

@ -44,13 +44,13 @@
#include "Account.h"
#include "AccountP.h"
#include "Backend.h"
#include "BackendP.h"
#include "qofbackend.h"
#include "qofbackend-p.h"
#include "Group.h"
#include "gnc-commodity.h"
#include "gnc-engine-util.h"
#include "guid.h"
#include "GNCId.h"
#include "qofid.h"
#include "builder.h"
#include "checkpoint.h"

View File

@ -28,6 +28,8 @@
* Escapes the ' and \ characters in a string
*/
#include "config.h"
#define _GNU_SOURCE
#include <glib.h>
#include <string.h>

View File

@ -28,14 +28,14 @@
#include <libpq-fe.h>
#include <stdlib.h>
#include "Backend.h"
#include "BackendP.h"
#include "events.h"
#include "gnc-engine-util.h"
#include "gnc-event.h"
#include "gnc-event-p.h"
#include "guid.h"
#include "GNCId.h"
#include "qofbackend.h"
#include "qofbackend-p.h"
#include "qofid.h"
#include "qofid-p.h"
#include "PostgresBackend.h"
@ -53,7 +53,7 @@ static short module = MOD_EVENT;
/* ============================================================= */
gboolean
pgendEventsPending (Backend *bend)
pgendEventsPending (QofBackend *bend)
{
PGBackend *be = (PGBackend *) bend;
PGnotify *note;
@ -140,7 +140,7 @@ typedef struct _event {
Timespec stamp;
GNCEngineEventType type;
GUID guid;
GNCIdType obj_type;
QofIdType obj_type;
} Event;
@ -155,7 +155,7 @@ get_event_cb (PGBackend *be, PGresult *result, int j, gpointer data)
GNCEngineEventType type;
char change = (DB_GET_VAL("change",j))[0];
char objtype = (DB_GET_VAL("objtype",j))[0];
GNCIdType obj_type = GNC_ID_NONE;
QofIdType obj_type = GNC_ID_NONE;
guid_str = DB_GET_VAL("guid",j);
PINFO ("event %c for %s", change, guid_str);
@ -238,7 +238,7 @@ get_event_cb (PGBackend *be, PGresult *result, int j, gpointer data)
}
gboolean
pgendProcessEvents (Backend *bend)
pgendProcessEvents (QofBackend *bend)
{
PGBackend *be = (PGBackend *) bend;
GList *node, *pending = NULL;
@ -268,7 +268,7 @@ pgendProcessEvents (Backend *bend)
for (node = pending; node; node = node->next)
{
Event *ev = (Event *) node->data;
GNCIdType local_obj_type;
QofIdType local_obj_type;
/* lets see if the local cache has this item in it */
local_obj_type = pgendGUIDType (be, &(ev->guid));

View File

@ -34,11 +34,11 @@
#ifndef POSTGRES_EVENTS_H
#define POSTGRES_EVENTS_H
#include "Backend.h"
#include "qofbackend.h"
#include "PostgresBackend.h"
gboolean pgendEventsPending (Backend *);
gboolean pgendProcessEvents (Backend *);
gboolean pgendEventsPending (QofBackend *);
gboolean pgendProcessEvents (QofBackend *);
void pgendSessionGetPid (PGBackend *);
void pgendSessionSetupNotifies (PGBackend *);

View File

@ -8,7 +8,7 @@
#include <stdio.h>
#include <glib.h>
#include "Backend.h"
#include "qofbackend.h"
#include "PostgresBackend.h"
#include "gnc-backend-api.h"
@ -17,7 +17,7 @@
/* version of the gnc module system interface we require */
int libgncmod_backend_postgres_LTX_gnc_module_system_interface = 0;
//int libgncmod_backend_postgres_LTX_gnc_module_system_interface = 0;
/* module versioning uses libtool semantics. */
int libgncmod_backend_postgres_LTX_gnc_module_current = 0;
int libgncmod_backend_postgres_LTX_gnc_module_revision = 0;
@ -30,7 +30,7 @@ char *libgncmod_backend_postgres_LTX_gnc_module_path(void);
char *libgncmod_backend_postgres_LTX_gnc_module_description(void);
int libgncmod_backend_postgres_LTX_gnc_module_init(int refcount);
int libgncmod_backend_postgres_LTX_gnc_module_end(int refcount);
Backend * libgncmod_backend_postgres_LTX_gnc_backend_new(void);
QofBackend * libgncmod_backend_postgres_LTX_gnc_backend_new(void);
char *
libgncmod_backend_postgres_LTX_gnc_module_path(void)
@ -76,7 +76,7 @@ libgncmod_backend_postgres_LTX_gnc_module_end(int refcount)
* temporarily
****************************************************************/
Backend *
QofBackend *
libgncmod_backend_postgres_LTX_gnc_backend_new(void) {
return pgendNew();
}

View File

@ -41,16 +41,19 @@
#include <glib.h>
#include <string.h>
#include "builder.h"
#include "escape.h"
#include "Account.h"
#include "Transaction.h"
#include "gnc-engine.h"
#include "gnc-engine-util.h"
#include "gncquery.h"
#include "Transaction.h"
#include "Account.h"
#include "QueryNewP.h"
#include "QueryCoreP.h"
#include "qofquery.h"
#include "qofquery-p.h"
#include "qofquerycore-p.h"
#include "qofqueryobject.h"
#include "gncquery.h"
#include "builder.h"
#include "escape.h"
static short module = MOD_BACKEND;
@ -167,16 +170,16 @@ sql_sort_get_type(char *p, GSList * path)
* done by the Query C code. */
static char *
sql_sort_order(char *p, QueryNewSort_t sort)
sql_sort_order(char *p, QofQuerySort *sort)
{
GSList *path;
gboolean increasing;
increasing = gncQuerySortGetIncreasing(sort);
increasing = qof_query_sort_get_increasing(sort);
ENTER("incr=%d", increasing);
path = gncQuerySortGetParamPath(sort);
path = qof_query_sort_get_param_path(sort);
if (path == NULL) {
/* Ok, we're not sorting on anything here. */
@ -213,12 +216,12 @@ sql_sort_order(char *p, QueryNewSort_t sort)
/* distinct clauses */
static char *
sql_sort_distinct(char *p, QueryNewSort_t sort)
sql_sort_distinct(char *p, QofQuerySort *sort)
{
GSList *path;
ENTER(".");
path = gncQuerySortGetParamPath(sort);
path = qof_query_sort_get_param_path(sort);
if (NULL != path) {
p = stpcpy(p, ", ");
@ -242,13 +245,13 @@ sql_sort_distinct(char *p, QueryNewSort_t sort)
/* does sorting require a reference to this particular table? */
static gboolean
sql_sort_sort_need_account(QueryNewSort_t sort)
sql_sort_sort_need_account(QofQuerySort *sort)
{
gboolean need_account = FALSE;
GSList *path;
ENTER(".");
path = gncQuerySortGetParamPath(sort);
path = qof_query_sort_get_param_path(sort);
if (path)
if (!safe_strcmp(path->data, SPLIT_ACCT_FULLNAME) ||
@ -261,12 +264,12 @@ sql_sort_sort_need_account(QueryNewSort_t sort)
}
static gboolean
sql_sort_need_account(Query * q)
sql_sort_need_account(QofQuery * q)
{
gboolean need_account = FALSE;
QueryNewSort_t s1, s2, s3;
QofQuerySort *s1, *s2, *s3;
gncQueryGetSorts(q, &s1, &s2, &s3);
qof_query_get_sorts(q, &s1, &s2, &s3);
need_account = sql_sort_sort_need_account(s1) ||
sql_sort_sort_need_account(s2) || sql_sort_sort_need_account(s3);
@ -278,13 +281,13 @@ sql_sort_need_account(Query * q)
/* does sorting require a reference to this particular table? */
static gboolean
sql_sort_sort_need_entry(QueryNewSort_t sort)
sql_sort_sort_need_entry(QofQuerySort *sort)
{
gboolean need_entry = FALSE;
GSList *path;
ENTER(".");
path = gncQuerySortGetParamPath(sort);
path = qof_query_sort_get_param_path(sort);
if (path)
if (!safe_strcmp(path->data, SPLIT_VALUE) ||
@ -297,12 +300,12 @@ sql_sort_sort_need_entry(QueryNewSort_t sort)
}
static gboolean
sql_sort_need_entry(Query * q)
sql_sort_need_entry(QofQuery * q)
{
gboolean need_entry = FALSE;
QueryNewSort_t s1, s2, s3;
QofQuerySort *s1, *s2, *s3;
gncQueryGetSorts(q, &s1, &s2, &s3);
qof_query_get_sorts(q, &s1, &s2, &s3);
need_entry = sql_sort_sort_need_entry(s1) ||
sql_sort_sort_need_entry(s2) || sql_sort_sort_need_entry(s3);
@ -311,7 +314,7 @@ sql_sort_need_entry(Query * q)
}
/* =========================================================== */
/* Macro for QUERYCORE_STRING query types
/* Macro for QOF_QUERYCORE_STRING query types
* Note that postgres supports both case-sensitive and
* case-insensitve string searches, and it also supports
* regex! yahooo!
@ -323,28 +326,28 @@ sql_sort_need_entry(Query * q)
\
if (invert) \
sq->pq = stpcpy (sq->pq, "NOT ("); \
if (pd->how == COMPARE_NEQ) \
if (pd->how == QOF_COMPARE_NEQ) \
sq->pq = stpcpy (sq->pq, "NOT ("); \
if (pdata->is_regex || pdata->options == STRING_MATCH_CASEINSENSITIVE) \
if (pdata->is_regex || pdata->options == QOF_STRING_MATCH_CASEINSENSITIVE) \
sq->pq = stpcpy(sq->pq, fieldname " ~"); \
else \
sq->pq = stpcpy(sq->pq, fieldname " ="); \
if (pdata->options == STRING_MATCH_CASEINSENSITIVE) { \
if (pdata->options == QOF_STRING_MATCH_CASEINSENSITIVE) { \
sq->pq = stpcpy(sq->pq, "*"); \
} \
sq->pq = stpcpy(sq->pq, " '"); \
tmp = sqlEscapeString (sq->escape, pdata->matchstring); \
sq->pq = stpcpy(sq->pq, tmp); \
sq->pq = stpcpy(sq->pq, "'"); \
if (pd->how == COMPARE_NEQ) \
if (pd->how == QOF_COMPARE_NEQ) \
sq->pq = stpcpy (sq->pq, ") "); \
if (invert) \
sq->pq = stpcpy (sq->pq, ") "); \
}
/* =========================================================== */
/* Macro for QUERYCORE_NUMERIC type terms. The logic used here in the
* SQL exactly matches that used in the Query.c code. If
/* Macro for QOF_QUERYCORE_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.
*/
@ -358,10 +361,10 @@ sql_sort_need_entry(Query * q)
\
switch(pdata->options) \
{ \
case NUMERIC_MATCH_CREDIT: \
case QOF_NUMERIC_MATCH_CREDIT: \
sq->pq = stpcpy(sq->pq, signcheck " <= 0 AND "); \
break; \
case NUMERIC_MATCH_DEBIT: \
case QOF_NUMERIC_MATCH_DEBIT: \
sq->pq = stpcpy(sq->pq, signcheck " >= 0 AND "); \
break; \
default: \
@ -369,33 +372,33 @@ sql_sort_need_entry(Query * q)
} \
switch(pd->how) \
{ \
case COMPARE_GTE: \
case QOF_COMPARE_GTE: \
sq->pq = stpcpy(sq->pq, \
fieldname " >= "comtable" * float8"); \
sq->pq += sprintf (sq->pq, "(%22.18g)", amt); \
break; \
case COMPARE_GT: \
case QOF_COMPARE_GT: \
sq->pq = stpcpy(sq->pq, \
fieldname " > "comtable" * float8"); \
sq->pq += sprintf (sq->pq, "(%22.18g)", amt); \
break; \
case COMPARE_LTE: \
case QOF_COMPARE_LTE: \
sq->pq = stpcpy(sq->pq, \
fieldname " <= "comtable" * float8"); \
sq->pq += sprintf (sq->pq, "(%22.18g)", amt); \
break; \
case COMPARE_LT: \
case QOF_COMPARE_LT: \
sq->pq = stpcpy(sq->pq, \
fieldname " < "comtable" * float8"); \
sq->pq += sprintf (sq->pq, "(%22.18g)", amt); \
break; \
case COMPARE_EQUAL: \
case QOF_COMPARE_EQUAL: \
sq->pq = stpcpy(sq->pq, \
"abs(" fieldname " - abs("comtable" * float8"); \
sq->pq += sprintf (sq->pq, "(%22.18g)", amt); \
sq->pq = stpcpy(sq->pq, ")) < 1"); \
break; \
case COMPARE_NEQ: \
case QOF_COMPARE_NEQ: \
sq->pq = stpcpy(sq->pq, \
"abs(" fieldname " - abs("comtable" * float8"); \
sq->pq += sprintf (sq->pq, "(%22.18g)", amt); \
@ -423,7 +426,7 @@ sql_sort_need_entry(Query * q)
/* =========================================================== */
static const char *
kvp_table_name(kvp_value_t value_t)
kvp_table_name(KvpValueType value_t)
{
switch (value_t) {
case KVP_TYPE_GINT64:
@ -468,25 +471,25 @@ kvp_path_name(GSList * path)
}
static const char *
compare_op_name(query_compare_t how)
compare_op_name(QofQueryCompare how)
{
switch (how) {
case COMPARE_LT:
case QOF_COMPARE_LT:
return " < ";
case COMPARE_LTE:
case QOF_COMPARE_LTE:
return " <= ";
case COMPARE_EQUAL:
case QOF_COMPARE_EQUAL:
return " = ";
case COMPARE_GTE:
case QOF_COMPARE_GTE:
return " >= ";
case COMPARE_GT:
case QOF_COMPARE_GT:
return " > ";
case COMPARE_NEQ:
case QOF_COMPARE_NEQ:
return " != ";
default:
@ -495,9 +498,9 @@ compare_op_name(query_compare_t how)
}
static char *
kvp_left_operand(kvp_value * value)
kvp_left_operand(KvpValue * value)
{
kvp_value_t value_t;
KvpValueType value_t;
const char *kvptable;
g_return_val_if_fail(value, NULL);
@ -526,9 +529,9 @@ kvp_left_operand(kvp_value * value)
}
static char *
kvp_right_operand(sqlQuery * sq, kvp_value * value)
kvp_right_operand(sqlQuery * sq, KvpValue * value)
{
kvp_value_t value_t;
KvpValueType value_t;
const char *kvptable;
g_return_val_if_fail(value, NULL);
@ -603,10 +606,10 @@ add_kvp_clause(sqlQuery * sq, const char *kvptable, const char *entity_table,
}
static void
sqlQuery_kvp_build(sqlQuery * sq, GSList * sort_path, query_compare_t how,
sqlQuery_kvp_build(sqlQuery * sq, GSList * sort_path, QofQueryCompare how,
gboolean invert, query_kvp_t kpd)
{
kvp_value_t value_t;
KvpValueType value_t;
const char *kvptable;
const char *op;
GList *list;
@ -625,7 +628,7 @@ sqlQuery_kvp_build(sqlQuery * sq, GSList * sort_path, query_compare_t how,
value_t = kvp_value_get_type(kpd->value);
if (value_t == KVP_TYPE_GUID && how != COMPARE_EQUAL) {
if (value_t == KVP_TYPE_GUID && how != QOF_COMPARE_EQUAL) {
PWARN("guid non-equality comparison not supported");
return;
}
@ -708,9 +711,9 @@ sqlQuery_build(sqlQuery * sq, Query * q)
GList *il, *jl, *qterms, *andterms;
GList *tables = NULL;
GSList *path;
QueryNewTerm_t qt;
QueryPredData_t pd;
QueryNewSort_t s1, s2, s3;
QofQueryTerm *qt;
QofQueryPredData *pd;
QofQuerySort *s1, *s2, *s3;
int more_or = 0;
int more_and = 0;
int max_rows;
@ -724,23 +727,23 @@ sqlQuery_build(sqlQuery * sq, Query * q)
return NULL;
/* Only Split searches are allowed */
if (safe_strcmp(gncQueryGetSearchFor(q), GNC_ID_SPLIT)) {
PERR("Only SPLITs are supported, not %s", gncQueryGetSearchFor(q));
if (safe_strcmp(qof_query_get_search_for(q), GNC_ID_SPLIT)) {
PERR("Only SPLITs are supported, not %s", qof_query_get_search_for(q));
return NULL;
}
/* Determine whether the query will need to reference certain
* tables. See note above for details. */
qterms = gncQueryGetTerms(q);
qterms = qof_query_get_terms(q);
for (il = qterms; il; il = il->next) {
/* andterms is GList of query terms that must be anded */
andterms = il->data;
for (jl = andterms; jl; jl = jl->next) {
qt = (QueryNewTerm_t) jl->data;
pd = gncQueryTermGetPredData(qt);
path = gncQueryTermGetParamPath(qt);
qt = (QofQueryTerm *) jl->data;
pd = qof_query_term_get_pred_data(qt);
path = qof_query_term_get_param_path(qt);
g_assert(path);
@ -752,13 +755,13 @@ sqlQuery_build(sqlQuery * sq, Query * q)
} else if (!safe_strcmp(path->data, SPLIT_VALUE)) {
need_entry = TRUE;
need_trans_commodity = TRUE;
} else if (!safe_strcmp(pd->type_name, QUERYCORE_GUID)) {
if (!safe_strcmp(path->data, QUERY_PARAM_GUID))
} else if (!safe_strcmp(pd->type_name, QOF_QUERYCORE_GUID)) {
if (!safe_strcmp(path->data, QOF_QUERY_PARAM_GUID))
need_entry = TRUE;
else if (!safe_strcmp(path->data, SPLIT_ACCOUNT)) {
need_account = TRUE;
}
} else if (!safe_strcmp(pd->type_name, QUERYCORE_KVP)) {
} else if (!safe_strcmp(pd->type_name, QOF_QUERYCORE_KVP)) {
if (!safe_strcmp(path->data, SPLIT_KVP))
need_entry = TRUE;
else if (!safe_strcmp(path->data, SPLIT_ACCOUNT))
@ -779,7 +782,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
sq->pq = sq->q_base;
sq->pq = stpcpy(sq->pq, "SELECT DISTINCT gncTransaction.* ");
gncQueryGetSorts(q, &s1, &s2, &s3);
qof_query_get_sorts(q, &s1, &s2, &s3);
/* For SELECT DISTINCT, ORDER BY expressions must appear in target list */
sq->pq = sql_sort_distinct(sq->pq, s1);
@ -847,44 +850,44 @@ sqlQuery_build(sqlQuery * sq, Query * q)
}
more_and = 1;
qt = (QueryNewTerm_t) jl->data;
pd = gncQueryTermGetPredData(qt);
path = gncQueryTermGetParamPath(qt);
invert = gncQueryTermIsInverted(qt);
qt = (QofQueryTerm *) jl->data;
pd = qof_query_term_get_pred_data(qt);
path = qof_query_term_get_param_path(qt);
invert = qof_query_term_is_inverted(qt);
if (!safe_strcmp(pd->type_name, QUERYCORE_GUID)) {
if (!safe_strcmp(pd->type_name, QOF_QUERYCORE_GUID)) {
query_guid_t pdata = (query_guid_t) pd;
GList *node;
char *field = NULL;
PINFO("term is QUERYCORE_GUID");
PINFO("term is QOF_QUERYCORE_GUID");
if (!safe_strcmp(path->data, QUERY_PARAM_GUID)) {
if (!safe_strcmp(path->data, QOF_QUERY_PARAM_GUID)) {
field = "gncEntry.entryGUID";
g_assert(pdata->options != GUID_MATCH_ALL);
g_assert(pdata->options != QOF_GUID_MATCH_ALL);
} else if (!safe_strcmp(path->data, SPLIT_TRANS) &&
!safe_strcmp(path->next->data, QUERY_PARAM_GUID)) {
!safe_strcmp(path->next->data, QOF_QUERY_PARAM_GUID)) {
field = "gncEntry.transGUID";
g_assert(pdata->options != GUID_MATCH_ALL);
g_assert(pdata->options != QOF_GUID_MATCH_ALL);
} else if (!safe_strcmp(path->data, SPLIT_ACCOUNT) &&
!safe_strcmp(path->next->data, QUERY_PARAM_GUID)) {
!safe_strcmp(path->next->data, QOF_QUERY_PARAM_GUID)) {
field = "gncEntry.accountGUID";
g_assert(pdata->options != GUID_MATCH_ALL);
g_assert(pdata->options != QOF_GUID_MATCH_ALL);
} else if (!safe_strcmp(path->data, SPLIT_TRANS) &&
!safe_strcmp(path->next->data, TRANS_SPLITLIST) &&
!safe_strcmp(path->next->next->data,
SPLIT_ACCOUNT_GUID)) {
field = "gncEntry.accountGUID";
g_assert(pdata->options == GUID_MATCH_ALL);
g_assert(pdata->options == QOF_GUID_MATCH_ALL);
} else if (!safe_strcmp(path->data, QUERY_PARAM_BOOK) &&
!safe_strcmp(path->next->data, QUERY_PARAM_GUID)) {
} else if (!safe_strcmp(path->data, QOF_QUERY_PARAM_BOOK) &&
!safe_strcmp(path->next->data, QOF_QUERY_PARAM_GUID)) {
/* XXX: Need to support the Book GUID? (gncAccount.bookGUID) */
field = "gncAccount.bookGUID";
g_assert(pdata->options != GUID_MATCH_ALL);
g_assert(pdata->options != QOF_GUID_MATCH_ALL);
} else {
PINFO("Unknown GUID parameter, %s", (char *)path->data);
}
@ -898,11 +901,11 @@ sqlQuery_build(sqlQuery * sq, Query * q)
for (node = pdata->guids; node; node = node->next) {
switch (pdata->options) {
case GUID_MATCH_NONE:
case QOF_GUID_MATCH_NONE:
sq->pq = stpcpy(sq->pq, "NOT ");
/* fall through */
case GUID_MATCH_ANY:
case QOF_GUID_MATCH_ANY:
sq->pq = stpcpy(sq->pq, field);
sq->pq = stpcpy(sq->pq, "='");
sq->pq =
@ -911,7 +914,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
sq->pq = stpcpy(sq->pq, "'");
break;
case GUID_MATCH_ALL:
case QOF_GUID_MATCH_ALL:
sq->pq = stpcpy(sq->pq,
" EXISTS ( SELECT true FROM gncEntry e"
" WHERE "
@ -932,12 +935,12 @@ sqlQuery_build(sqlQuery * sq, Query * q)
if (node->next) {
switch (pdata->options) {
case GUID_MATCH_ANY:
case QOF_GUID_MATCH_ANY:
sq->pq = stpcpy(sq->pq, " OR ");
break;
case GUID_MATCH_ALL:
case GUID_MATCH_NONE:
case QOF_GUID_MATCH_ALL:
case QOF_GUID_MATCH_NONE:
sq->pq = stpcpy(sq->pq, " AND ");
break;
@ -956,7 +959,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
more_and = 0;
}
} else if (!safe_strcmp(pd->type_name, QUERYCORE_STRING)) {
} else if (!safe_strcmp(pd->type_name, QOF_QUERYCORE_STRING)) {
query_string_t pdata = (query_string_t) pd;
if (!safe_strcmp(path->data, SPLIT_ACTION)) {
@ -988,7 +991,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
(char *)(path->data));
} else if (!safe_strcmp(pd->type_name, QUERYCORE_NUMERIC)) {
} else if (!safe_strcmp(pd->type_name, QOF_QUERYCORE_NUMERIC)) {
query_numeric_t pdata = (query_numeric_t) pd;
@ -1019,7 +1022,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
PINFO("Unknown NUMERIC: %s", (char *)(path->data));
}
} else if (!safe_strcmp(pd->type_name, QUERYCORE_DATE)) {
} else if (!safe_strcmp(pd->type_name, QOF_QUERYCORE_DATE)) {
query_date_t pdata = (query_date_t) pd;
char *field = NULL;
const char *op = NULL;
@ -1046,7 +1049,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
if (invert)
sq->pq = stpcpy(sq->pq, ") ");
} else if (!safe_strcmp(pd->type_name, QUERYCORE_CHAR)) {
} else if (!safe_strcmp(pd->type_name, QOF_QUERYCORE_CHAR)) {
query_char_t pdata = (query_char_t) pd;
int got_one = 0;
@ -1057,7 +1060,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
if (invert)
sq->pq = stpcpy(sq->pq, "NOT (");
if (pdata->options == CHAR_MATCH_NONE)
if (pdata->options == QOF_CHAR_MATCH_NONE)
sq->pq = stpcpy(sq->pq, "NOT ");
sq->pq = stpcpy(sq->pq, "(");
@ -1073,7 +1076,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
} else
PINFO("Unknown CHAR type, %s", (char *)(path->data));
} else if (!safe_strcmp(pd->type_name, QUERYCORE_KVP)) {
} else if (!safe_strcmp(pd->type_name, QOF_QUERYCORE_KVP)) {
query_kvp_t pdata = (query_kvp_t) pd;
PINFO("term is a KVP");
@ -1099,15 +1102,15 @@ sqlQuery_build(sqlQuery * sq, Query * q)
* if the limit is set to a finite number of rows.
*/
if (gncQuerySortGetParamPath(s1) != NULL) {
if (qof_query_sort_get_param_path(s1) != NULL) {
sq->pq = stpcpy(sq->pq, "ORDER BY ");
sq->pq = sql_sort_order(sq->pq, s1);
if (gncQuerySortGetParamPath(s2) != NULL) {
if (qof_query_sort_get_param_path(s2) != NULL) {
sq->pq = stpcpy(sq->pq, ", ");
sq->pq = sql_sort_order(sq->pq, s2);
if (gncQuerySortGetParamPath(s3) != NULL) {
if (qof_query_sort_get_param_path(s3) != NULL) {
sq->pq = stpcpy(sq->pq, ", ");
sq->pq = sql_sort_order(sq->pq, s3);
}
@ -1116,7 +1119,7 @@ sqlQuery_build(sqlQuery * sq, Query * q)
/* ---------------------------------------------------- */
/* limit the query result to a finite number of rows */
max_rows = gncQueryGetMaxResults(q);
max_rows = qof_query_get_max_results(q);
if (0 <= max_rows) {
sq->pq = stpcpy(sq->pq, " LIMIT ");
sq->pq += snprintf(sq->pq, 30, "%d", max_rows);

View File

@ -203,7 +203,7 @@ typedef struct store_data_s {
#include "kvp-autogen.c"
static void
store_cb (const char *key, kvp_value *val, gpointer p)
store_cb (const char *key, KvpValue *val, gpointer p)
{
store_data_t *cb_data = (store_data_t *) p;
PGBackend *be = cb_data->be;
@ -310,7 +310,7 @@ store_cb (const char *key, kvp_value *val, gpointer p)
case KVP_TYPE_FRAME:
{
kvp_frame *frame;
KvpFrame *frame;
PINFO ("path=%s type=frame", cb_data->path);
frame = kvp_value_get_frame (val);
kvp_frame_for_each_slot (frame, store_cb, p);
@ -328,7 +328,7 @@ store_cb (const char *key, kvp_value *val, gpointer p)
}
void
pgendKVPStore (PGBackend *be, guint32 iguid, kvp_frame *kf)
pgendKVPStore (PGBackend *be, guint32 iguid, KvpFrame *kf)
{
store_data_t cb_data;
if (!be || 0 == iguid || !kf) return;
@ -389,9 +389,9 @@ pgendKVPInit (PGBackend *be)
*/
#define KVP_HANDLER_SETUP \
kvp_frame *kf = (kvp_frame *) data; \
kvp_frame *final; \
kvp_value * kv=NULL; \
KvpFrame *kf = (KvpFrame *) data; \
KvpFrame *final; \
KvpValue * kv=NULL; \
char *path, *tail; \
int ipath; \
\
@ -495,8 +495,8 @@ list_handler (PGBackend *be, PGresult *result, int j, gpointer data)
kf = pgendGetResults (be, TYPE##_handler, kf); \
}
kvp_frame *
pgendKVPFetch (PGBackend *be, guint32 iguid, kvp_frame *kf)
KvpFrame *
pgendKVPFetch (PGBackend *be, guint32 iguid, KvpFrame *kf)
{
char * p;
char iguid_str[40];

View File

@ -64,10 +64,10 @@ void pgendKVPInit (PGBackend *);
* use as a GUID cache index.
*/
void pgendKVPStore (PGBackend *, guint32 iguid, kvp_frame *);
void pgendKVPStore (PGBackend *, guint32 iguid, KvpFrame *);
void pgendKVPDelete (PGBackend *, guint32 iguid);
kvp_frame * pgendKVPFetch (PGBackend *, guint32 iguid, kvp_frame *);
KvpFrame * pgendKVPFetch (PGBackend *, guint32 iguid, KvpFrame *);
guint32 pgendNewGUIDidx (PGBackend *be);

View File

@ -30,8 +30,8 @@
#include <string.h>
#include <libpq-fe.h>
#include "gnc-book.h"
#include "gnc-book-p.h"
#include "qofbook.h"
#include "qofbook-p.h"
#include "gnc-commodity.h"
#include "gnc-engine.h"
#include "gnc-engine-util.h"
@ -66,7 +66,7 @@ get_commodities_cb (PGBackend *be, PGresult *result, int j, gpointer data)
for (node=be->blist; node; node=node->next)
{
gnc_commodity *com;
GNCBook *book = node->data;
QofBook *book = node->data;
gnc_commodity_table *comtab = gnc_book_get_commodity_table (book);
if (!comtab) continue;
@ -207,7 +207,7 @@ commodity_mark_cb (gnc_commodity *cm, gpointer user_data)
void
pgendStorePriceDBNoLock (PGBackend *be, GNCBook *book)
pgendStorePriceDBNoLock (PGBackend *be, QofBook *book)
{
GNCPriceDB *prdb;
gnc_commodity_table *comtab;
@ -226,7 +226,7 @@ pgendStorePriceDBNoLock (PGBackend *be, GNCBook *book)
}
void
pgendStorePriceDB (PGBackend *be, GNCBook *book)
pgendStorePriceDB (PGBackend *be, QofBook *book)
{
char *p;
ENTER ("be=%p, book=%p", be, book);
@ -257,7 +257,7 @@ pgendStorePriceDB (PGBackend *be, GNCBook *book)
static gpointer
get_price_cb (PGBackend *be, PGresult *result, int j, gpointer data)
{
GNCBook *book = data;
QofBook *book = data;
GNCPriceDB *prdb;
GNCPrice *pr;
gint32 sql_vers, local_vers;
@ -329,7 +329,7 @@ get_price_cb (PGBackend *be, PGresult *result, int j, gpointer data)
void
pgendGetAllPricesInBook (PGBackend *be, GNCBook *book)
pgendGetAllPricesInBook (PGBackend *be, QofBook *book)
{
char buff[400], *p;
@ -342,7 +342,7 @@ pgendGetAllPricesInBook (PGBackend *be, GNCBook *book)
/* Get them ALL */
p = buff;
p = stpcpy (p, "SELECT * FROM gncPrice WHERE bookGuid='");
p = guid_to_string_buff (gnc_book_get_guid(book), p);
p = guid_to_string_buff (qof_book_get_guid(book), p);
p = stpcpy (p, "';");
SEND_QUERY (be, buff, );
pgendGetResults (be, get_price_cb, book);
@ -353,7 +353,7 @@ pgendGetAllPricesInBook (PGBackend *be, GNCBook *book)
/* ============================================================= */
void
pgendPriceFind (Backend *bend, gpointer olook)
pgendPriceFind (QofBackend *bend, gpointer olook)
{
PGBackend *be = (PGBackend *)bend;
GNCPriceLookup *look = (GNCPriceLookup *)olook;
@ -451,7 +451,7 @@ pgendPriceFind (Backend *bend, gpointer olook)
/* ============================================================= */
void
pgend_price_begin_edit (Backend * bend, GNCPrice *pr)
pgend_price_begin_edit (QofBackend * bend, GNCPrice *pr)
{
if (pr && pr->db && pr->db->dirty)
{
@ -461,7 +461,7 @@ pgend_price_begin_edit (Backend * bend, GNCPrice *pr)
}
void
pgend_price_commit_edit (Backend * bend, GNCPrice *pr)
pgend_price_commit_edit (QofBackend * bend, GNCPrice *pr)
{
char * bufp;
PGBackend *be = (PGBackend *)bend;
@ -491,7 +491,7 @@ pgend_price_commit_edit (Backend * bend, GNCPrice *pr)
" price must be rolled back. This function\n"
" is not completely implemented !! \n");
LEAVE ("rolled back");
xaccBackendSetError (&be->be, ERR_BACKEND_MODIFIED);
qof_backend_set_error (&be->be, ERR_BACKEND_MODIFIED);
return;
}
pr->version ++; /* be sure to update the version !! */

View File

@ -28,13 +28,13 @@
void pgendGetAllCommodities (PGBackend *be);
void pgendGetCommodity (PGBackend *be, const char * unique_name);
void pgendStorePriceDB (PGBackend *be, GNCBook *book);
void pgendStorePriceDBNoLock (PGBackend *be, GNCBook *book);
void pgendGetAllPricesInBook (PGBackend *be, GNCBook *);
void pgendPriceFind (Backend *bend, gpointer olook);
void pgendStorePriceDB (PGBackend *be, QofBook *book);
void pgendStorePriceDBNoLock (PGBackend *be, QofBook *book);
void pgendGetAllPricesInBook (PGBackend *be, QofBook *);
void pgendPriceFind (QofBackend *bend, gpointer olook);
void pgend_price_begin_edit (Backend * bend, GNCPrice *pr);
void pgend_price_commit_edit (Backend * bend, GNCPrice *pr);
void pgend_price_begin_edit (QofBackend * bend, GNCPrice *pr);
void pgend_price_commit_edit (QofBackend * bend, GNCPrice *pr);
#endif /* POSTGRES_PRICE_H */

View File

@ -34,8 +34,8 @@
#include <glib.h>
#include <libpq-fe.h>
#include <stdlib.h>
#include "Backend.h"
#include "BackendP.h"
#include "qofbackend.h"
#include "qofbackend-p.h"
#include "gnc-engine-util.h"
#include "PostgresBackend.h"
@ -60,8 +60,8 @@ int sendQuery(PGBackend *be,char * buff) {
gchar * msg = (gchar *)PQerrorMessage(be->connection);
PERR("send query failed:\n"
"\t%s", msg);
xaccBackendSetMessage(&be->be, msg);
xaccBackendSetError (&be->be, ERR_BACKEND_SERVER_ERR);
qof_backend_set_message(&be->be, msg);
qof_backend_set_error (&be->be, ERR_BACKEND_SERVER_ERR);
return ERR_BACKEND_SERVER_ERR;
}
LEAVE("PQsendQuery rc = %d", rc);
@ -102,8 +102,8 @@ int finishQuery(PGBackend *be) {
gchar * msg = (gchar *)PQerrorMessage(be->connection);
PERR("finish query failed:\n\t%s", msg);
PQclear(result);
xaccBackendSetMessage(&be->be, msg);
xaccBackendSetError (&be->be, ERR_BACKEND_SERVER_ERR);
qof_backend_set_message(&be->be, msg);
qof_backend_set_error (&be->be, ERR_BACKEND_SERVER_ERR);
break;
}
PQclear(result);

View File

@ -40,11 +40,11 @@
#include <libpq-fe.h>
#include "Backend.h"
#include "BackendP.h"
#include "qofbackend.h"
#include "qofbackend-p.h"
#include "gnc-engine-util.h"
#include "guid.h"
#include "GNCId.h"
#include "qofid.h"
#include "PostgresBackend.h"
@ -66,7 +66,7 @@ gpointer pgendGetResults (PGBackend *be,
/* The gnc_string_to_commodity() routine finds the commodity by
* parsing a string of the form NAMESPACE::MNEMONIC
*/
gnc_commodity * gnc_string_to_commodity (const char *str, GNCBook *book);
gnc_commodity * gnc_string_to_commodity (const char *str, QofBook *book);
int sendQuery(PGBackend *be,char * buff);
int finishQuery(PGBackend *be);
@ -95,8 +95,8 @@ int finishQuery(PGBackend *be);
gchar * msg = (gchar *)PQerrorMessage(be->connection); \
/* hack alert -- we need kinder, gentler error handling */\
PERR("send query failed:\n\t%s", msg); \
xaccBackendSetMessage (&be->be, msg); \
xaccBackendSetError (&be->be, ERR_BACKEND_SERVER_ERR); \
qof_backend_set_message (&be->be, msg); \
qof_backend_set_error (&be->be, ERR_BACKEND_SERVER_ERR); \
return retval; \
} \
} \
@ -124,8 +124,8 @@ int finishQuery(PGBackend *be);
msg = PQresultErrorMessage(result); \
PERR("finish query failed:\n\t%s", msg); \
PQclear(result); \
xaccBackendSetMessage (&be->be, msg); \
xaccBackendSetError (&be->be, ERR_BACKEND_SERVER_ERR); \
qof_backend_set_message (&be->be, msg); \
qof_backend_set_error (&be->be, ERR_BACKEND_SERVER_ERR); \
break; \
} \
PQclear(result); \
@ -151,8 +151,8 @@ int finishQuery(PGBackend *be);
{ \
PERR("failed to get result to query:\n\t%s", msg); \
PQclear (result); \
xaccBackendSetMessage (&be->be, msg); \
xaccBackendSetError (&be->be, ERR_BACKEND_SERVER_ERR);\
qof_backend_set_message (&be->be, msg); \
qof_backend_set_error (&be->be, ERR_BACKEND_SERVER_ERR);\
break; \
} \
} \
@ -182,8 +182,8 @@ int finishQuery(PGBackend *be);
if (result) \
PQclear (result); \
result = NULL; \
xaccBackendSetMessage (&be->be, msg); \
xaccBackendSetError (&be->be, ERR_BACKEND_SERVER_ERR);\
qof_backend_set_message (&be->be, msg); \
qof_backend_set_error (&be->be, ERR_BACKEND_SERVER_ERR);\
} \
} \
@ -202,7 +202,7 @@ int finishQuery(PGBackend *be);
} \
if (1 < nrows) { \
PERR ("unexpected duplicate records"); \
xaccBackendSetError (&be->be, ERR_BACKEND_DATA_CORRUPT); \
qof_backend_set_error (&be->be, ERR_BACKEND_DATA_CORRUPT); \
break; \
} else if (1 == nrows)

View File

@ -13,16 +13,16 @@ define(`account', `gncAccount, Account, Account, a,
commodity, , char *, gnc_commodity_get_unique_name(xaccAccountGetCommodity(ptr)),
version, , int32, xaccAccountGetVersion(ptr),
iguid, , int32, ptr->idata,
bookGUID, , GUID *, gnc_book_get_guid(xaccAccountGetBook(ptr)),
bookGUID, , GUID *, qof_book_get_guid(xaccAccountGetBook(ptr)),
parentGUID, , GUID *, xaccAccountGetGUID(xaccAccountGetParentAccount(ptr)),
accountGUID, KEY, GUID *, xaccAccountGetGUID(ptr),
')
define(`book', `gncBook, Book, GNCBook, b,
define(`book', `gncBook, Book, QofBook, b,
book_open, , char, ptr->book_open,
version, , int32, ptr->version,
iguid, , int32, ptr->idata,
bookGUID, KEY, GUID *, gnc_book_get_guid(ptr),
bookGUID, KEY, GUID *, qof_book_get_guid(ptr),
')
define(`split', `gncEntry, Split, Split, e,
@ -77,7 +77,7 @@ define(`price', `gncPrice, Price, GNCPrice, p,
valueNum, , int64, gnc_numeric_num(gnc_price_get_value(ptr)),
valueDenom, , int64, gnc_numeric_denom(gnc_price_get_value(ptr)),
version, , int32, gnc_price_get_version(ptr),
bookGUID, , GUID *, gnc_book_get_guid(gnc_price_get_book(ptr)),
bookGUID, , GUID *, qof_book_get_guid(gnc_price_get_book(ptr)),
priceGUID, KEY, GUID *, gnc_price_get_guid(ptr),
')

View File

@ -7,17 +7,17 @@
#include <unistd.h>
#include "AccountP.h"
#include "Backend.h"
#include "qofbackend.h"
#include "PostgresBackend.h"
#include "TransactionP.h"
#include "TransLog.h"
#include "gnc-book.h"
#include "qofbook.h"
#include "gnc-engine.h"
#include "gnc-engine-util.h"
#include "gnc-module.h"
#include "gnc-session-p.h"
#include "qofsession-p.h"
#include "gncquery.h"
#include "QueryNew.h"
#include "qofquery.h"
#include "test-stuff.h"
#include "test-engine-stuff.h"
@ -34,9 +34,9 @@ struct _dbinfo {
typedef struct _dbinfo DbInfo;
static void
save_xml_file(GNCSession * session, const char *filename_base)
save_xml_file(QofSession * session, const char *filename_base)
{
GNCBackendError io_err;
QofBackendError io_err;
char cwd[1024];
char *filename;
@ -46,24 +46,24 @@ save_xml_file(GNCSession * session, const char *filename_base)
filename = g_strdup_printf("file:/%s/%s", cwd, filename_base);
gnc_session_begin(session, filename, FALSE, TRUE);
qof_session_begin(session, filename, FALSE, TRUE);
io_err = gnc_session_get_error(session);
io_err = qof_session_get_error(session);
g_return_if_fail(io_err == ERR_BACKEND_NO_ERR);
gnc_session_save(session, NULL);
io_err = gnc_session_get_error(session);
qof_session_save(session, NULL);
io_err = qof_session_get_error(session);
g_return_if_fail(io_err == ERR_BACKEND_NO_ERR);
gnc_session_end(session);
io_err = gnc_session_get_error(session);
qof_session_end(session);
io_err = qof_session_get_error(session);
g_return_if_fail(io_err == ERR_BACKEND_NO_ERR);
g_free(filename);
}
static void
save_xml_files(GNCSession * session_1, GNCSession * session_2)
save_xml_files(QofSession * session_1, QofSession * session_2)
{
g_return_if_fail(session_1 && session_2);
@ -97,39 +97,39 @@ db_file_url(DbInfo *dbinfo)
}
static gboolean
save_db_file(GNCSession * session, DbInfo *dbinfo)
save_db_file(QofSession * session, DbInfo *dbinfo)
{
GNCBackendError io_err;
QofBackendError io_err;
char *filename;
g_return_val_if_fail(session && dbinfo->dbname && dbinfo->mode, FALSE);
filename = db_file_url(dbinfo);
gnc_session_begin(session, filename, FALSE, TRUE);
io_err = gnc_session_get_error(session);
qof_session_begin(session, filename, FALSE, TRUE);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Beginning db session",
__FILE__, __LINE__,
"can't begin session for %s in mode %s", dbinfo->dbname, dbinfo->mode))
return FALSE;
gnc_session_save(session, NULL);
io_err = gnc_session_get_error(session);
qof_session_save(session, NULL);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Saving db session",
__FILE__, __LINE__,
"can't save session for %s in mode %s", dbinfo->dbname, dbinfo->mode))
return FALSE;
gnc_session_end(session);
io_err = gnc_session_get_error(session);
qof_session_end(session);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Ending db session",
__FILE__, __LINE__,
"can't end session for %s in mode %s", dbinfo->dbname, dbinfo->mode))
return FALSE;
do_test(gnc_session_get_url(session) == NULL, "session url not NULL");
do_test(qof_session_get_url(session) == NULL, "session url not NULL");
g_free(filename);
@ -137,9 +137,9 @@ save_db_file(GNCSession * session, DbInfo *dbinfo)
}
static gboolean
load_db_file(GNCSession * session, DbInfo *dbinfo, gboolean end_session)
load_db_file(QofSession * session, DbInfo *dbinfo, gboolean end_session)
{
GNCBackendError io_err;
QofBackendError io_err;
PGBackend *be;
char *filename;
@ -147,12 +147,12 @@ load_db_file(GNCSession * session, DbInfo *dbinfo, gboolean end_session)
filename = db_file_url(dbinfo);
gnc_session_begin(session, filename, FALSE, FALSE);
qof_session_begin(session, filename, FALSE, FALSE);
be = (PGBackend *)gnc_session_get_backend(session);
be = (PGBackend *)qof_session_get_backend(session);
dbinfo->conn = be->connection;
io_err = gnc_session_get_error(session);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Beginning db session",
__FILE__, __LINE__,
@ -160,8 +160,8 @@ load_db_file(GNCSession * session, DbInfo *dbinfo, gboolean end_session)
dbinfo->dbname, dbinfo->mode))
return FALSE;
gnc_session_load(session, NULL);
io_err = gnc_session_get_error(session);
qof_session_load(session, NULL);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Loading db session",
__FILE__, __LINE__,
@ -170,8 +170,8 @@ load_db_file(GNCSession * session, DbInfo *dbinfo, gboolean end_session)
return FALSE;
if (end_session) {
gnc_session_end(session);
io_err = gnc_session_get_error(session);
qof_session_end(session);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Ending db session",
__FILE__, __LINE__,
@ -179,7 +179,7 @@ load_db_file(GNCSession * session, DbInfo *dbinfo, gboolean end_session)
dbinfo->dbname, dbinfo->mode))
return FALSE;
do_test(gnc_session_get_url(session) == NULL, "session url not NULL");
do_test(qof_session_get_url(session) == NULL, "session url not NULL");
}
g_free(filename);
@ -190,19 +190,19 @@ load_db_file(GNCSession * session, DbInfo *dbinfo, gboolean end_session)
static gboolean
test_access(DbInfo *dbinfo, gboolean multi_user)
{
GNCBackendError io_err;
GNCSession *session_1;
GNCSession *session_2;
QofBackendError io_err;
QofSession *session_1;
QofSession *session_2;
char *filename;
g_return_val_if_fail(dbinfo->dbname && dbinfo->mode, FALSE);
filename = db_file_url(dbinfo);
session_1 = gnc_session_new();
session_1 = qof_session_new();
gnc_session_begin(session_1, filename, FALSE, FALSE);
io_err = gnc_session_get_error(session_1);
qof_session_begin(session_1, filename, FALSE, FALSE);
io_err = qof_session_get_error(session_1);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Beginning db session",
__FILE__, __LINE__,
@ -210,10 +210,10 @@ test_access(DbInfo *dbinfo, gboolean multi_user)
dbinfo->dbname, dbinfo->mode))
return FALSE;
session_2 = gnc_session_new();
session_2 = qof_session_new();
gnc_session_begin(session_2, filename, FALSE, FALSE);
io_err = gnc_session_get_error(session_2);
qof_session_begin(session_2, filename, FALSE, FALSE);
io_err = qof_session_get_error(session_2);
if (multi_user) {
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
@ -231,8 +231,8 @@ test_access(DbInfo *dbinfo, gboolean multi_user)
return FALSE;
}
gnc_session_destroy(session_1);
gnc_session_destroy(session_2);
qof_session_destroy(session_1);
qof_session_destroy(session_2);
return TRUE;
}
@ -285,17 +285,17 @@ add_commodity_to_delete(gnc_commodity * com, gpointer data)
}
static void
remove_unneeded_commodities(GNCSession * session)
remove_unneeded_commodities(QofSession * session)
{
CommodityDeleteInfo cdi;
GNCBook *book;
QofBook *book;
GList *node;
g_return_if_fail(session);
cdi.hash = g_hash_table_new(g_direct_hash, g_direct_equal);
book = gnc_session_get_book(session);
book = qof_session_get_book(session);
xaccGroupForEachAccount(gnc_book_get_group(book),
mark_account_commodities, cdi.hash, TRUE);
@ -320,7 +320,7 @@ remove_unneeded_commodities(GNCSession * session)
}
static Query *
make_get_all_query(GNCSession * session)
make_get_all_query(QofSession * session)
{
Query *q;
@ -328,19 +328,19 @@ make_get_all_query(GNCSession * session)
q = xaccMallocQuery();
xaccQuerySetBook(q, gnc_session_get_book(session));
xaccQuerySetBook(q, qof_session_get_book(session));
xaccQueryAddClearedMatch(q,
CLEARED_NO |
CLEARED_CLEARED |
CLEARED_RECONCILED |
CLEARED_FROZEN | CLEARED_VOIDED, QUERY_AND);
CLEARED_FROZEN | CLEARED_VOIDED, QOF_QUERY_AND);
return q;
}
static void
multi_user_get_everything(GNCSession * session, GNCSession * base)
multi_user_get_everything(QofSession * session, QofSession * base)
{
Query *q;
@ -354,16 +354,16 @@ multi_user_get_everything(GNCSession * session, GNCSession * base)
/* load in prices from base */
if (base)
gnc_pricedb_equal(gnc_book_get_pricedb(gnc_session_get_book(base)),
gnc_book_get_pricedb(gnc_session_get_book
gnc_pricedb_equal(gnc_book_get_pricedb(qof_session_get_book(base)),
gnc_book_get_pricedb(qof_session_get_book
(session)));
}
static gboolean
test_updates(GNCSession * session, DbInfo *dbinfo, gboolean multi_user)
test_updates(QofSession * session, DbInfo *dbinfo, gboolean multi_user)
{
GNCBackendError io_err;
GNCSession *session_2;
QofBackendError io_err;
QofSession *session_2;
char *filename;
char str1[GUID_ENCODING_LENGTH+1];
char str2[GUID_ENCODING_LENGTH+1];
@ -373,8 +373,8 @@ test_updates(GNCSession * session, DbInfo *dbinfo, gboolean multi_user)
filename = db_file_url(dbinfo);
gnc_session_begin(session, filename, FALSE, FALSE);
io_err = gnc_session_get_error(session);
qof_session_begin(session, filename, FALSE, FALSE);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Beginning db update session",
__FILE__, __LINE__,
@ -384,8 +384,8 @@ test_updates(GNCSession * session, DbInfo *dbinfo, gboolean multi_user)
make_random_changes_to_session(session);
if (!multi_user) {
gnc_session_end(session);
io_err = gnc_session_get_error(session);
qof_session_end(session);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Ending db session",
__FILE__, __LINE__,
@ -394,7 +394,7 @@ test_updates(GNCSession * session, DbInfo *dbinfo, gboolean multi_user)
return FALSE;
}
session_2 = gnc_session_new();
session_2 = qof_session_new();
if (!load_db_file(session_2, dbinfo, !multi_user))
return FALSE;
@ -405,19 +405,19 @@ test_updates(GNCSession * session, DbInfo *dbinfo, gboolean multi_user)
remove_unneeded_commodities(session);
remove_unneeded_commodities(session_2);
ok = gnc_book_equal(gnc_session_get_book(session),
gnc_session_get_book(session_2));
ok = qof_book_equal(qof_session_get_book(session),
qof_session_get_book(session_2));
guid_to_string_buff(gnc_book_get_guid(gnc_session_get_book(session)), str1);
guid_to_string_buff(gnc_book_get_guid(gnc_session_get_book(session_2))), str2);
guid_to_string_buff(qof_book_get_guid(qof_session_get_book(session)), str1);
guid_to_string_buff(qof_book_get_guid(qof_session_get_book(session_2)), str2);
do_test_args(ok, "Books equal after update", __FILE__, __LINE__,
"Books not equal for session %s in mode %si\n"
"book 1: %s,\nbook 2: %s",
dbinfo->dbname, dbinfo->mode, str1, str2);
if (multi_user) {
gnc_session_end(session);
io_err = gnc_session_get_error(session);
qof_session_end(session);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Ending db session",
__FILE__, __LINE__,
@ -425,8 +425,8 @@ test_updates(GNCSession * session, DbInfo *dbinfo, gboolean multi_user)
dbinfo->dbname, dbinfo->mode))
return FALSE;
gnc_session_end(session_2);
io_err = gnc_session_get_error(session_2);
qof_session_end(session_2);
io_err = qof_session_get_error(session_2);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Ending db session",
__FILE__, __LINE__,
@ -440,7 +440,7 @@ test_updates(GNCSession * session, DbInfo *dbinfo, gboolean multi_user)
return FALSE;
}
gnc_session_destroy(session_2);
qof_session_destroy(session_2);
g_free(filename);
return TRUE;
@ -457,15 +457,15 @@ num_trans_helper(Transaction * trans, gpointer data)
}
static int
session_num_trans(GNCSession * session)
session_num_trans(QofSession * session)
{
AccountGroup *group;
GNCBook *book;
QofBook *book;
int num = 0;
g_return_val_if_fail(session, 0);
book = gnc_session_get_book(session);
book = qof_session_get_book(session);
group = gnc_book_get_group(book);
xaccGroupForEachTransaction(group, num_trans_helper, &num);
@ -474,28 +474,28 @@ session_num_trans(GNCSession * session)
}
typedef struct {
GNCSession *session_base;
QofSession *session_base;
DbInfo *dbinfo;
gint loaded;
gint total;
} QueryTestData;
static gboolean
test_raw_query(GNCSession * session, Query * q)
test_raw_query(QofSession * session, Query * q)
{
const char *sql_query_string;
PGresult *result;
PGBackend *be;
sqlQuery *sq;
gboolean ok;
QueryNew *qn = q;
QofQuery *qn = q;
g_return_val_if_fail(session && q, FALSE);
be = (PGBackend *) gnc_session_get_backend(session);
be = (PGBackend *) qof_session_get_backend(session);
if (gnc_should_log(module, GNC_LOG_DETAIL))
gncQueryPrint(qn);
qof_query_print(qn);
sq = sqlQuery_new();
sql_query_string = sqlQuery_build(sq, q);
@ -532,34 +532,34 @@ static gboolean
test_trans_query(Transaction * trans, gpointer data)
{
QueryTestData *qtd = data;
GNCBackendError io_err;
GNCSession *session;
QofBackendError io_err;
QofSession *session;
char *filename;
GNCBook *book;
QofBook *book;
GList *list;
Query *q;
filename = db_file_url(qtd->dbinfo);
session = gnc_session_new();
session = qof_session_new();
gnc_session_begin(session, filename, FALSE, FALSE);
io_err = gnc_session_get_error(session);
qof_session_begin(session, filename, FALSE, FALSE);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Beginning db session",
__FILE__, __LINE__,
"can't begin session for %s", filename))
return FALSE;
gnc_session_load(session, NULL);
io_err = gnc_session_get_error(session);
qof_session_load(session, NULL);
io_err = qof_session_get_error(session);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Loading db session",
__FILE__, __LINE__,
"can't load session for %s", filename))
return FALSE;
book = gnc_session_get_book(session);
book = qof_session_get_book(session);
q = make_trans_query(trans, get_random_query_type() | GUID_QT);
xaccQuerySetBook(q, book);
@ -590,7 +590,7 @@ test_trans_query(Transaction * trans, gpointer data)
success("found right transaction");
xaccFreeQuery(q);
gnc_session_destroy(session);
qof_session_destroy(session);
g_free(filename);
g_list_free(list);
@ -598,10 +598,10 @@ test_trans_query(Transaction * trans, gpointer data)
}
static gboolean
compare_balances(GNCSession * session_1, GNCSession * session_2)
compare_balances(QofSession * session_1, QofSession * session_2)
{
GNCBook *book_1 = gnc_session_get_book(session_1);
GNCBook *book_2 = gnc_session_get_book(session_2);
QofBook *book_1 = qof_session_get_book(session_1);
QofBook *book_2 = qof_session_get_book(session_2);
GList *list;
GList *node;
gboolean ok;
@ -659,16 +659,16 @@ compare_balances(GNCSession * session_1, GNCSession * session_2)
}
static gboolean
test_queries(GNCSession * session_base, DbInfo *dbinfo)
test_queries(QofSession * session_base, DbInfo *dbinfo)
{
QueryTestData qtd;
AccountGroup *group;
GNCBook *book;
QofBook *book;
gboolean ok;
g_return_val_if_fail(dbinfo->dbname && dbinfo->mode, FALSE);
book = gnc_session_get_book(session_base);
book = qof_session_get_book(session_base);
group = gnc_book_get_group(book);
qtd.session_base = session_base;
@ -687,11 +687,11 @@ test_queries(GNCSession * session_base, DbInfo *dbinfo)
}
typedef struct {
GNCSession *session_1;
GNCSession *session_2;
QofSession *session_1;
QofSession *session_2;
GNCBook *book_1;
GNCBook *book_2;
QofBook *book_1;
QofBook *book_2;
AccountGroup *group_1;
AccountGroup *group_2;
@ -704,18 +704,18 @@ static gboolean
test_trans_update(Transaction * trans, gpointer data)
{
UpdateTestData *td = data;
GNCBackendError io_err;
QofBackendError io_err;
Transaction *trans_2;
GNCBook *book_1;
GNCBook *book_2;
QofBook *book_1;
QofBook *book_2;
GUID guid;
gboolean ok;
/* FIXME remove */
return TRUE;
book_1 = gnc_session_get_book(td->session_1);
book_2 = gnc_session_get_book(td->session_2);
book_1 = qof_session_get_book(td->session_1);
book_2 = qof_session_get_book(td->session_2);
guid = *xaccTransGetGUID(trans);
@ -724,7 +724,7 @@ test_trans_update(Transaction * trans, gpointer data)
td->accounts_1);
xaccTransCommitEdit(trans);
io_err = gnc_session_get_error(td->session_1);
io_err = qof_session_get_error(td->session_1);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"changing transaction in session 1",
__FILE__, __LINE__,
@ -749,7 +749,7 @@ test_trans_update(Transaction * trans, gpointer data)
ok = ok && (trans->version == trans_2->version);
/*
ok = ok && (gnc_session_get_error (td->session_2) == ERR_BACKEND_MODIFIED);
ok = ok && (qof_session_get_error (td->session_2) == ERR_BACKEND_MODIFIED);
*/
if (!do_test_args(ok,
@ -800,7 +800,7 @@ drop_database(DbInfo *dbinfo)
}
static gboolean
test_updates_2(GNCSession * session_base, DbInfo *dbinfo)
test_updates_2(QofSession * session_base, DbInfo *dbinfo)
{
UpdateTestData td;
char *filename;
@ -818,18 +818,18 @@ test_updates_2(GNCSession * session_base, DbInfo *dbinfo)
multi_user_get_everything(session_base, NULL);
td.session_1 = session_base;
td.book_1 = gnc_session_get_book(session_base);
td.book_1 = qof_session_get_book(session_base);
td.group_1 = gnc_book_get_group(td.book_1);
td.accounts_1 = xaccGroupGetSubAccounts(td.group_1);
td.session_2 = gnc_session_new();
td.session_2 = qof_session_new();
if (!load_db_file(td.session_2, dbinfo, FALSE))
return FALSE;
multi_user_get_everything(td.session_2, NULL);
td.book_2 = gnc_session_get_book(td.session_2);
td.book_2 = qof_session_get_book(td.session_2);
td.group_2 = gnc_book_get_group(td.book_2);
td.accounts_2 = xaccGroupGetSubAccounts(td.group_2);
@ -857,7 +857,7 @@ test_updates_2(GNCSession * session_base, DbInfo *dbinfo)
ok = ok && (account_1->version == account_2->version);
ok = ok
&& (gnc_session_get_error(td.session_2) == ERR_BACKEND_MODIFIED);
&& (qof_session_get_error(td.session_2) == ERR_BACKEND_MODIFIED);
if (!do_test_args(ok,
"test account rollback",
@ -891,7 +891,7 @@ test_updates_2(GNCSession * session_base, DbInfo *dbinfo)
xaccTransCommitEdit(trans);
xaccQueryAddGUIDMatch(q, xaccAccountGetGUID(child),
GNC_ID_ACCOUNT, QUERY_AND);
GNC_ID_ACCOUNT, QOF_QUERY_AND);
xaccQuerySetBook(q, td.book_2);
@ -921,9 +921,9 @@ test_updates_2(GNCSession * session_base, DbInfo *dbinfo)
return FALSE;
}
gnc_session_end(td.session_1);
gnc_session_end(td.session_2);
gnc_session_destroy(td.session_2);
qof_session_end(td.session_1);
qof_session_end(td.session_2);
qof_session_destroy(td.session_2);
g_list_free(td.accounts_1);
g_list_free(td.accounts_2);
@ -934,22 +934,22 @@ test_updates_2(GNCSession * session_base, DbInfo *dbinfo)
static gboolean
test_mode(DbInfo *dbinfo, gboolean updates, gboolean multi_user)
{
GNCSession *session;
GNCSession *session_db;
QofSession *session;
QofSession *session_db;
gboolean ok;
gchar *modesave = dbinfo->mode;
gchar *sumode = "single-update";
session = get_random_session();
add_random_transactions_to_book(gnc_session_get_book(session), 20);
add_random_transactions_to_book(qof_session_get_book(session), 20);
dbinfo->mode = sumode;
if (!save_db_file(session, dbinfo))
return FALSE;
dbinfo->mode = modesave;
session_db = gnc_session_new();
session_db = qof_session_new();
if (!load_db_file(session_db, dbinfo, !multi_user))
return FALSE;
@ -961,18 +961,18 @@ test_mode(DbInfo *dbinfo, gboolean updates, gboolean multi_user)
multi_user_get_everything(session_db, session);
}
ok = gnc_book_equal(gnc_session_get_book(session),
gnc_session_get_book(session_db));
ok = qof_book_equal(qof_session_get_book(session),
qof_session_get_book(session_db));
do_test_args(ok, "Books equal", __FILE__, __LINE__,
"Books not equal for session %s in mode %s",
dbinfo->dbname, dbinfo->mode);
if (multi_user) {
GNCBackendError io_err;
QofBackendError io_err;
gnc_session_end(session_db);
io_err = gnc_session_get_error(session_db);
qof_session_end(session_db);
io_err = qof_session_get_error(session_db);
if (!do_test_args(io_err == ERR_BACKEND_NO_ERR,
"Ending db session",
__FILE__, __LINE__,
@ -998,8 +998,8 @@ test_mode(DbInfo *dbinfo, gboolean updates, gboolean multi_user)
if (updates && !test_updates_2(session_db, dbinfo))
return FALSE;
gnc_session_destroy(session);
gnc_session_destroy(session_db);
qof_session_destroy(session);
qof_session_destroy(session_db);
return ok;
}
@ -1038,7 +1038,7 @@ run_test(DbInfo *dbinfo)
static void
test_performance(DbInfo *dbinfo)
{
GNCSession *session;
QofSession *session;
gchar *modesave = dbinfo->mode;
gchar *sumode = "single-update";
@ -1053,8 +1053,8 @@ test_performance(DbInfo *dbinfo)
REPORT_CLOCK(0, "Finished saving session");
dbinfo->mode = modesave;
gnc_session_destroy(session);
session = gnc_session_new();
qof_session_destroy(session);
session = qof_session_new();
if (!load_db_file(session, dbinfo, FALSE))
return;
@ -1062,15 +1062,15 @@ test_performance(DbInfo *dbinfo)
gnc_set_log_level(MOD_TEST, GNC_LOG_INFO);
START_CLOCK(0, "Starting to save transactions");
add_random_transactions_to_book(gnc_session_get_book(session), 100);
add_random_transactions_to_book(qof_session_get_book(session), 100);
REPORT_CLOCK(0, "Finished saving transactions");
REPORT_CLOCK_TOTAL(0, "total");
REPORT_CLOCK_TOTAL(1, "deleting kvp");
REPORT_CLOCK_TOTAL(2, "storing kvp");
gnc_session_end(session);
gnc_session_destroy(session);
qof_session_end(session);
qof_session_destroy(session);
}
#endif

View File

@ -15,8 +15,8 @@
#include "Account.h"
#include "Group.h"
#include "Period.h"
#include "gnc-book.h"
#include "gnc-book-p.h"
#include "qofbook.h"
#include "qofbook-p.h"
#include "gnc-engine-util.h"
#include "gnc-module.h"
#include "test-stuff.h"
@ -28,9 +28,9 @@
static void
run_test (void)
{
GNCBackendError io_err;
GNCSession *session;
GNCBook *openbook, *closedbook;
QofBackendError io_err;
QofSession *session;
QofBook *openbook, *closedbook;
AccountGroup *grp;
AccountList *acclist, *anode;
Account * acc = NULL;
@ -51,12 +51,12 @@ run_test (void)
session = get_random_session ();
test_url = "postgres://localhost/qqq?mode=single-update";
gnc_session_begin (session, test_url, FALSE, TRUE);
qof_session_begin (session, test_url, FALSE, TRUE);
io_err = gnc_session_get_error (session);
io_err = qof_session_get_error (session);
g_return_if_fail (io_err == ERR_BACKEND_NO_ERR);
openbook = gnc_session_get_book (session);
openbook = qof_session_get_book (session);
if (!openbook)
{
failure("book not created");
@ -119,8 +119,8 @@ run_test (void)
tsmiddle = tsfirst;
tsmiddle.tv_sec = (tsfirst.tv_sec + tslast.tv_sec)/2;
gnc_session_save (session, NULL);
io_err = gnc_session_get_error (session);
qof_session_save (session, NULL);
io_err = qof_session_get_error (session);
g_return_if_fail (io_err == ERR_BACKEND_NO_ERR);
// stdout is broken with guile for some reason
@ -135,12 +135,12 @@ run_test (void)
exit(get_rv());
}
gnc_session_save (session, NULL);
io_err = gnc_session_get_error (session);
qof_session_save (session, NULL);
io_err = qof_session_get_error (session);
g_return_if_fail (io_err == ERR_BACKEND_NO_ERR);
gnc_session_end (session);
io_err = gnc_session_get_error (session);
qof_session_end (session);
io_err = qof_session_get_error (session);
g_return_if_fail (io_err == ERR_BACKEND_NO_ERR);
success ("periods lightly tested and seem to work");

View File

@ -710,7 +710,7 @@ pgendCopyTransactionToEngine (PGBackend *be, const GUID *trans_guid)
/* I beleive its a programming error to get this case.
* Print a warning for now... */
PERR ("no such transaction in the database. This is unexpected ...\n");
xaccBackendSetError (&be->be, ERR_SQL_MISSING_DATA);
qof_backend_set_error (&be->be, ERR_SQL_MISSING_DATA);
pgendEnable(be);
gnc_engine_resume_events();
return 0;
@ -723,7 +723,7 @@ pgendCopyTransactionToEngine (PGBackend *be, const GUID *trans_guid)
PERR ("!!!!!!!!!!!SQL database is corrupt!!!!!!!\n"
"too many transactions with GUID=%s\n",
guid_to_string (trans_guid));
xaccBackendSetError (&be->be, ERR_BACKEND_DATA_CORRUPT);
qof_backend_set_error (&be->be, ERR_BACKEND_DATA_CORRUPT);
pgendEnable(be);
gnc_engine_resume_events();
return 0;
@ -923,7 +923,7 @@ pgendSyncTransaction (PGBackend *be, GUID *trans_guid)
/* ============================================================= */
void
pgend_trans_commit_edit (Backend * bend,
pgend_trans_commit_edit (QofBackend * bend,
Transaction * trans,
Transaction * oldtrans)
{
@ -1025,7 +1025,7 @@ pgend_trans_commit_edit (Backend * bend,
* routine. Our rollback routine updates from the latest in
* the sql database, and voila! we are good to go.
*/
xaccBackendSetError (&be->be, ERR_BACKEND_MODIFIED);
qof_backend_set_error (&be->be, ERR_BACKEND_MODIFIED);
return;
}
}
@ -1088,7 +1088,7 @@ pgend_trans_commit_edit (Backend * bend,
*/
void
pgend_trans_rollback_edit (Backend * bend, Transaction * trans)
pgend_trans_rollback_edit (QofBackend * bend, Transaction * trans)
{
PGBackend *be = (PGBackend *)bend;
const GUID * trans_guid;
@ -1102,7 +1102,7 @@ pgend_trans_rollback_edit (Backend * bend, Transaction * trans)
if (-1 < pgendTransactionGetDeletedVersion (be, trans))
{
LEAVE ("destroyed");
xaccBackendSetError (&be->be, ERR_BACKEND_MOD_DESTROY);
qof_backend_set_error (&be->be, ERR_BACKEND_MOD_DESTROY);
return;
}

View File

@ -48,8 +48,8 @@ void pgendCopySplitsToEngine (PGBackend *be, Transaction *trans);
void pgendStoreAllTransactions (PGBackend *be, AccountGroup *grp);
void pgendStoreTransactionNoLock (PGBackend *be, Transaction *trans, gboolean do_check_version);
void pgend_trans_commit_edit (Backend * bend, Transaction * trans, Transaction * oldtrans);
void pgend_trans_rollback_edit (Backend * bend, Transaction * trans);
void pgend_trans_commit_edit (QofBackend * bend, Transaction * trans, Transaction * oldtrans);
void pgend_trans_rollback_edit (QofBackend * bend, Transaction * trans);

View File

@ -36,12 +36,12 @@
#include "AccountP.h"
#include "Group.h"
#include "GroupP.h"
#include "gnc-book.h"
#include "gnc-book-p.h"
#include "gnc-commodity.h"
#include "gnc-engine-util.h"
#include "gnc-event.h"
#include "guid.h"
#include "qofbook.h"
#include "qofbook-p.h"
#include "Transaction.h"
#include "TransactionP.h"
@ -59,7 +59,7 @@ static short module = MOD_TXN;
static gpointer
get_mass_trans_cb (PGBackend *be, PGresult *result, int j, gpointer data)
{
GNCBook *book = data;
QofBook *book = data;
GList *xaction_list = be->tmp_return;
Transaction *trans;
gnc_commodity *currency = NULL;
@ -123,7 +123,7 @@ get_mass_trans_cb (PGBackend *be, PGresult *result, int j, gpointer data)
static gpointer
get_mass_entry_cb (PGBackend *be, PGresult *result, int j, gpointer data)
{
GNCBook *book = data;
QofBook *book = data;
Transaction *trans=NULL;
Account *acc;
Split *s;
@ -218,7 +218,7 @@ get_mass_entry_cb (PGBackend *be, PGresult *result, int j, gpointer data)
/* ============================================================= */
void
pgendGetMassTransactions (PGBackend *be, GNCBook *book)
pgendGetMassTransactions (PGBackend *be, QofBook *book)
{
char *p, buff[900];
GList *node, *xaction_list = NULL;
@ -235,7 +235,7 @@ pgendGetMassTransactions (PGBackend *be, GNCBook *book)
" WHERE gncTransaction.transGuid = gncEntry.transGuid AND "
" gncEntry.accountGuid = gncAccount.accountGuid AND "
" gncAccount.bookGuid = '");
p = guid_to_string_buff(gnc_book_get_guid (book), p);
p = guid_to_string_buff(qof_book_get_guid (book), p);
p = stpcpy (p, "';");
SEND_QUERY (be, buff, );
@ -252,7 +252,7 @@ pgendGetMassTransactions (PGBackend *be, GNCBook *book)
" FROM gncEntry, gncAccount "
" WHERE gncEntry.accountGuid = gncAccount.accountGuid AND "
" gncAccount.bookGuid = '");
p = guid_to_string_buff(gnc_book_get_guid (book), p);
p = guid_to_string_buff(qof_book_get_guid (book), p);
p = stpcpy (p, "';");
SEND_QUERY (be, buff, );
pgendGetResults (be, get_mass_entry_cb, book);

View File

@ -23,10 +23,10 @@
#ifndef POSTGRES_TXN_MASS_H
#define POSTGRES_TXN_MASS_H
#include "gnc-book.h"
#include "qofbook.h"
#include "PostgresBackend.h"
void pgendGetMassTransactions (PGBackend *be, GNCBook*);
void pgendGetMassTransactions (PGBackend *be, QofBook*);
#endif /* POSTGRES_TXN_MASS_H */

View File

@ -339,20 +339,20 @@ add_multiple_book_support (PGBackend *be)
p = buff;
p = stpcpy (p, "UPDATE gncAccount SET bookGuid = '");
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
p = guid_to_string_buff (qof_book_get_guid (be->book), p);
p = stpcpy (p, "';\n");
p = stpcpy (p, "UPDATE gncAccountTrail SET bookGuid = '");
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
p = guid_to_string_buff (qof_book_get_guid (be->book), p);
p = stpcpy (p, "';\n");
SEND_QUERY (be,buff, );
FINISH_QUERY(be->connection);
p = buff;
p = stpcpy (p, "UPDATE gncPrice SET bookGuid = '");
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
p = guid_to_string_buff (qof_book_get_guid (be->book), p);
p = stpcpy (p, "';\n");
p = stpcpy (p, "UPDATE gncPriceTrail SET bookGuid = '");
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
p = guid_to_string_buff (qof_book_get_guid (be->book), p);
p = stpcpy (p, "';\n");
SEND_QUERY (be,buff, );
FINISH_QUERY(be->connection);
@ -360,7 +360,7 @@ add_multiple_book_support (PGBackend *be)
p = buff;
p = stpcpy (p, "INSERT INTO gncBook (bookGuid, book_open, version, iguid) "
"VALUES ('");
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
p = guid_to_string_buff (qof_book_get_guid (be->book), p);
p = stpcpy (p, "', 'y', 1, 0);");
SEND_QUERY (be,buff, );
FINISH_QUERY(be->connection);
@ -387,7 +387,7 @@ pgendDBVersionIsCurrent (PGBackend *be)
if (1 > vers.major)
{
xaccBackendSetError (&be->be, ERR_BACKEND_DATA_CORRUPT);
qof_backend_set_error (&be->be, ERR_BACKEND_DATA_CORRUPT);
return -1;
}
@ -397,7 +397,7 @@ pgendDBVersionIsCurrent (PGBackend *be)
/* check to see if this client can connect */
if (PGEND_CURRENT_MAJOR_VERSION < vers.major)
{
xaccBackendSetError (&be->be, ERR_BACKEND_TOO_NEW);
qof_backend_set_error (&be->be, ERR_BACKEND_TOO_NEW);
return -1;
}