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 ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match