On Aug 29, 2007, at 18:30, Mohammad J wrote:
> It can't be done, at least not in a precise way. There is no way to
> know exactly which data a SQL statement will affect without actually
> being able to fully execute the statement the same way your database
> would, at which point all the speed advantage is gone.
You are correct that one of the limitations of any analysis program
is that unless it does full SQL parsing, there is no way to be sure
your system isn't placed in an inconsistent state. However, in my
application, updates are only performed using the primary key of
the tables being updated (for performance reasons). This is true
in all cases in my application, and thus it was relatively simple
to write an analysis application that identified all queries that
make updates.
pgmemcache will allow you to send invalidations for any touches a
given row in a table iff you know the memcached keys that need to be
invalidated.
--
Dustin Sallings