[Zope] Interbase / Cacheing - A thought

Cary O'Brien cobrien@Radix.Net
Thu, 1 Jun 2000 15:17:55 -0400 (EDT)


> Ian Sparks wrote:
> > 
> > Had a thought that I wanted to share.
> > 
> > Interbase has a feature known as "event alerts". In a trigger you can post
> > "events" which are just fixed data strings e.g. "DataAdded" or
> > "Insert_tblUsers".
> 
> PostgreSQL has them too.
> 
> It's not (afaik) supported by DB-API, but could be used in a DA that talks 
> to some lower level API.
> 

They are supported by the TCL interface that comes with PostgreSQL 
(src/interfaces/libpgtcl in the PostgreSQL source tree) if you are
looking for examples of how they work.  (Search for listen and
notify in pgtclCmds.c

-- cary


> > A client database connection can register to listen to these events.
> > 
> > I don't know if any Zopeish Interbase access method supports this (ODBC
> > doesn't to my knowledge) but it would be incredibly useful for synching
> > cached database objects. Zope could hold a representation of the table data
> > in cached objects for quick access. Each object could have one or more
> > "event" methods which related to a database event. When the database adaptor
> > received an event message from Interbase it could inform all objects with a
> > matching event method (these methods would refresh their cached data with
> > current values from the database).
> > 
> > In this way database and Zope cache could be synced *without* having to poll
> > the database at an interval. In all, a very efficient mechanism.
> >
> > Just an idea I wanted to put out there.
> 
> Thanks for getting it out.
> 
> I have been contemplating the same for PostgreSQL but have been too lazy to do 
> it myself ;)
> 
> ------------------
> Hannu
> 
> --__--__--
>