I've been looking at a problem someone encountered with ts_headline:
http://archives.postgresql.org/pgsql-general/2008-02/msg01035.php

It turns out the problem was mixing ts_headline(<no specified config>) with to_tsquery(<specified config>) where <specified config> wasn't the default.

Fair enough, and in retrospect it's obvious. However, I fear it's going to be a pretty common error. It's also one that's not easy to catch - you can test a configuration, but you can't see what configuration generated a particular tsvector / tsquery (afaict).

I realise there was a lot of discussion during 8.3 devt about what was wanted from a default config and I'm guessing there's nothing that can be done for 8.3.x

Would there be any support for two changes in 8.4 though?

1. Tag tsvector/tsquery's with the (oid of) their configuration?
This could then generate a warning/error if you are running a tsquery against the wrong tsvector / combining two incompatible tsvectors etc.

2. Either warn or require CASCADE on changes to a configuration/dictionary that could impact existing indexes etc. I've done it once myself where a stopword dictionary was changed from accept=true to accept=false. That change is OK (as long as you don't mind rogue tokens in your tsvectors) but others are probably not.

--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

               http://www.postgresql.org/about/donate

Reply via email to