|
|
@ -800,11 +800,11 @@ index_create(Relation heapRelation, |
|
|
|
errmsg("user-defined indexes on system catalog tables are not supported"))); |
|
|
|
errmsg("user-defined indexes on system catalog tables are not supported"))); |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Btree text_pattern_ops uses text_eq as the equality operator, which is |
|
|
|
* Btree text_pattern_ops uses texteq as the equality operator, which is |
|
|
|
* fine as long as the collation is deterministic; text_eq then reduces to |
|
|
|
* fine as long as the collation is deterministic; texteq then reduces to |
|
|
|
* bitwise equality and so it is semantically compatible with the other |
|
|
|
* bitwise equality and so it is semantically compatible with the other |
|
|
|
* operators and functions in that opclass. But with a nondeterministic |
|
|
|
* operators and functions in that opclass. But with a nondeterministic |
|
|
|
* collation, text_eq could yield results that are incompatible with the |
|
|
|
* collation, texteq could yield results that are incompatible with the |
|
|
|
* actual behavior of the index (which is determined by the opclass's |
|
|
|
* actual behavior of the index (which is determined by the opclass's |
|
|
|
* comparison function). We prevent such problems by refusing creation of |
|
|
|
* comparison function). We prevent such problems by refusing creation of |
|
|
|
* an index with that opclass and a nondeterministic collation. |
|
|
|
* an index with that opclass and a nondeterministic collation. |
|
|
@ -814,7 +814,7 @@ index_create(Relation heapRelation, |
|
|
|
* opclasses as incompatible with nondeterminism; but for now, this small |
|
|
|
* opclasses as incompatible with nondeterminism; but for now, this small |
|
|
|
* hack suffices. |
|
|
|
* hack suffices. |
|
|
|
* |
|
|
|
* |
|
|
|
* Another solution is to use a special operator, not text_eq, as the |
|
|
|
* Another solution is to use a special operator, not texteq, as the |
|
|
|
* equality opclass member; but that is undesirable because it would |
|
|
|
* equality opclass member; but that is undesirable because it would |
|
|
|
* prevent index usage in many queries that work fine today. |
|
|
|
* prevent index usage in many queries that work fine today. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|