On Tue, Dec 12, 2017 at 2:33 PM, Teodor Sigaev <teo...@sigaev.ru> wrote:

> 0002-pg-trgm-strict_word-similarity.patch – implementation of
>> strict_word_similarity() with comments, docs and tests.
>>
> After some looking in
>
> 1)
> repeated piece of code:
> +           if (strategy == SimilarityStrategyNumber)
> +               nlimit = similarity_threshold;
> +           else if (strategy == WordSimilarityStrategyNumber)
> +               nlimit = word_similarity_threshold;
> +           else /* strategy == StrictWordSimilarityStrategyNumber */
> +               nlimit = strict_word_similarity_threshold;
> Isn't it better to move that piece to separate function?
>

Good point.  Moved to separate function.

2)
> calc_word_similarity(char *str1, int slen1, char *str2, int slen2,
>                      bool check_only, bool word_bounds)
>
> Seems, two bools args are replaceble to  bitwise-ORed flag. It will
> simplify adding new options in future.


Yep.  I've introduced flags.

Also, I've adjusted tests to make them stable (found example where TOP-8
distances are unique).
Please, find revised patch in attachment.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Attachment: 0002-pg-trgm-strict_word-similarity-2.patch
Description: Binary data

Reply via email to