I came accross a problem porting our tv listings system from postgres to
mysql with InnoDB.

With InnoDB tables, read-only transactions started after a read-write
transaction touching the same rows are able to read data as it was before
the read-write transaction began; UNLESS the "read-only" transactions
selects rows touched by the first transaction INTO a temporary table, in
which case these transactions wait until the first (read-write) transaction
finishes before proceeding.

I see why it does this but I don't think the rule should apply to temporary
tables which are private to transactions.

If a "read-only" transaction writes to temporary tables, surely it is the
business of no-one and can't affect or be affected by other transactions;
and so it is not neccessary to wait.

This behaviour even occurs with temporary heap tables; and with whatever
tansaction isolation option is selected.

postgres does not suffer from this problem with temporary tables or regular
tables.

Is this a bug?  Or can/must I work round it?  The update process can take
upwards of 15 minutes and queries-using-temporary-tables must return within
seconds.

We use transactions so that the updates might be atomic.

Sam




---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to