1
1
<!--
2
- $Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.27 2003/10/21 22:51:14 tgl Exp $
2
+ $Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.28 2003/10/22 03:50:27 tgl Exp $
3
3
-->
4
4
5
5
<sect1 id="xoper">
@@ -41,7 +41,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.27 2003/10/21 22:51:14 tgl E
41
41
CREATE FUNCTION complex_add(complex, complex)
42
42
RETURNS complex
43
43
AS '<replaceable>filename</replaceable>', 'complex_add'
44
- LANGUAGE C;
44
+ LANGUAGE C IMMUTABLE STRICT ;
45
45
46
46
CREATE OPERATOR + (
47
47
leftarg = complex,
@@ -113,7 +113,7 @@ SELECT (a + b) AS c FROM test_complex;
113
113
</para>
114
114
115
115
<para>
116
- The left operand type of acommuted operator is the same as the
116
+ The left operand type of acommutable operator is the same as the
117
117
right operand type of its commutator, and vice versa. So the name of
118
118
the commutator operator is all that <ProductName>PostgreSQL</ProductName>
119
119
needs to be given to look up the commutator, and that's all that needs to
@@ -132,7 +132,7 @@ SELECT (a + b) AS c FROM test_complex;
132
132
<literal>tab2.y = tab1.x</>, because the indexscan machinery expects
133
133
to see the indexed column on the left of the operator it is given.
134
134
<ProductName>PostgreSQL</ProductName> will <emphasis>not</> simply
135
- assume that this is a valid transformation --- thedefiner of the
135
+ assume that this is a valid transformation --- thecreator of the
136
136
<literal>=</> operator must specify that it is valid, by marking the
137
137
operator with commutator information.
138
138
</para>