BUG #5287: ispell dict erroneously returns lexeme on all prefix+suffix cross products

From: "Brian Carp" <brian(at)photoresearchers(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5287: ispell dict erroneously returns lexeme on all prefix+suffix cross products
Date: 2010-01-18 21:02:50
Message-ID: 201001182102.o0IL2ool030340@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5287
Logged by: Brian Carp
Email address: brian(at)photoresearchers(dot)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.

Browse pgsql-bugs by date

  From Date Subject
Next Message Craig Ringer 2010-01-19 04:38:53 Re: Questions
Previous Message Alvaro Herrera 2010-01-18 20:38:20 Re: BUG #5286: pgAdmin will put table and field names in apostrophes which then must be used for accessing them