Обсуждение: pgsql: Remove deprecated abstime, reltime, tinterval datatypes.
Remove deprecated abstime, reltime, tinterval datatypes.
These types have been deprecated for a *long* time.
Catversion bump, for obvious reasons.
Author: Andres Freund
Discussion:
https://postgr.es/m/20181009192237.34wjp3nmw7oynmmr@alap3.anarazel.de
https://postgr.es/m/20171213080506.cwjkpcz3bkk6yz2u@alap3.anarazel.de
https://postgr.es/m/25615.1513115237@sss.pgh.pa.us
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/cda6a8d01d391eab45c4b3e0043a1b2b31072f5f
Modified Files
--------------
doc/src/sgml/brin.sgml | 22 -
doc/src/sgml/catalogs.sgml | 4 +-
doc/src/sgml/datatype.sgml | 8 -
doc/src/sgml/xfunc.sgml | 20 -
src/backend/access/hash/hashvalidate.c | 1 -
src/backend/catalog/system_views.sql | 2 +-
src/backend/utils/adt/Makefile | 2 +-
src/backend/utils/adt/date.c | 50 -
src/backend/utils/adt/formatting.c | 1 -
src/backend/utils/adt/nabstime.c | 1541 ----------------------------
src/backend/utils/adt/selfuncs.c | 17 -
src/bin/pg_dump/pg_dumpall.c | 2 +-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_aggregate.dat | 6 -
src/include/catalog/pg_amop.dat | 98 --
src/include/catalog/pg_amproc.dat | 45 -
src/include/catalog/pg_cast.dat | 26 -
src/include/catalog/pg_opclass.dat | 16 -
src/include/catalog/pg_operator.dat | 141 ---
src/include/catalog/pg_opfamily.dat | 14 -
src/include/catalog/pg_proc.dat | 198 ----
src/include/catalog/pg_type.dat | 15 -
src/include/utils/datetime.h | 2 +-
src/include/utils/nabstime.h | 103 --
src/interfaces/ecpg/ecpglib/execute.c | 6 -
src/test/regress/expected/abstime.out | 136 ---
src/test/regress/expected/alter_table.out | 30 +-
src/test/regress/expected/horology.out | 210 ----
src/test/regress/expected/opr_sanity.out | 34 +-
src/test/regress/expected/reltime.out | 109 --
src/test/regress/expected/rules.out | 2 +-
src/test/regress/expected/sanity_check.out | 3 -
src/test/regress/expected/tinterval.out | 172 ----
src/test/regress/parallel_schedule | 4 +-
src/test/regress/serial_schedule | 3 -
src/test/regress/sql/abstime.sql | 67 --
src/test/regress/sql/alter_table.sql | 24 +-
src/test/regress/sql/horology.sql | 62 --
src/test/regress/sql/opr_sanity.sql | 2 -
src/test/regress/sql/reltime.sql | 50 -
src/test/regress/sql/tinterval.sql | 97 --
41 files changed, 29 insertions(+), 3318 deletions(-)
On 10/11/2018 03:02 PM, Andres Freund wrote:
> Remove deprecated abstime, reltime, tinterval datatypes.
>
> These types have been deprecated for a *long* time.
This has broken pg_upgrade from previous versions:
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 212; 1259 16891
TABLE abstime_tbl buildfarm
pg_restore: [archiver (db)] could not execute query: ERROR: type
"abstime" does not exist
LINE 14: "f1" "abstime"
^
Command was:
-- For binary upgrade, must preserve pg_type oid
SELECT
pg_catalog.binary_upgrade_set_next_pg_type_oid('16893'::pg_catalog.oid);
-- For binary upgrade, must preserve pg_type array oid
SELECT
pg_catalog.binary_upgrade_set_next_array_pg_type_oid('16892'::pg_catalog.oid);
-- For binary upgrade, must preserve pg_class oids
SELECT
pg_catalog.binary_upgrade_set_next_heap_pg_class_oid('16891'::pg_catalog.oid);
CREATE TABLE "public"."abstime_tbl" (
"f1" "abstime"
);
-- For binary upgrade, set heap's relfrozenxid and relminmxid
UPDATE pg_catalog.pg_class
SET relfrozenxid = '2643', relminmxid = '1'
WHERE oid = '"public"."abstime_tbl"'::pg_catalog.regclass;
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On 2018-10-11 16:54:41 -0400, Andrew Dunstan wrote:
>
>
> On 10/11/2018 03:02 PM, Andres Freund wrote:
> > Remove deprecated abstime, reltime, tinterval datatypes.
> >
> > These types have been deprecated for a *long* time.
>
>
> This has broken pg_upgrade from previous versions:
>
> pg_restore: [archiver (db)] Error while PROCESSING TOC:
> pg_restore: [archiver (db)] Error from TOC entry 212; 1259 16891
> TABLE abstime_tbl buildfarm
> pg_restore: [archiver (db)] could not execute query: ERROR: type
> "abstime" does not exist
> LINE 14: "f1" "abstime"
> ^
> Command was:
> -- For binary upgrade, must preserve pg_type oid
> SELECT
> pg_catalog.binary_upgrade_set_next_pg_type_oid('16893'::pg_catalog.oid);
I'm not sure I see the problem you're seeing here? You've an abstime
column. That type has been removed. So you get an error? Or is your
concern solely that it affects automated testing?
Greetings,
Andres Freund