Thread: BUG #5287: ispell dict erroneously returns lexeme on all prefix+suffix cross products
BUG #5287: ispell dict erroneously returns lexeme on all prefix+suffix cross products
From
"Brian Carp"
Date:
The following bug has been logged online: Bug reference: 5287 Logged by: Brian Carp Email address: brian@photoresearchers.com PostgreSQL version: 8.4.2 Operating system: Linux (2.6) Description: ispell dict erroneously returns lexeme on all prefix+suffix cross products Details: You can see the description I posted to the pgsql-general list earlier: http://archives.postgresql.org/pgsql-general/2010-01/msg00762.php I'm reporting it here because with some more experimentation, I'm fairly certain this is a bug. The issue is that prefix and suffix flags (as listed in the dictionary) are honored when they appear as independent transformation, but any cross-product formation that uses a combination of any prefix and suffix listed in the affix file will generate a lexeme under the ispell dictionary regardless of flag configurations in the dictionary file. I'm confident that this is a bug because of the inconsistent behavior. If all affix formations were recognized universally (ispell's "allaffixes" option) then I could believe it was a [poor] design decision. However because affix settings are honored independently and are only ignored in cross-product formations, the inconsistent behavior points to a bug. I don't think I'm misunderstanding ispell here: just because a flag participates in cross-product formation should not mean that all possible cross-products are generated for every root word in the dictionary regardless of its listed flags. If a root lists flags that participate in cross-products then all products for those flags should be generated, but not all products for ALL flags in the affix file! This behavior exists in the latest version of 8.4 (8.4.2) as well 8.4.1. I'm not sure about 8.3, but I know that this behavior differs from the behavior of tsearch2 when it was a contrib module, e.g. with version 7.4.