From 8338cc03a8915e28024981d09193612ec4a83819 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Fri, 3 May 2002 04:11:08 +0000 Subject: [PATCH] Remove the last traces of datatypes datetime and timespan. --- contrib/oracle/Ora2Pg.pm | 4 ++-- contrib/spi/moddatetime.example | 2 +- contrib/spi/refint.c | 2 +- contrib/spi/timetravel.example | 2 +- contrib/tips/README.apachelog | 2 +- doc/src/sgml/datatype.sgml | 18 ++---------------- doc/src/sgml/plsql.sgml | 4 ++-- doc/src/sgml/release.sgml | 3 ++- src/backend/catalog/heap.c | 4 ++-- src/interfaces/python/pgdb.py | 2 +- 10 files changed, 15 insertions(+), 28 deletions(-) diff --git a/contrib/oracle/Ora2Pg.pm b/contrib/oracle/Ora2Pg.pm index fa42430c32f..e2dabfc75b8 100644 --- a/contrib/oracle/Ora2Pg.pm +++ b/contrib/oracle/Ora2Pg.pm @@ -1290,8 +1290,8 @@ sub _sql_type 'VARCHAR2' => 'varchar', 'NVARCHAR2' => 'varchar', # The DATE data type is used to store the date and time information. - # Pg type datetime should match all needs - 'DATE' => 'datetime', + # Pg type timestamp should match all needs + 'DATE' => 'timestamp', # Type LONG is like VARCHAR2 but with up to 2Gb. # PG type text should match all needs or if you want you could use blob 'LONG' => 'text', # Character data of variable length diff --git a/contrib/spi/moddatetime.example b/contrib/spi/moddatetime.example index 25a54e3a335..e4a713c12a1 100644 --- a/contrib/spi/moddatetime.example +++ b/contrib/spi/moddatetime.example @@ -3,7 +3,7 @@ DROP TABLE mdt; CREATE TABLE mdt ( id int4, idesc text, - moddate datetime DEFAULT datetime(CURRENT_TIMESTAMP) NOT NULL + moddate timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL ); CREATE TRIGGER mdt_moddatetime diff --git a/contrib/spi/refint.c b/contrib/spi/refint.c index 82a07871fb8..55c0fd13e68 100644 --- a/contrib/spi/refint.c +++ b/contrib/spi/refint.c @@ -450,7 +450,7 @@ check_foreign_key(PG_FUNCTION_ARGS) if ((strcmp(type, "text") && strcmp(type, "varchar") && strcmp(type, "char") && strcmp(type, "bpchar") && - strcmp(type, "date") && strcmp(type, "datetime")) == 0) + strcmp(type, "date") && strcmp(type, "timestamp")) == 0) is_char_type = 1; #ifdef DEBUG_QUERY elog(DEBUG3, "Check_foreign_key Debug value %s type %s %d", diff --git a/contrib/spi/timetravel.example b/contrib/spi/timetravel.example index fa76c250176..4244bed19f5 100644 --- a/contrib/spi/timetravel.example +++ b/contrib/spi/timetravel.example @@ -18,7 +18,7 @@ insert into tttest(price_id, price_val) values (2, 2); insert into tttest(price_id, price_val,price_off) values (3, 3, 'infinity'); insert into tttest(price_id, price_val,price_off) values (3, 3, - datetime_abstime(datetime_mi_span('now', '100'))); + abstime('now'::timestamp - '100 days'::interval)); insert into tttest(price_id, price_val,price_on) values (3, 3, 'infinity'); select * from tttest; diff --git a/contrib/tips/README.apachelog b/contrib/tips/README.apachelog index 8e9096241ea..964c6ec1a3a 100644 --- a/contrib/tips/README.apachelog +++ b/contrib/tips/README.apachelog @@ -69,7 +69,7 @@ not as a finished idea. --- apachelog.sql : --- drop table access; -CREATE TABLE access (host char(200), ident char(200), authuser char(200), accdate datetime, request char(500), ttime int2, status int2, bytes int4) archive = none; +CREATE TABLE access (host char(200), ident char(200), authuser char(200), accdate timestamp, request char(500), ttime int2, status int2, bytes int4) archive = none; grant all on access to nobody; --- httpconf.txt: --- diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index 45a13a5d301..75ab4b8864b 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.91 2002/04/25 20:14:43 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.92 2002/05/03 04:11:07 tgl Exp $ --> <chapter id="datatype"> @@ -1340,24 +1340,10 @@ SELECT b, char_length(b) FROM test2; outside that range are in <acronym>UTC</acronym>. </para> - <para> - To ensure an upgrade path from versions of - <productname>PostgreSQL</productname> earlier than 7.0, - we recognize <type>datetime</type> - (equivalent to <type>timestamp</type>) and - <type>timespan</type> (equivalent to <type>interval</type>). - These types are - now restricted to having an - implicit translation to <type>timestamp</type> and - <type>interval</type>, and - support for these will be removed in the next release of - <productname>PostgreSQL</productname> (likely named 7.3). - </para> - <para> The types <type>abstime</type> and <type>reltime</type> are lower precision types which are used internally. - You are discouraged from using any of these types in new + You are discouraged from using these types in new applications and are encouraged to move any old ones over when appropriate. Any or all of these internal types might disappear in a future release. diff --git a/doc/src/sgml/plsql.sgml b/doc/src/sgml/plsql.sgml index aa643a26b24..b360e91f5c7 100644 --- a/doc/src/sgml/plsql.sgml +++ b/doc/src/sgml/plsql.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/Attic/plsql.sgml,v 2.57 2002/04/09 03:08:25 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/Attic/plsql.sgml,v 2.58 2002/05/03 04:11:07 tgl Exp $ --> <chapter id="plpgsql"> @@ -2744,7 +2744,7 @@ show errors package would become something like this: <programlisting> -CREATE FUNCTION acs__add_user(INTEGER,INTEGER,VARCHAR,DATETIME,INTEGER,INTEGER,...) +CREATE FUNCTION acs__add_user(INTEGER,INTEGER,VARCHAR,TIMESTAMP,INTEGER,INTEGER,...) RETURNS INTEGER AS ' DECLARE user_id ALIAS FOR $1; diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 0fe78be9943..72157ff271b 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.133 2002/04/18 20:01:08 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.134 2002/05/03 04:11:07 tgl Exp $ --> <appendix id="release"> @@ -24,6 +24,7 @@ CDATA means the content is "SGML-free", so you can write without worries about funny characters. --> <literallayout><![CDATA[ +The last vestiges of support for type names datetime and timespan are gone; use timestamp and interval instead Rule names are now per-relation, not global; DROP RULE and COMMENT ON RULE syntax changes accordingly Readline and Zlib are now required by default and must be turned off explicitly if their use is not desired Define a third class of function volatility to allow indexscans in more cases diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index c6e097ede58..e0301094d16 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.197 2002/04/27 21:24:33 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.198 2002/05/03 04:11:08 tgl Exp $ * * * INTERFACE ROUTINES @@ -1777,7 +1777,7 @@ cookDefault(ParseState *pstate, * column's type. We store the expression without coercion, * however, to avoid premature coercion in cases like * - * CREATE TABLE tbl (fld datetime DEFAULT 'now'::text); + * CREATE TABLE tbl (fld timestamp DEFAULT 'now'::text); * * NB: this should match the code in optimizer/prep/preptlist.c that * will actually do the coercion, to ensure we don't accept an diff --git a/src/interfaces/python/pgdb.py b/src/interfaces/python/pgdb.py index c9a8e47b895..7c6b89dfc30 100644 --- a/src/interfaces/python/pgdb.py +++ b/src/interfaces/python/pgdb.py @@ -415,7 +415,7 @@ MONEY = pgdbType('money') # this may be problematic as type are quite different ... I hope it won't hurt DATETIME = pgdbType( - 'abstime', 'reltime', 'tinterval', 'date', 'time', 'timespan', 'timestamp' + 'abstime', 'reltime', 'tinterval', 'date', 'time', 'timespan', 'timestamp', 'timestamptz', 'interval' ) # OIDs are used for everything (types, tables, BLOBs, rows, ...). This may cause -- GitLab