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