Hi,
First, apologies if my question is a bit off-course. Please feel free to
direct me to a different mailing list if not appropriate.
I'm currently trying to embed Senna full text search engine
(http://qwik.jp/senna/) into postgres. I'm trying to achieve this by
using triggers (implemented in C) to cause an update to senna's index at
various points.
This seemed to work fine until I realized that while postgres' SQL
commands could be rolled back, Senna's index remained already-changed.
There are other potential issues with regards to transaction safety, but
currently this seems to be a problem that I cannot fix by simply
patching Senna. So I thought that if there was a rollback trigger, I
could call whatever necessary to undo the changes that were made to the
index.
A quick scan of the docs and the source code tree seems to indicate that
there is no such thing as a rollback trigger, short of hacking it.
Now, I'm wondering:
1. Is there a rollback/commit trigger? If not, is it planned to be
implemented at all?
2. Is there a way to undo changes to data external to postgres
when a rollback occurs, OR, only update that external data
when a commit occurs?
Thanks in advance,
--d