PG backend TIMESTAMP patch
Matthew Vanecek
mevanecek@yahoo.com
30 Dec 2002 10:59:11 -0600
--=-j7MXwAtOmsmS4CjH32+5
Content-Type: multipart/mixed; boundary="=-0lS1VC9ZDtdpFPEz7EAf"
--=-0lS1VC9ZDtdpFPEz7EAf
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Can someone apply the attached patch, please? It changes all the
DATETIME to TIMESTAMP in the Postgresql backend DDL. DATETIME will no
longer be supported as of Postgresql 7.3, and is already mapped to
TIMESTAMP in 7.1/7.2.
Thanks,
--=20
Matthew Vanecek
perl -e 'print $i=3Dpack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
***************************************************************************=
*****
For 93 million miles, there is nothing between the sun and my shadow except=
me.
I'm always getting in the way of something...
--=-0lS1VC9ZDtdpFPEz7EAf
Content-Type: application/DEFANGED-12416; name="pg_diff.DEFANGED-12416"; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="pg_diff.DEFANGED-12416"
? make.out
Index: ChangeLog
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1322
diff -u -r1.1322 ChangeLog
--- ChangeLog 30 Dec 2002 01:20:34 -0000 1.1322
+++ ChangeLog 30 Dec 2002 16:50:14 -0000
@@ -1,3 +1,20 @@
+2002-12-30 Matthew Vanecek <mevanecek@yahoo.com>
+ * src/backend/postgres/PostgresBackend.c: Added some ENTER
+ and LEAVE statements to more of the functions.
+
+ * src/backend/postgres/upgrade.c: Changed all the DATETIME
+ SQL data types to TIMESTAMP. DATETIME will not be in Postgresql
+ as of 7.3.
+=09
+ * src/backend/postgres/functions.sql: Changed all the DATETIME
+ types in the DDL to TIMESTAMP.
+
+ * src/backend/postgres/table-create.sql: Changed all the DATETIME
+ types in the DDL to TIMESTAMP.
+
+ * src/backend/postgres/table-audit.sql: Changed all the DATETIME
+ types in the DDL to TIMESTAMP.
+
2002-12-30 Christian Stimming <stimming@tuhh.de>
=20
* src/business/business-gnome/dialog-invoice.c
Index: src/backend/postgres/PostgresBackend.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/PostgresBackend.c,v
retrieving revision 1.39
diff -u -r1.39 PostgresBackend.c
--- src/backend/postgres/PostgresBackend.c 24 Nov 2002 01:16:28 -0000 1.39
+++ src/backend/postgres/PostgresBackend.c 30 Dec 2002 16:50:25 -0000
@@ -148,13 +148,15 @@
GList *node;
Account * acc =3D NULL;
=20
+ ENTER("guid =3D %s", acct_guid);
for (node=3Dbe->blist; node; node=3Dnode->next)
{
GNCBook *book =3D node->data;
acc =3D xaccAccountLookup (acct_guid, book);
- if (acc) return acc;
+ if (acc) { LEAVE("acc =3D %p", acc); return acc; }
}
=20
+ LEAVE("acc =3D (null)");
return NULL;
}
=20
@@ -164,13 +166,15 @@
GList *node;
Transaction * txn =3D NULL;
=20
+ ENTER("guid =3D %s", txn_guid);
for (node=3Dbe->blist; node; node=3Dnode->next)
{
GNCBook *book =3D node->data;
txn =3D xaccTransLookup (txn_guid, book);
- if (txn) return txn;
+ if (txn) { LEAVE("txt =3D %p", txn); return txn; }
}
=20
+ LEAVE("txn =3D (null");
return NULL;
}
=20
@@ -180,13 +184,15 @@
GList *node;
Split * split =3D NULL;
=20
+ ENTER("guid =3D %s", split_guid);
for (node=3Dbe->blist; node; node=3Dnode->next)
{
GNCBook *book =3D node->data;
split =3D xaccSplitLookup (split_guid, book);
- if (split) return split;
+ if (split) { LEAVE("split =3D %p", split); return split; }
}
=20
+ LEAVE("split =3D (null)");
return NULL;
}
=20
@@ -196,11 +202,12 @@
GList *node;
GNCPrice * price =3D NULL;
=20
+ ENTER("guid =3D %s", price_guid);
for (node=3Dbe->blist; node; node=3Dnode->next)
{
GNCBook *book =3D node->data;
price =3D gnc_price_lookup (price_guid, book);
- if (price) return price;
+ if (price) { LEAVE("price =3D %p", price); return price; }
}
=20
return NULL;
@@ -212,13 +219,15 @@
GList *node;
GNCIdType tip =3D GNC_ID_NONE;
=20
+ ENTER("guid =3D %s", guid);
for (node=3Dbe->blist; node; node=3Dnode->next)
{
GNCBook *book =3D node->data;
tip =3D xaccGUIDType (guid, book);
- if (GNC_ID_NONE !=3D tip) return tip;
+ if (GNC_ID_NONE !=3D tip) { LEAVE("tip =3D %s", tip); return tip; }
}
=20
+ LEAVE("tip =3D NULL");
return GNC_ID_NONE;
}
=20
@@ -2420,6 +2429,8 @@
int i;
Timespec ts;
=20
+ ENTER(" ");
+=20=20=20
/* initialize global variable */
nullguid =3D *(xaccGUIDNULL());
=20
@@ -2482,6 +2493,7 @@
be->session =3D NULL;
be->book =3D NULL;
be->blist =3D NULL;
+ LEAVE(" ");
}
=20
/* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */
@@ -2491,9 +2503,11 @@
{
PGBackend *be;
=20
+ ENTER(" ");
be =3D g_new0 (PGBackend, 1);
pgendInit (be);
=20
+ LEAVE(" ")
return (Backend *) be;
}
=20
Index: src/backend/postgres/functions.sql
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/functions.sql,v
retrieving revision 1.2
diff -u -r1.2 functions.sql
--- src/backend/postgres/functions.sql 7 Nov 2001 10:06:03 -0000 1.2
+++ src/backend/postgres/functions.sql 30 Dec 2002 16:50:25 -0000
@@ -12,7 +12,7 @@
=20
-- utility functions to compute checkpoint balance subtotals
=20
-CREATE FUNCTION gncSubtotalBalance (CHAR(32), DATETIME, DATETIME)
+CREATE FUNCTION gncSubtotalBalance (CHAR(32), TIMESTAMP, TIMESTAMP)
RETURNS INT8
AS 'SELECT INT8(sum(gncEntry.amount))
FROM gncEntry, gncTransaction
@@ -22,7 +22,7 @@
gncTransaction.date_posted BETWEEN $2 AND $3'
LANGUAGE 'sql';
=20
-CREATE FUNCTION gncSubtotalClearedBalance (CHAR(32), DATETIME, DATETIME)
+CREATE FUNCTION gncSubtotalClearedBalance (CHAR(32), TIMESTAMP, TIMESTAMP)
RETURNS INT8
AS 'SELECT INT8(sum(gncEntry.amount))
FROM gncEntry, gncTransaction
@@ -33,7 +33,7 @@
gncEntry.reconciled <> \\'n\\''
LANGUAGE 'sql';
=20
-CREATE FUNCTION gncSubtotalReconedBalance (CHAR(32), DATETIME, DATETIME)
+CREATE FUNCTION gncSubtotalReconedBalance (CHAR(32), TIMESTAMP, TIMESTAMP)
RETURNS INT8
AS 'SELECT INT8(sum(gncEntry.amount))
FROM gncEntry, gncTransaction
Index: src/backend/postgres/table-audit.sql
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/table-audit.sql,v
retrieving revision 1.7
diff -u -r1.7 table-audit.sql
--- src/backend/postgres/table-audit.sql 2 Jan 2002 06:35:25 -0000 1.7
+++ src/backend/postgres/table-audit.sql 30 Dec 2002 16:50:25 -0000
@@ -29,7 +29,7 @@
=20
CREATE TABLE gncAuditTrail (
sessionGuid CHAR(32) NOT NULL, -- who changed it
- date_changed DATETIME, -- when they changed it
+ date_changed TIMESTAMP, -- when they changed it
change CHAR NOT NULL,
objtype CHAR NOT NULL
);
@@ -78,7 +78,7 @@
memo TEXT,
action TEXT,
reconciled CHAR DEFAULT 'n',
- date_reconciled DATETIME,
+ date_reconciled TIMESTAMP,
amount INT8 DEFAULT '0',
value INT8 DEFAULT '0',
iguid INT4 DEFAULT 0
@@ -90,7 +90,7 @@
priceGuid CHAR(32) NOT NULL, -- override, not a primary key anymore
commodity TEXT NOT NULL CHECK (commodity <>''),
currency TEXT NOT NULL CHECK (commodity <>''),
- time DATETIME,
+ time TIMESTAMP,
source TEXT,
type TEXT,
valueNum INT8 DEFAULT '0',
@@ -103,9 +103,9 @@
=20
CREATE TABLE gncTransactionTrail (
transGuid CHAR(32) NOT NULL, -- override, not a primary key anymore
- last_modified DATETIME DEFAULT 'NOW',
- date_entered DATETIME,
- date_posted DATETIME,
+ last_modified TIMESTAMP DEFAULT 'NOW',
+ date_entered TIMESTAMP,
+ date_posted TIMESTAMP,
num TEXT,
description TEXT,
currency TEXT NOT NULL CHECK (currency <> ''),
@@ -161,7 +161,7 @@
iguid INT4,
ipath INT4,
type char(4),
- data DATETIME
+ data TIMESTAMP
) INHERITS (gncAuditTrail);
=20
CREATE TABLE gncKVPvalue_listTrail (
Index: src/backend/postgres/table-create.sql
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/table-create.sql,v
retrieving revision 1.7
diff -u -r1.7 table-create.sql
--- src/backend/postgres/table-create.sql 2 Jan 2002 06:35:26 -0000 1.7
+++ src/backend/postgres/table-create.sql 30 Dec 2002 16:50:25 -0000
@@ -27,7 +27,7 @@
minor INT NOT NULL,
rev INT DEFAULT '0',
name TEXT UNIQUE NOT NULL CHECK (name <> ''),
- date DATETIME DEFAULT 'NOW'
+ date TIMESTAMP DEFAULT 'NOW'
);
=20
-- Commodity structure
@@ -72,9 +72,9 @@
=20
CREATE TABLE gncTransaction (
transGuid CHAR(32) PRIMARY KEY,
- last_modified DATETIME DEFAULT 'NOW',
- date_entered DATETIME,
- date_posted DATETIME,
+ last_modified TIMESTAMP DEFAULT 'NOW',
+ date_entered TIMESTAMP,
+ date_posted TIMESTAMP,
num TEXT,
description TEXT,
currency TEXT NOT NULL CHECK (currency <> ''),
@@ -94,7 +94,7 @@
memo TEXT,
action TEXT,
reconciled CHAR DEFAULT 'n',
- date_reconciled DATETIME,
+ date_reconciled TIMESTAMP,
amount INT8 DEFAULT '0',
value INT8 DEFAULT '0',
iguid INT4 DEFAULT 0
@@ -114,8 +114,8 @@
=20
CREATE TABLE gncCheckpoint (
accountGuid CHAR(32) NOT NULL,
- date_start DATETIME NOT NULL,
- date_end DATETIME NOT NULL,
+ date_start TIMESTAMP NOT NULL,
+ date_end TIMESTAMP NOT NULL,
commodity TEXT NOT NULL CHECK (commodity <>''),
type TEXT DEFAULT 'simple',
balance INT8 DEFAULT '0',
@@ -131,7 +131,7 @@
priceGuid CHAR(32) PRIMARY KEY,
commodity TEXT NOT NULL CHECK (commodity <>''),
currency TEXT NOT NULL CHECK (commodity <>''),
- time DATETIME,
+ time TIMESTAMP,
source TEXT,
type TEXT,
valueNum INT8 DEFAULT '0',
@@ -157,8 +157,8 @@
hostname TEXT,
login_name TEXT,
gecos TEXT,
- time_on DATETIME NOT NULL,
- time_off DATETIME NOT NULL DEFAULT 'INFINITY'
+ time_on TIMESTAMP NOT NULL,
+ time_off TIMESTAMP NOT NULL DEFAULT 'INFINITY'
);
=20
=20
@@ -230,7 +230,7 @@
-- CREATE INDEX gncKVPvalue_guid_iguid_idx ON gncKVPvalue_guid (iguid);
=20
CREATE TABLE gncKVPvalue_timespec (
- data DATETIME
+ data TIMESTAMP
-- PRIMARY KEY (iguid, ipath)
) INHERITS (gncKVPvalue);
=20
Index: src/backend/postgres/upgrade.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/cvsroot/gnucash/src/backend/postgres/upgrade.c,v
retrieving revision 1.10
diff -u -r1.10 upgrade.c
--- src/backend/postgres/upgrade.c 3 Jan 2002 10:04:01 -0000 1.10
+++ src/backend/postgres/upgrade.c 30 Dec 2002 16:50:25 -0000
@@ -71,7 +71,7 @@
" minor INT NOT NULL,\n"
" rev INT DEFAULT '0',\n"
" name TEXT UNIQUE NOT NULL CHECK (name <> ''),\n"
- " date DATETIME DEFAULT 'NOW' \n"
+ " date TIMESTAMP DEFAULT 'NOW' \n"
");\n"
"INSERT INTO gncVersion (major,minor,rev,name) VALUES \n"
" (1,0,0,'Version Table');";
@@ -227,12 +227,12 @@
FINISH_QUERY(be->connection);
=20
p =3D "DROP FUNCTION "
- "gncSubtotalReconedBalance (CHAR(32), DATETIME, DATETIME);";
+ "gncSubtotalReconedBalance (CHAR(32), TIMESTAMP, TIMESTAMP);";
SEND_QUERY (be,p, );
FINISH_QUERY(be->connection);
=20
p =3D "CREATE FUNCTION "
- "gncSubtotalReconedBalance (CHAR(32), DATETIME, DATETIME)"
+ "gncSubtotalReconedBalance (CHAR(32), TIMESTAMP, TIMESTAMP)"
"RETURNS INT8 "
"AS 'SELECT INT8(sum(gncEntry.amount)) "
"FROM gncEntry, gncTransaction "
@@ -266,7 +266,7 @@
FINISH_QUERY(be->connection);
=20
p =3D "CREATE TABLE gncKVPvalue_timespec ( "
- " data DATETIME "
+ " data TIMESTAMP "
") INHERITS (gncKVPvalue);";
SEND_QUERY (be,p, );
FINISH_QUERY(be->connection);
@@ -275,7 +275,7 @@
" iguid INT4, "
" ipath INT4, "
" type char(4), "
- " data DATETIME "
+ " data TIMESTAMP "
") INHERITS (gncAuditTrail);";
SEND_QUERY (be,p, );
FINISH_QUERY(be->connection);
--=-0lS1VC9ZDtdpFPEz7EAf--
--=-j7MXwAtOmsmS4CjH32+5
Content-Type: application/DEFANGED-12417; name="signature_asc.DEFANGED-12417"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQA+EHtfi/CNzDSN0RIRAhZrAJ4laSVcS5eTSN9Rui2S5LT9csugGgCglxJb
PRFeX8xeMxPHrCIcB8grdrg=
=q9H+
-----END PGP SIGNATURE-----
--=-j7MXwAtOmsmS4CjH32+5--