mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
misc cleanup, bug fix
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6469 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
b19ce51b45
commit
00e23dd632
@ -1,6 +1,6 @@
|
||||
/********************************************************************\
|
||||
* PostgresBackend.c -- implements postgres backend - main file *
|
||||
* Copyright (c) 2000, 2001 Linas Vepstas *
|
||||
* Copyright (c) 2000, 2001, 2002 Linas Vepstas <linas@linas.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
@ -1896,21 +1896,24 @@ pgend_session_begin (Backend *backend,
|
||||
{
|
||||
case MODE_SINGLE_FILE:
|
||||
pgendEnable(be);
|
||||
be->be.book_load = pgend_book_load_single;
|
||||
be->be.price_load = pgend_price_load_single;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = NULL;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = NULL;
|
||||
be->be.trans_rollback_edit = NULL;
|
||||
be->be.price_begin_edit = NULL;
|
||||
be->be.price_commit_edit = NULL;
|
||||
be->be.run_query = NULL;
|
||||
be->be.price_lookup = NULL;
|
||||
be->be.sync_all = pgendSyncSingleFile;
|
||||
be->be.sync_price = pgendSyncPriceDBSingleFile;
|
||||
be->be.events_pending = NULL;
|
||||
be->be.process_events = NULL;
|
||||
be->be.book_load = pgend_book_load_single;
|
||||
be->be.price_load = pgend_price_load_single;
|
||||
be->be.book_transfer_begin = pgend_book_transfer_begin;
|
||||
be->be.book_transfer_commit = pgend_book_transfer_commit;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = NULL;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = NULL;
|
||||
be->be.trans_rollback_edit = NULL;
|
||||
be->be.price_begin_edit = NULL;
|
||||
be->be.price_commit_edit = NULL;
|
||||
be->be.run_query = NULL;
|
||||
be->be.price_lookup = NULL;
|
||||
be->be.sync_all = pgendSyncSingleFile;
|
||||
be->be.sync_group = NULL;
|
||||
be->be.sync_price = pgendSyncPriceDBSingleFile;
|
||||
be->be.events_pending = NULL;
|
||||
be->be.process_events = NULL;
|
||||
PWARN ("mode=single-file is final beta -- \n"
|
||||
"we've fixed all known bugs but that doesn't mean\n"
|
||||
"there aren't any! We think it's safe to use.\n");
|
||||
@ -1918,21 +1921,24 @@ pgend_session_begin (Backend *backend,
|
||||
|
||||
case MODE_SINGLE_UPDATE:
|
||||
pgendEnable(be);
|
||||
be->be.book_load = pgend_book_load_single;
|
||||
be->be.price_load = pgend_price_load_single;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = pgend_account_commit_edit;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = pgend_trans_commit_edit;
|
||||
be->be.trans_rollback_edit = NULL; /* no-op for single user */
|
||||
be->be.price_begin_edit = pgend_price_begin_edit;
|
||||
be->be.price_commit_edit = pgend_price_commit_edit;
|
||||
be->be.run_query = NULL;
|
||||
be->be.price_lookup = NULL;
|
||||
be->be.sync_all = pgendSync;
|
||||
be->be.sync_price = pgendSyncPriceDB;
|
||||
be->be.events_pending = NULL;
|
||||
be->be.process_events = NULL;
|
||||
be->be.book_load = pgend_book_load_single;
|
||||
be->be.price_load = pgend_price_load_single;
|
||||
be->be.book_transfer_begin = pgend_book_transfer_begin;
|
||||
be->be.book_transfer_commit = pgend_book_transfer_commit;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = pgend_account_commit_edit;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = pgend_trans_commit_edit;
|
||||
be->be.trans_rollback_edit = NULL; /* no-op for single user */
|
||||
be->be.price_begin_edit = pgend_price_begin_edit;
|
||||
be->be.price_commit_edit = pgend_price_commit_edit;
|
||||
be->be.run_query = NULL;
|
||||
be->be.price_lookup = NULL;
|
||||
be->be.sync_all = pgendSync;
|
||||
be->be.sync_group = NULL;
|
||||
be->be.sync_price = pgendSyncPriceDB;
|
||||
be->be.events_pending = NULL;
|
||||
be->be.process_events = NULL;
|
||||
PWARN ("mode=single-update is final beta -- \n"
|
||||
"we've fixed all known bugs but that doesn't mean\n"
|
||||
"there aren't any! We think it's safe to use.\n");
|
||||
@ -1940,21 +1946,24 @@ pgend_session_begin (Backend *backend,
|
||||
|
||||
case MODE_POLL:
|
||||
pgendEnable(be);
|
||||
be->be.book_load = pgend_book_load_poll;
|
||||
be->be.price_load = NULL;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = pgend_account_commit_edit;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = pgend_trans_commit_edit;
|
||||
be->be.trans_rollback_edit = pgend_trans_rollback_edit;
|
||||
be->be.price_begin_edit = pgend_price_begin_edit;
|
||||
be->be.price_commit_edit = pgend_price_commit_edit;
|
||||
be->be.run_query = pgendRunQuery;
|
||||
be->be.price_lookup = pgendPriceLookup;
|
||||
be->be.sync_all = pgendSync;
|
||||
be->be.sync_price = pgendSyncPriceDB;
|
||||
be->be.events_pending = NULL;
|
||||
be->be.process_events = NULL;
|
||||
be->be.book_load = pgend_book_load_poll;
|
||||
be->be.price_load = NULL;
|
||||
be->be.book_transfer_begin = pgend_book_transfer_begin;
|
||||
be->be.book_transfer_commit = pgend_book_transfer_commit;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = pgend_account_commit_edit;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = pgend_trans_commit_edit;
|
||||
be->be.trans_rollback_edit = pgend_trans_rollback_edit;
|
||||
be->be.price_begin_edit = pgend_price_begin_edit;
|
||||
be->be.price_commit_edit = pgend_price_commit_edit;
|
||||
be->be.run_query = pgendRunQuery;
|
||||
be->be.price_lookup = pgendPriceLookup;
|
||||
be->be.sync_all = pgendSync;
|
||||
be->be.sync_group = NULL;
|
||||
be->be.sync_price = pgendSyncPriceDB;
|
||||
be->be.events_pending = NULL;
|
||||
be->be.process_events = NULL;
|
||||
|
||||
PWARN ("mode=multi-user-poll is beta -- \n"
|
||||
"we've fixed all known bugs but that doesn't mean\n"
|
||||
@ -1967,21 +1976,24 @@ pgend_session_begin (Backend *backend,
|
||||
pgendSessionGetPid (be);
|
||||
pgendSessionSetupNotifies (be);
|
||||
|
||||
be->be.book_load = pgend_book_load_poll;
|
||||
be->be.price_load = NULL;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = pgend_account_commit_edit;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = pgend_trans_commit_edit;
|
||||
be->be.trans_rollback_edit = pgend_trans_rollback_edit;
|
||||
be->be.price_begin_edit = pgend_price_begin_edit;
|
||||
be->be.price_commit_edit = pgend_price_commit_edit;
|
||||
be->be.run_query = pgendRunQuery;
|
||||
be->be.price_lookup = pgendPriceLookup;
|
||||
be->be.sync_all = pgendSync;
|
||||
be->be.sync_price = pgendSyncPriceDB;
|
||||
be->be.events_pending = pgendEventsPending;
|
||||
be->be.process_events = pgendProcessEvents;
|
||||
be->be.book_load = pgend_book_load_poll;
|
||||
be->be.price_load = NULL;
|
||||
be->be.book_transfer_begin = pgend_book_transfer_begin;
|
||||
be->be.book_transfer_commit = pgend_book_transfer_commit;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = pgend_account_commit_edit;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = pgend_trans_commit_edit;
|
||||
be->be.trans_rollback_edit = pgend_trans_rollback_edit;
|
||||
be->be.price_begin_edit = pgend_price_begin_edit;
|
||||
be->be.price_commit_edit = pgend_price_commit_edit;
|
||||
be->be.run_query = pgendRunQuery;
|
||||
be->be.price_lookup = pgendPriceLookup;
|
||||
be->be.sync_all = pgendSync;
|
||||
be->be.sync_group = NULL;
|
||||
be->be.sync_price = pgendSyncPriceDB;
|
||||
be->be.events_pending = pgendEventsPending;
|
||||
be->be.process_events = pgendProcessEvents;
|
||||
|
||||
PWARN ("mode=multi-user is beta -- \n"
|
||||
"we've fixed all known bugs but that doesn't mean\n"
|
||||
@ -2013,33 +2025,47 @@ pgendDisable (PGBackend *be)
|
||||
if (1 < be->nest_count) return;
|
||||
|
||||
/* save hooks */
|
||||
be->snr.account_begin_edit = be->be.account_begin_edit;
|
||||
be->snr.account_commit_edit = be->be.account_commit_edit;
|
||||
be->snr.trans_begin_edit = be->be.trans_begin_edit;
|
||||
be->snr.trans_commit_edit = be->be.trans_commit_edit;
|
||||
be->snr.trans_rollback_edit = be->be.trans_rollback_edit;
|
||||
be->snr.price_begin_edit = be->be.price_begin_edit;
|
||||
be->snr.price_commit_edit = be->be.price_commit_edit;
|
||||
be->snr.run_query = be->be.run_query;
|
||||
be->snr.price_lookup = be->be.price_lookup;
|
||||
be->snr.sync_all = be->be.sync_all;
|
||||
be->snr.sync_price = be->be.sync_price;
|
||||
be->snr.events_pending = be->be.events_pending;
|
||||
be->snr.process_events = be->be.process_events;
|
||||
be->snr.book_load = be->be.book_load;
|
||||
be->snr.price_load = be->be.price_load;
|
||||
be->snr.session_end = be->be.session_end;
|
||||
be->snr.destroy_backend = be->be.destroy_backend;
|
||||
be->snr.book_transfer_begin = be->be.book_transfer_begin;
|
||||
be->snr.book_transfer_commit = be->be.book_transfer_commit;
|
||||
be->snr.account_begin_edit = be->be.account_begin_edit;
|
||||
be->snr.account_commit_edit = be->be.account_commit_edit;
|
||||
be->snr.trans_begin_edit = be->be.trans_begin_edit;
|
||||
be->snr.trans_commit_edit = be->be.trans_commit_edit;
|
||||
be->snr.trans_rollback_edit = be->be.trans_rollback_edit;
|
||||
be->snr.price_begin_edit = be->be.price_begin_edit;
|
||||
be->snr.price_commit_edit = be->be.price_commit_edit;
|
||||
be->snr.run_query = be->be.run_query;
|
||||
be->snr.price_lookup = be->be.price_lookup;
|
||||
be->snr.sync_all = be->be.sync_all;
|
||||
be->snr.sync_group = be->be.sync_group;
|
||||
be->snr.sync_price = be->be.sync_price;
|
||||
be->snr.events_pending = be->be.events_pending;
|
||||
be->snr.process_events = be->be.process_events;
|
||||
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = NULL;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = NULL;
|
||||
be->be.trans_rollback_edit = NULL;
|
||||
be->be.price_begin_edit = NULL;
|
||||
be->be.price_commit_edit = NULL;
|
||||
be->be.run_query = NULL;
|
||||
be->be.price_lookup = NULL;
|
||||
be->be.sync_all = NULL;
|
||||
be->be.sync_price = NULL;
|
||||
be->be.events_pending = NULL;
|
||||
be->be.process_events = NULL;
|
||||
be->be.book_load = NULL;
|
||||
be->be.price_load = NULL;
|
||||
be->be.session_end = NULL;
|
||||
be->be.destroy_backend = NULL;
|
||||
be->be.book_transfer_begin = NULL;
|
||||
be->be.book_transfer_commit = NULL;
|
||||
be->be.account_begin_edit = NULL;
|
||||
be->be.account_commit_edit = NULL;
|
||||
be->be.trans_begin_edit = NULL;
|
||||
be->be.trans_commit_edit = NULL;
|
||||
be->be.trans_rollback_edit = NULL;
|
||||
be->be.price_begin_edit = NULL;
|
||||
be->be.price_commit_edit = NULL;
|
||||
be->be.run_query = NULL;
|
||||
be->be.price_lookup = NULL;
|
||||
be->be.sync_all = NULL;
|
||||
be->be.sync_group = NULL;
|
||||
be->be.sync_price = NULL;
|
||||
be->be.events_pending = NULL;
|
||||
be->be.process_events = NULL;
|
||||
}
|
||||
|
||||
/* ============================================================= */
|
||||
@ -2056,19 +2082,26 @@ pgendEnable (PGBackend *be)
|
||||
if (be->nest_count) return;
|
||||
|
||||
/* restore hooks */
|
||||
be->be.account_begin_edit = be->snr.account_begin_edit;
|
||||
be->be.account_commit_edit = be->snr.account_commit_edit;
|
||||
be->be.trans_begin_edit = be->snr.trans_begin_edit;
|
||||
be->be.trans_commit_edit = be->snr.trans_commit_edit;
|
||||
be->be.trans_rollback_edit = be->snr.trans_rollback_edit;
|
||||
be->be.price_begin_edit = be->snr.price_begin_edit;
|
||||
be->be.price_commit_edit = be->snr.price_commit_edit;
|
||||
be->be.run_query = be->snr.run_query;
|
||||
be->be.price_lookup = be->snr.price_lookup;
|
||||
be->be.sync_all = be->snr.sync_all;
|
||||
be->be.sync_price = be->snr.sync_price;
|
||||
be->be.events_pending = be->snr.events_pending;
|
||||
be->be.process_events = be->snr.process_events;
|
||||
be->be.book_load = be->snr.book_load;
|
||||
be->be.price_load = be->snr.price_load;
|
||||
be->be.session_end = be->snr.session_end;
|
||||
be->be.destroy_backend = be->snr.destroy_backend;
|
||||
be->be.book_transfer_begin = be->snr.book_transfer_begin;
|
||||
be->be.book_transfer_commit = be->snr.book_transfer_commit;
|
||||
be->be.account_begin_edit = be->snr.account_begin_edit;
|
||||
be->be.account_commit_edit = be->snr.account_commit_edit;
|
||||
be->be.trans_begin_edit = be->snr.trans_begin_edit;
|
||||
be->be.trans_commit_edit = be->snr.trans_commit_edit;
|
||||
be->be.trans_rollback_edit = be->snr.trans_rollback_edit;
|
||||
be->be.price_begin_edit = be->snr.price_begin_edit;
|
||||
be->be.price_commit_edit = be->snr.price_commit_edit;
|
||||
be->be.run_query = be->snr.run_query;
|
||||
be->be.price_lookup = be->snr.price_lookup;
|
||||
be->be.sync_all = be->snr.sync_all;
|
||||
be->be.sync_group = be->snr.sync_group;
|
||||
be->be.sync_price = be->snr.sync_price;
|
||||
be->be.events_pending = be->snr.events_pending;
|
||||
be->be.process_events = be->snr.process_events;
|
||||
}
|
||||
|
||||
/* ============================================================= */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/********************************************************************\
|
||||
* book.c -- implements book handling for postgres backend *
|
||||
* Copyright (c) 2000, 2001 Linas Vepstas *
|
||||
* Copyright (c) 2000, 2001, 2002 Linas Vepstas <linas@linas.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
@ -176,4 +176,28 @@ pgendGetBook (PGBackend *be, GNCBook *book)
|
||||
LEAVE (" ");
|
||||
}
|
||||
|
||||
/* ============================================================= */
|
||||
|
||||
void
|
||||
pgend_book_transfer_begin(Backend *bend, GNCBook *newbook)
|
||||
{
|
||||
PGBackend *be = (PGBackend *) bend;
|
||||
|
||||
ENTER (" ");
|
||||
|
||||
/* first, store the new book */
|
||||
pgendStoreBook (be, newbook);
|
||||
|
||||
LEAVE (" ");
|
||||
}
|
||||
|
||||
void
|
||||
pgend_book_transfer_commit(Backend *bend, GNCBook *newbook)
|
||||
{
|
||||
PGBackend *be = (PGBackend *) bend;
|
||||
ENTER (" ");
|
||||
|
||||
LEAVE (" ");
|
||||
}
|
||||
|
||||
/* ======================== END OF FILE ======================== */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/********************************************************************\
|
||||
* book.h -- implements books for the postgres backend *
|
||||
* Copyright (c) 2000, 2001 Linas Vepstas *
|
||||
* Copyright (c) 2000, 2001 Linas Vepstas <linas@linas.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
@ -33,4 +33,7 @@ void pgendGetBook (PGBackend *be, GNCBook *book);
|
||||
void pgendStoreBookNoLock (PGBackend *be, GNCBook *book, int do_check_version);
|
||||
void pgendStoreBook (PGBackend *be, GNCBook *book);
|
||||
|
||||
void pgend_book_transfer_begin (Backend *, GNCBook*);
|
||||
void pgend_book_transfer_commit (Backend *, GNCBook*);
|
||||
|
||||
#endif /* POSTGRES_BOOK_H */
|
||||
|
@ -41,14 +41,15 @@ CREATE TABLE gncCommodity (
|
||||
namespace TEXT NOT NULL,
|
||||
mnemonic TEXT NOT NULL,
|
||||
code TEXT,
|
||||
fraction INT DEFAULT '100'
|
||||
fraction INT DEFAULT '100',
|
||||
bookGuid CHAR(32) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE gncBook (
|
||||
bookGuid CHAR(32) PRIMARY KEY,
|
||||
book_open CHAR DEFAULT 'n',
|
||||
version INT4 NOT NULL,
|
||||
iguid INT4 UNIQUE DEFAULT nextval('gnc_iguid_seq')
|
||||
iguid INT4 DEFAULT 0
|
||||
);
|
||||
|
||||
-- Account structure -- parentGUID points to parent account
|
||||
@ -136,7 +137,8 @@ CREATE TABLE gncPrice (
|
||||
type TEXT,
|
||||
valueNum INT8 DEFAULT '0',
|
||||
valueDenom INT4 DEFAULT '100',
|
||||
version INT4 NOT NULL
|
||||
version INT4 NOT NULL,
|
||||
bookGuid CHAR(32) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
@ -295,6 +295,10 @@ add_multiple_book_support (PGBackend *be)
|
||||
|
||||
p = "LOCK TABLE gncAccount IN ACCESS EXCLUSIVE MODE;\n"
|
||||
"LOCK TABLE gncAccountTrail IN ACCESS EXCLUSIVE MODE;\n"
|
||||
"LOCK TABLE gncCommodity IN ACCESS EXCLUSIVE MODE;\n"
|
||||
"LOCK TABLE gncCommodityTrail IN ACCESS EXCLUSIVE MODE;\n"
|
||||
"LOCK TABLE gncPrice IN ACCESS EXCLUSIVE MODE;\n"
|
||||
"LOCK TABLE gncPriceTrail IN ACCESS EXCLUSIVE MODE;\n"
|
||||
"LOCK TABLE gncVersion IN ACCESS EXCLUSIVE MODE;\n"
|
||||
"INSERT INTO gncVersion (major,minor,rev,name) VALUES \n"
|
||||
" (1,4,0,'Start Add multiple book support');";
|
||||
@ -321,29 +325,50 @@ add_multiple_book_support (PGBackend *be)
|
||||
FINISH_QUERY(be->connection);
|
||||
|
||||
p = "ALTER TABLE gncAccount ADD COLUMN bookGuid CHAR(32) NOT NULL;\n"
|
||||
"ALTER TABLE gncAccountTrail ADD COLUMN bookGuid CHAR(32) NOT NULL;\n";
|
||||
"ALTER TABLE gncAccountTrail ADD COLUMN bookGuid CHAR(32) NOT NULL;\n"
|
||||
"ALTER TABLE gncCommodity ADD COLUMN bookGuid CHAR(32) NOT NULL;\n"
|
||||
"ALTER TABLE gncCommodityTrail ADD COLUMN bookGuid CHAR(32) NOT NULL;\n"
|
||||
"ALTER TABLE gncPrice ADD COLUMN bookGuid CHAR(32) NOT NULL;\n"
|
||||
"ALTER TABLE gncPriceTrail ADD COLUMN bookGuid CHAR(32) NOT NULL;\n";
|
||||
SEND_QUERY (be,p, );
|
||||
FINISH_QUERY(be->connection);
|
||||
|
||||
p = buff;
|
||||
p = stpcpy (p, "UPDATE gncAccount SET bookGuid = '");
|
||||
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
|
||||
p = stpcpy (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 = stpcpy (p, "';\n");
|
||||
SEND_QUERY (be,buff, );
|
||||
FINISH_QUERY(be->connection);
|
||||
|
||||
p = buff;
|
||||
p = stpcpy (p, "UPDATE gncAccountTrail SET bookGuid = '");
|
||||
p = stpcpy (p, "UPDATE gncPrice SET bookGuid = '");
|
||||
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
|
||||
p = stpcpy (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 = stpcpy (p, "';\n");
|
||||
SEND_QUERY (be,buff, );
|
||||
FINISH_QUERY(be->connection);
|
||||
|
||||
p = buff;
|
||||
p = stpcpy (p, "UPDATE gncCommodity SET bookGuid = '");
|
||||
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
|
||||
p = stpcpy (p, "';\n");
|
||||
p = stpcpy (p, "UPDATE gncCommodityTrail SET bookGuid = '");
|
||||
p = guid_to_string_buff (gnc_book_get_guid (be->book), p);
|
||||
p = stpcpy (p, "';\n");
|
||||
SEND_QUERY (be,buff, );
|
||||
FINISH_QUERY(be->connection);
|
||||
|
||||
|
||||
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 = stpcpy (p, "', 'y', 1, nextval('gnc_iguid_seq') );");
|
||||
p = stpcpy (p, "', 'y', 1, 0);");
|
||||
SEND_QUERY (be,buff, );
|
||||
FINISH_QUERY(be->connection);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user