Обсуждение: pgsql: Remove deprecated abstime, reltime, tinterval datatypes.

Поиск
Список
Период
Сортировка

pgsql: Remove deprecated abstime, reltime, tinterval datatypes.

От
Andres Freund
Дата:
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(-)


Re: pgsql: Remove deprecated abstime, reltime, tinterval datatypes.

От
Andrew Dunstan
Дата:

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



Re: pgsql: Remove deprecated abstime, reltime, tinterval datatypes.

От
Andres Freund
Дата:
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