Gregory Stark <[EMAIL PROTECTED]> writes: > "Tom Lane" <[EMAIL PROTECTED]> writes: >> I'm intending to get rid of ~=~ and ~<>~ for 8.4; there's no longer any >> reason why those slots in the pattern_ops classes can't be filled by the >> plain = and <> operators. (There *was* a reason when they were first >> invented --- but now that texteq will only return true for exact bitwise >> match, I think it's OK to assume these are equivalent.)
> The only question is whether we'll keep that forever. I thought it was a good > idea at the time but I'm starting to wonder about the implications for > multi-key indexes. How so? If you think this change is a bad idea you'd better speak up PDQ. >> In the meantime, though, I think the only way that Kaare's query can use >> that index is if he writes >> WHERE b LIKE 'whatever' AND b <> ''; >> (with whatever spelling of <> the index predicate has). There is not >> anything in the predicate proving machinery that knows enough about LIKE >> to be able to show that "b LIKE 'whatever'" implies "b <> ''". > I was thinking that the inequalities that the LIKE index scan introduces would > imply the inequality. I take it we generate those inequalities too late in the > planning process to use them for other planning? Hmm, good point [ experiments... ] Yeah, it seems we don't reconsider partial indexes after those clauses have been generated. Not sure how expensive it'd be to change that. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings