From: Thomas Munro Date: Thu, 7 Mar 2019 02:43:37 +0000 (+1300) Subject: Drop the vestigial "smgr" type. X-Git-Tag: REL_12_BETA1~604 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=91595f9d49cf6fd6b6524f3269b2105b3ec18d96;p=postgresql Drop the vestigial "smgr" type. Before commit 3fa2bb31 this type appeared in the catalogs to select which of several block storage mechanisms each relation used. New features under development propose to revive the concept of different block storage managers for new kinds of data accessed via bufmgr.c, but don't need to put references to them in the catalogs. So, avoid useless maintenance work on this type by dropping it. Update some regression tests that were referencing it where any type would do. Discussion: https://postgr.es/m/CA%2BhUKG%2BDE0mmiBZMtZyvwWtgv1sZCniSVhXYsXkvJ_Wo%2B83vvw%40mail.gmail.com --- diff --git a/src/backend/storage/smgr/Makefile b/src/backend/storage/smgr/Makefile index 2b95cb0df1..e486b7c0d1 100644 --- a/src/backend/storage/smgr/Makefile +++ b/src/backend/storage/smgr/Makefile @@ -12,6 +12,6 @@ subdir = src/backend/storage/smgr top_builddir = ../../../.. include $(top_builddir)/src/Makefile.global -OBJS = md.o smgr.o smgrtype.o +OBJS = md.o smgr.o include $(top_srcdir)/src/backend/common.mk diff --git a/src/backend/storage/smgr/README b/src/backend/storage/smgr/README index 37ed40b645..e1cfc6cd26 100644 --- a/src/backend/storage/smgr/README +++ b/src/backend/storage/smgr/README @@ -31,12 +31,6 @@ The files in this directory, and their contents, are md.c The "magnetic disk" storage manager, which is really just an interface to the kernel's filesystem operations. - smgrtype.c Storage manager type -- maps string names to storage manager - IDs and provides simple comparison operators. This is the - regproc support for type "smgr" in the system catalogs. - (This is vestigial since no columns of type smgr exist - in the catalogs anymore.) - Note that md.c in turn relies on src/backend/storage/file/fd.c. diff --git a/src/backend/storage/smgr/smgrtype.c b/src/backend/storage/smgr/smgrtype.c deleted file mode 100644 index cf12094da4..0000000000 --- a/src/backend/storage/smgr/smgrtype.c +++ /dev/null @@ -1,80 +0,0 @@ -/*------------------------------------------------------------------------- - * - * smgrtype.c - * storage manager type - * - * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/backend/storage/smgr/smgrtype.c - * - *------------------------------------------------------------------------- - */ -#include "postgres.h" - -#include "storage/smgr.h" -#include "utils/builtins.h" - - -typedef struct smgrid -{ - const char *smgr_name; -} smgrid; - -/* - * StorageManager[] -- List of defined storage managers. - */ -static const smgrid StorageManager[] = { - {"magnetic disk"} -}; - -static const int NStorageManagers = lengthof(StorageManager); - - -Datum -smgrin(PG_FUNCTION_ARGS) -{ - char *s = PG_GETARG_CSTRING(0); - int16 i; - - for (i = 0; i < NStorageManagers; i++) - { - if (strcmp(s, StorageManager[i].smgr_name) == 0) - PG_RETURN_INT16(i); - } - elog(ERROR, "unrecognized storage manager name \"%s\"", s); - PG_RETURN_INT16(0); -} - -Datum -smgrout(PG_FUNCTION_ARGS) -{ - int16 i = PG_GETARG_INT16(0); - char *s; - - if (i >= NStorageManagers || i < 0) - elog(ERROR, "invalid storage manager ID: %d", i); - - s = pstrdup(StorageManager[i].smgr_name); - PG_RETURN_CSTRING(s); -} - -Datum -smgreq(PG_FUNCTION_ARGS) -{ - int16 a = PG_GETARG_INT16(0); - int16 b = PG_GETARG_INT16(1); - - PG_RETURN_BOOL(a == b); -} - -Datum -smgrne(PG_FUNCTION_ARGS) -{ - int16 a = PG_GETARG_INT16(0); - int16 b = PG_GETARG_INT16(1); - - PG_RETURN_BOOL(a != b); -} diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index 523958733d..ad8bde6ae3 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 201903062 +#define CATALOG_VERSION_NO 201903063 #endif diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat index bce909b05a..2e9d6cf2f5 100644 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@ -1591,19 +1591,6 @@ proargtypes => 'internal oid internal int2 internal', prosrc => 'arraycontjoinsel' }, -{ oid => '760', descr => 'I/O', - proname => 'smgrin', provolatile => 's', prorettype => 'smgr', - proargtypes => 'cstring', prosrc => 'smgrin' }, -{ oid => '761', descr => 'I/O', - proname => 'smgrout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'smgr', prosrc => 'smgrout' }, -{ oid => '762', descr => 'storage manager', - proname => 'smgreq', prorettype => 'bool', proargtypes => 'smgr smgr', - prosrc => 'smgreq' }, -{ oid => '763', descr => 'storage manager', - proname => 'smgrne', prorettype => 'bool', proargtypes => 'smgr smgr', - prosrc => 'smgrne' }, - { oid => '764', descr => 'large object import', proname => 'lo_import', provolatile => 'v', proparallel => 'u', prorettype => 'oid', proargtypes => 'text', prosrc => 'be_lo_import' }, diff --git a/src/include/catalog/pg_type.dat b/src/include/catalog/pg_type.dat index 4497ff6a2c..d1295835e2 100644 --- a/src/include/catalog/pg_type.dat +++ b/src/include/catalog/pg_type.dat @@ -172,13 +172,6 @@ typoutput => 'pg_ddl_command_out', typreceive => 'pg_ddl_command_recv', typsend => 'pg_ddl_command_send', typalign => 'ALIGNOF_POINTER' }, -# OIDS 200 - 299 - -{ oid => '210', descr => 'storage manager', - typname => 'smgr', typlen => '2', typbyval => 't', typcategory => 'U', - typinput => 'smgrin', typoutput => 'smgrout', typreceive => '-', - typsend => '-', typalign => 's' }, - # OIDS 600 - 699 { oid => '600', array_type_oid => '1017', diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out index 4db792cf2f..fd14c4b4f2 100644 --- a/src/test/regress/expected/alter_table.out +++ b/src/test/regress/expected/alter_table.out @@ -29,7 +29,7 @@ ALTER TABLE attmp ADD COLUMN l tid; ALTER TABLE attmp ADD COLUMN m xid; ALTER TABLE attmp ADD COLUMN n oidvector; --ALTER TABLE attmp ADD COLUMN o lock; -ALTER TABLE attmp ADD COLUMN p smgr; +ALTER TABLE attmp ADD COLUMN p boolean; ALTER TABLE attmp ADD COLUMN q point; ALTER TABLE attmp ADD COLUMN r lseg; ALTER TABLE attmp ADD COLUMN s path; @@ -44,13 +44,13 @@ INSERT INTO attmp (a, b, c, d, e, f, g, i, k, l, m, n, p, q, r, s, t, VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)', 'c', 314159, '(1,1)', '512', - '1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)', + '1 2 3 4 5 6 7 8', true, '(1.1,1.1)', '(4.1,4.1,3.1,3.1)', '(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', 'epoch', '01:00:10', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}'); SELECT * FROM attmp; - initial | a | b | c | d | e | f | g | i | k | l | m | n | p | q | r | s | t | v | w | x | y | z ----------+---+------+------+-----+-----+---+-----------------------+---+--------+-------+-----+-----------------+---------------+-----------+-----------------------+-----------------------------+---------------------+--------------------------+------------------+-----------+-----------+----------- - | 4 | name | text | 4.1 | 4.1 | 2 | ((4.1,4.1),(3.1,3.1)) | c | 314159 | (1,1) | 512 | 1 2 3 4 5 6 7 8 | magnetic disk | (1.1,1.1) | [(4.1,4.1),(3.1,3.1)] | ((0,2),(4.1,4.1),(3.1,3.1)) | (4.1,4.1),(3.1,3.1) | Thu Jan 01 00:00:00 1970 | @ 1 hour 10 secs | {1,2,3,4} | {1,2,3,4} | {1,2,3,4} + initial | a | b | c | d | e | f | g | i | k | l | m | n | p | q | r | s | t | v | w | x | y | z +---------+---+------+------+-----+-----+---+-----------------------+---+--------+-------+-----+-----------------+---+-----------+-----------------------+-----------------------------+---------------------+--------------------------+------------------+-----------+-----------+----------- + | 4 | name | text | 4.1 | 4.1 | 2 | ((4.1,4.1),(3.1,3.1)) | c | 314159 | (1,1) | 512 | 1 2 3 4 5 6 7 8 | t | (1.1,1.1) | [(4.1,4.1),(3.1,3.1)] | ((0,2),(4.1,4.1),(3.1,3.1)) | (4.1,4.1),(3.1,3.1) | Thu Jan 01 00:00:00 1970 | @ 1 hour 10 secs | {1,2,3,4} | {1,2,3,4} | {1,2,3,4} (1 row) DROP TABLE attmp; @@ -71,7 +71,7 @@ ALTER TABLE attmp ADD COLUMN l tid; ALTER TABLE attmp ADD COLUMN m xid; ALTER TABLE attmp ADD COLUMN n oidvector; --ALTER TABLE attmp ADD COLUMN o lock; -ALTER TABLE attmp ADD COLUMN p smgr; +ALTER TABLE attmp ADD COLUMN p boolean; ALTER TABLE attmp ADD COLUMN q point; ALTER TABLE attmp ADD COLUMN r lseg; ALTER TABLE attmp ADD COLUMN s path; @@ -86,13 +86,13 @@ INSERT INTO attmp (a, b, c, d, e, f, g, i, k, l, m, n, p, q, r, s, t, VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)', 'c', 314159, '(1,1)', '512', - '1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)', + '1 2 3 4 5 6 7 8', true, '(1.1,1.1)', '(4.1,4.1,3.1,3.1)', '(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', 'epoch', '01:00:10', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}'); SELECT * FROM attmp; - initial | a | b | c | d | e | f | g | i | k | l | m | n | p | q | r | s | t | v | w | x | y | z ----------+---+------+------+-----+-----+---+-----------------------+---+--------+-------+-----+-----------------+---------------+-----------+-----------------------+-----------------------------+---------------------+--------------------------+------------------+-----------+-----------+----------- - | 4 | name | text | 4.1 | 4.1 | 2 | ((4.1,4.1),(3.1,3.1)) | c | 314159 | (1,1) | 512 | 1 2 3 4 5 6 7 8 | magnetic disk | (1.1,1.1) | [(4.1,4.1),(3.1,3.1)] | ((0,2),(4.1,4.1),(3.1,3.1)) | (4.1,4.1),(3.1,3.1) | Thu Jan 01 00:00:00 1970 | @ 1 hour 10 secs | {1,2,3,4} | {1,2,3,4} | {1,2,3,4} + initial | a | b | c | d | e | f | g | i | k | l | m | n | p | q | r | s | t | v | w | x | y | z +---------+---+------+------+-----+-----+---+-----------------------+---+--------+-------+-----+-----------------+---+-----------+-----------------------+-----------------------------+---------------------+--------------------------+------------------+-----------+-----------+----------- + | 4 | name | text | 4.1 | 4.1 | 2 | ((4.1,4.1),(3.1,3.1)) | c | 314159 | (1,1) | 512 | 1 2 3 4 5 6 7 8 | t | (1.1,1.1) | [(4.1,4.1),(3.1,3.1)] | ((0,2),(4.1,4.1),(3.1,3.1)) | (4.1,4.1),(3.1,3.1) | Thu Jan 01 00:00:00 1970 | @ 1 hour 10 secs | {1,2,3,4} | {1,2,3,4} | {1,2,3,4} (1 row) CREATE INDEX attmp_idx ON attmp (a, (d + e), b); diff --git a/src/test/regress/expected/type_sanity.out b/src/test/regress/expected/type_sanity.out index 91f17013d6..6d19c230f2 100644 --- a/src/test/regress/expected/type_sanity.out +++ b/src/test/regress/expected/type_sanity.out @@ -72,8 +72,7 @@ WHERE p1.typtype not in ('c','d','p') AND p1.typname NOT LIKE E'\\_%' 194 | pg_node_tree 3361 | pg_ndistinct 3402 | pg_dependencies - 210 | smgr -(4 rows) +(3 rows) -- Make sure typarray points to a varlena array type of our own base SELECT p1.oid, p1.typname as basetype, p2.typname as arraytype, diff --git a/src/test/regress/sql/alter_table.sql b/src/test/regress/sql/alter_table.sql index d80643037d..298bde179b 100644 --- a/src/test/regress/sql/alter_table.sql +++ b/src/test/regress/sql/alter_table.sql @@ -46,7 +46,7 @@ ALTER TABLE attmp ADD COLUMN m xid; ALTER TABLE attmp ADD COLUMN n oidvector; --ALTER TABLE attmp ADD COLUMN o lock; -ALTER TABLE attmp ADD COLUMN p smgr; +ALTER TABLE attmp ADD COLUMN p boolean; ALTER TABLE attmp ADD COLUMN q point; @@ -71,7 +71,7 @@ INSERT INTO attmp (a, b, c, d, e, f, g, i, k, l, m, n, p, q, r, s, t, VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)', 'c', 314159, '(1,1)', '512', - '1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)', + '1 2 3 4 5 6 7 8', true, '(1.1,1.1)', '(4.1,4.1,3.1,3.1)', '(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', 'epoch', '01:00:10', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}'); @@ -109,7 +109,7 @@ ALTER TABLE attmp ADD COLUMN m xid; ALTER TABLE attmp ADD COLUMN n oidvector; --ALTER TABLE attmp ADD COLUMN o lock; -ALTER TABLE attmp ADD COLUMN p smgr; +ALTER TABLE attmp ADD COLUMN p boolean; ALTER TABLE attmp ADD COLUMN q point; @@ -134,7 +134,7 @@ INSERT INTO attmp (a, b, c, d, e, f, g, i, k, l, m, n, p, q, r, s, t, VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)', 'c', 314159, '(1,1)', '512', - '1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)', + '1 2 3 4 5 6 7 8', true, '(1.1,1.1)', '(4.1,4.1,3.1,3.1)', '(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', 'epoch', '01:00:10', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');