On Fri, 2011-01-07 at 15:19 +0000, Philip Martin wrote:
> Julian Foad <julian.f...@wandisco.com> writes:
> 
> > The only case that SQLite doesn't handle automatically is the
> > replacement part of "INSERT OR REPLACE INTO ...": it doesn't fire the
> > "delete" trigger in that case.
> 
> http://www.sqlite.org/lang_conflict.html
> 
> suggests that you need to enable recursive triggers.

Thanks - I missed that.  That gets me past all the test failures except
for upgrade tests, which is great for progress.  However it would mean
requiring SQLite >= 3.6.18 which is fairly new (16 months old) so we'd
have to work out the practicalities of that.

> I suspect that triggers are the most efficient way to implement
> reference counting (no need for separate queries) but does it have a
> noticeable effect on performance?  Is checkout slower for example?

I haven't tested performance yet.

Things I need to do:

* Finish delete-before-insert OR sort out the implications of requiring
>= SQLite 3.6.18.
* Performance testing.
* Upgrade code from old WC-NG dev WC formats.
* Decide the best place to do the delete-when-count-reaches-zero.

- Julian


Reply via email to