git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 5a86e5e)
Fix the volatility marking of textanycat() and anytextcat(): they were marked
2010年5月27日 16:20:11 +0000 (16:20 +0000)
2010年5月27日 16:20:11 +0000 (16:20 +0000)
immutable, but that is wrong in general because the cast from the polymorphic
argument to text could be stable or even volatile. Mark them volatile for
safety. In the typical case where the cast isn't volatile, the planner will
deduce the correct expression volatility after inlining the function, so
performance is not lost. The just-committed fix in CREATE INDEX also ensures
this won't break any indexing cases that ought to be allowed.

Per discussion, I'm not bumping catversion for this change, as it doesn't
seem critical enough to force an initdb on beta testers.


diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h
index da6b0b2025192a61a3a8b7f12c3910d02e8dd0ba..8360e317b1a48ec76c0390ff0ad9dea53e41cfb8 100644 (file)
--- a/src/include/catalog/pg_proc.h
+++ b/src/include/catalog/pg_proc.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.570 2010年02月26日 02:01:21 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.571 2010年05月27日 16:20:11 tgl Exp $
*
* NOTES
* The script catalog/genbki.pl reads this file and generates .bki
@@ -3137,9 +3137,9 @@ DESCR("adjust time precision");
DATA(insert OID = 1969 ( timetz PGNSP PGUID 12 1 0 0 f f f t f i 2 0 1266 "1266 23" _null_ _null_ _null_ _null_ timetz_scale _null_ _null_ _null_ ));
DESCR("adjust time with time zone precision");
-DATA(insert OID = 2003 ( textanycat PGNSP PGUID 14 1 0 0 f f f t f i 2 0 25 "25 2776" _null_ _null_ _null_ _null_ "select 1ドル || 2ドル::pg_catalog.text" _null_ _null_ _null_ ));
+DATA(insert OID = 2003 ( textanycat PGNSP PGUID 14 1 0 0 f f f t f v 2 0 25 "25 2776" _null_ _null_ _null_ _null_ "select 1ドル || 2ドル::pg_catalog.text" _null_ _null_ _null_ ));
DESCR("concatenate");
-DATA(insert OID = 2004 ( anytextcat PGNSP PGUID 14 1 0 0 f f f t f i 2 0 25 "2776 25" _null_ _null_ _null_ _null_ "select 1ドル::pg_catalog.text || 2ドル" _null_ _null_ _null_ ));
+DATA(insert OID = 2004 ( anytextcat PGNSP PGUID 14 1 0 0 f f f t f v 2 0 25 "2776 25" _null_ _null_ _null_ _null_ "select 1ドル::pg_catalog.text || 2ドル" _null_ _null_ _null_ ));
DESCR("concatenate");
DATA(insert OID = 2005 ( bytealike PGNSP PGUID 12 1 0 0 f f f t f i 2 0 16 "17 17" _null_ _null_ _null_ _null_ bytealike _null_ _null_ _null_ ));
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /