Fix contrib/pg_trgm's similarity() function for trigram-free strings.
Tom Lane <tgl@sss.pgh.pa.us>
Fix contrib/pg_trgm's similarity() function for trigram-free strings.
Cases such as similarity('', '') produced a NaN result due to computing
0/0. Per discussion, make it return zero instead.
This appears to be the basic cause of bug #7867 from Michele Baravalle,
although it remains unclear why her installation doesn't think Cyrillic
letters are letters.
Back-patch to all active branches.
Files
| Path | Change | +/− |
|---|---|---|
| contrib/pg_trgm/expected/pg_trgm.out | modified | +6 −0 |
| contrib/pg_trgm/sql/pg_trgm.sql | modified | +2 −0 |
| contrib/pg_trgm/trgm_op.c | modified | +6 −2 |