diff options
author | Robert Haas <rhaas@postgresql.org> | 2011-07-18 11:02:48 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2011-07-18 11:04:43 -0400 |
commit | 367bc426a1c22b9f6badb06cd41fc438fd034639 (patch) | |
tree | eb518f0e9399e0857f0e5f79c10750e1bfdaf909 /doc/src | |
parent | 8f8a273c4d2433de57f6f0356f44ab47b7387641 (diff) | |
download | postgresql-367bc426a1c22b9f6badb06cd41fc438fd034639.tar.gz postgresql-367bc426a1c22b9f6badb06cd41fc438fd034639.zip |
Avoid index rebuild for no-rewrite ALTER TABLE .. ALTER TYPE.
Noah Misch. Review and minor cosmetic changes by me.
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/xindex.sgml | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/doc/src/sgml/xindex.sgml b/doc/src/sgml/xindex.sgml index a90b4e2a725..28324361a95 100644 --- a/doc/src/sgml/xindex.sgml +++ b/doc/src/sgml/xindex.sgml @@ -834,8 +834,10 @@ ALTER OPERATOR FAMILY integer_ops USING btree ADD <para> In a B-tree operator family, all the operators in the family must sort compatibly, meaning that the transitive laws hold across all the data types - supported by the family: <quote>if A = B and B = C, then A = - C</>, and <quote>if A < B and B < C, then A < C</>. For each + supported by the family: <quote>if A = B and B = C, then A = C</>, + and <quote>if A < B and B < C, then A < C</>. Moreover, implicit + or binary coercion casts between types represented in the operator family + must not change the associated sort ordering. For each operator in the family there must be a support function having the same two input data types as the operator. It is recommended that a family be complete, i.e., for each combination of data types, all operators are @@ -851,6 +853,9 @@ ALTER OPERATOR FAMILY integer_ops USING btree ADD by the family's equality operators, even when the values are of different types. This is usually difficult to accomplish when the types have different physical representations, but it can be done in some cases. + Furthermore, casting a value from one data type represented in the operator + family to another data type also represented in the operator family via + an implicit or binary coercion cast must not change the computed hash value. Notice that there is only one support function per data type, not one per equality operator. It is recommended that a family be complete, i.e., provide an equality operator for each combination of data types. |