On 6/15/07, Jeff Nokes <[EMAIL PROTECTED]> wrote:
(Q1)  First, why would what seems to be identical multi-process interaction 
with the
DB file achieve different results when attempting to view the updated record?

I see two possibilities.  One is that you have a SELECT running in one
process which blocks the UPDATE from the other process, or some
similar kind of isolation level issue.  There's some information on
that here:
http://www.sqlite.org/lockingv3.html

Another is that your code has a scoping problem and the values you're
looking at are not actually being read from the database each time.

There are a number of ways you can analyze this.  You can try these
same experiments with no web application at all, using multiple shells
running the sqlite3 tool.  If you still see the problem, then it most
likely involves isolation levels or locks.

You can turn on DBI_TRACE to see if your web application is really
running the queries you think it is.

You can whittle down your code to a small example that demonstrates
the problem, and post it here for us.  If it has a scoping issue,
someone would probably spot it.

I am hoping to be able to not only perform
these updates through the web interface of the application, but also to be able 
to
just deploy a new DB file to all our production hosts, without bouncing apache, 
and
have the updates take effect either way.

I suspect you'd need to reconnect your DBI handles for this to work,
but I don't really know.

- Perrin

Reply via email to