Re: default_text_search_config and expression indexes
Heikki Linnakangas <heikki@enterprisedb.com>
From: Heikki Linnakangas <heikki@enterprisedb.com>
To: Bruce Momjian <bruce@momjian.us>
Cc: Ron Mayer <rm_pg@cheapcomplexdevices.com>,
pgsql-hackers@postgresql.org
Date: 2007-08-14T18:35:43Z
Lists: pgsql-hackers
Bruce Momjian wrote:
> Heikki Linnakangas wrote:
>> Bruce Momjian wrote:
>>> Heikki Linnakangas wrote:
>>>> Removing the default configuration setting altogether removes the 2nd
>>>> problem, but that's not good from a usability point of view. And it
>>>> doesn't solve the general issue, you can still do things like:
>>>> SELECT * FROM foo WHERE to_tsvector('confA', textcol) @@
>>>> to_tsquery('confB', 'query');
>>> True, but in that case you are specifically naming different
>>> configurations, so it is hopefully obvious you have a mismatch.
>> There's many more subtle ways to do that. For example, filling a
>> tsvector column using a DEFAULT clause. But then you sometimes fill it
>> in the application instead, with a different configuration. Or if one of
>> the function calls is buried in another user defined function.
>>
>> I don't think explicitly naming the configuration gives enough protection.
>
> Oh, wow, OK, well in that case the text search API isn't ready and we
> will have to hold this for 8.4.
That would be unfortunate :(. Sorry I haven't looked at this earlier. Do
you think that implementing a strongly typed system is too much work for
8.3?
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com