]> granicus.if.org Git - postgresql/commitdiff
Fix pg_type.typlen for newly-revived line type.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 May 2014 17:37:54 +0000 (13:37 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 May 2014 17:37:54 +0000 (13:37 -0400)
Commit 261c7d4b653bc3e44c31fd456d94f292caa50d8f removed the "m" field
from struct LINE, but neglected to make pg_type.h's idea of the type's
size match.  This resulted in reading past the end of palloc'd LINE
values when inserting them into tuples etc.  In principle that could
cause a SIGSEGV, though the odds of detectable problems seem low.

Bump catversion since this makes an incompatible on-disk format change.
Note that if the line type had been in use in the field, this would
break pg_upgrade'ability of databases containing line values; but
it seems unlikely that there are any (they'd have had to be compiled
with -DENABLE_LINE_TYPE).

Spotted by Andres Freund.

src/include/catalog/catversion.h
src/include/catalog/pg_type.h

index f60b97378a3f8889493bb99b5bfe456ba1c8bb8e..27bfa08eeae363ba77c4f9f55738704b3bd2b0c4 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     201404241
+#define CATALOG_VERSION_NO     201405051
 
 #endif
index 92d50bb36e99c9a1e67d643e01f816923f1ed8e0..dcdc740266c7b4d5c7c9bee4c92c09db4abe2b6f 100644 (file)
@@ -392,7 +392,7 @@ DATA(insert OID = 604 (  polygon   PGNSP PGUID -1 f b G f t \054 0   0 1027 poly_
 DESCR("geometric polygon '(pt1,...)'");
 #define POLYGONOID             604
 
-DATA(insert OID = 628 (  line     PGNSP PGUID 32 f b G f t \054 0 701 629 line_in line_out line_recv line_send - - - d p f 0 -1 0 0 _null_ _null_ _null_ ));
+DATA(insert OID = 628 (  line     PGNSP PGUID 24 f b G f t \054 0 701 629 line_in line_out line_recv line_send - - - d p f 0 -1 0 0 _null_ _null_ _null_ ));
 DESCR("geometric line");
 #define LINEOID                        628
 DATA(insert OID = 629 (  _line    PGNSP PGUID  -1 f b A f t \054 0 628 0 array_in array_out array_recv array_send - - array_typanalyze d x f 0 -1 0 0 _null_ _null_ _null_ ));