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
0002-pg-trgm-strict_word-similarity-2.patch
Description: Binary data