diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2018-10-27 11:25:20 +0100 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2018-11-01 20:35:42 +0100 |
commit | fe5038236c6b99d48c2faa2247b5cec9703add2a (patch) | |
tree | a2c6f1e82dcac5f0e2ab9c654aa7f29983ffa822 | |
parent | 8a99f8a82775cee3fd35abb21a29b5b2dfc31cf5 (diff) | |
download | postgresql-fe5038236c6b99d48c2faa2247b5cec9703add2a.tar.gz postgresql-fe5038236c6b99d48c2faa2247b5cec9703add2a.zip |
Remove obsolete pg_attrdef.adsrc column
This has been deprecated and effectively unused for a long time.
Reviewed-by: Alvaro Herrera <alvherre@2ndquadrant.com>
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
-rw-r--r-- | doc/src/sgml/catalogs.sgml | 20 | ||||
-rw-r--r-- | src/backend/catalog/heap.c | 12 | ||||
-rw-r--r-- | src/include/catalog/catversion.h | 2 | ||||
-rw-r--r-- | src/include/catalog/pg_attrdef.h | 1 |
4 files changed, 4 insertions, 31 deletions
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index 4256516c085..e7165bdc5d5 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -947,27 +947,13 @@ <entry><structfield>adbin</structfield></entry> <entry><type>pg_node_tree</type></entry> <entry></entry> - <entry>The internal representation of the column default value</entry> - </row> - - <row> - <entry><structfield>adsrc</structfield></entry> - <entry><type>text</type></entry> - <entry></entry> - <entry>A human-readable representation of the default value</entry> + <entry>The column default value, in <function>nodeToString()</function> + representation. Use <literal>pg_get_expr(adbin, adrelid)</literal> to + convert it to an SQL expression.</entry> </row> </tbody> </tgroup> </table> - - <para> - The <structfield>adsrc</structfield> field is historical, and is best - not used, because it does not track outside changes that might affect - the representation of the default value. Reverse-compiling the - <structfield>adbin</structfield> field (with <function>pg_get_expr</function> for - example) is a better way to display the default value. - </para> - </sect1> diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 3c9c03c9971..640e283688b 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -2152,7 +2152,6 @@ StoreAttrDefault(Relation rel, AttrNumber attnum, Node *expr, bool is_internal, bool add_column_mode) { char *adbin; - char *adsrc; Relation adrel; HeapTuple tuple; Datum values[4]; @@ -2170,20 +2169,11 @@ StoreAttrDefault(Relation rel, AttrNumber attnum, adbin = nodeToString(expr); /* - * Also deparse it to form the mostly-obsolete adsrc field. - */ - adsrc = deparse_expression(expr, - deparse_context_for(RelationGetRelationName(rel), - RelationGetRelid(rel)), - false, false); - - /* * Make the pg_attrdef entry. */ values[Anum_pg_attrdef_adrelid - 1] = RelationGetRelid(rel); values[Anum_pg_attrdef_adnum - 1] = attnum; values[Anum_pg_attrdef_adbin - 1] = CStringGetTextDatum(adbin); - values[Anum_pg_attrdef_adsrc - 1] = CStringGetTextDatum(adsrc); adrel = heap_open(AttrDefaultRelationId, RowExclusiveLock); @@ -2198,10 +2188,8 @@ StoreAttrDefault(Relation rel, AttrNumber attnum, /* now can free some of the stuff allocated above */ pfree(DatumGetPointer(values[Anum_pg_attrdef_adbin - 1])); - pfree(DatumGetPointer(values[Anum_pg_attrdef_adsrc - 1])); heap_freetuple(tuple); pfree(adbin); - pfree(adsrc); /* * Update the pg_attribute entry for the column to show that a default diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index f2e9d5dc1f0..8e92b287cc2 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 201810301 +#define CATALOG_VERSION_NO 201811011 #endif diff --git a/src/include/catalog/pg_attrdef.h b/src/include/catalog/pg_attrdef.h index e4a37ec3268..a9a2351efdd 100644 --- a/src/include/catalog/pg_attrdef.h +++ b/src/include/catalog/pg_attrdef.h @@ -33,7 +33,6 @@ CATALOG(pg_attrdef,2604,AttrDefaultRelationId) #ifdef CATALOG_VARLEN /* variable-length fields start here */ pg_node_tree adbin BKI_FORCE_NOT_NULL; /* nodeToString representation of default */ - text adsrc BKI_FORCE_NOT_NULL; /* human-readable representation of default */ #endif } FormData_pg_attrdef; |