Hello,

I experiencing a problem I hope someone here can help with:

I have several C-coded clients running and performing inserts and
updates on a database. I would like to make sure that the -entire-
client session is atomic. i.e. if a client dies in the middle of the
computation (not uncommon) then all of the updates are rolled back. I
take it I can do that by using InnoDB tables and transactions

the problems:

- the number of updates and inserts per client is large ~ 10,000 or so
inserts/updates on many tables. I need ALL of them to be one single
atomic operation. is there any limit on the size of a transaction. any
way to increase such a limit?

- if the client dies in the middle of the computation it obviously won't
be able to issue an explicit rollback. what happens in this instance. is
possible to set things up so that an automatic rollback takes place.

- this might be tricky. but during most inserts my C program retrieves
row ids (using mysql_insert_id() function. this id is then used in
subsequent inserts. would that still work with transactions. i.e.
without committing an insert to a table, what would mysql_insert_id
return?

- would performance with such large transactions be substantially
degraded?

this is rather important issue for me. I'd really appreciate any help in
this regard.

many thanks in advance
Murad

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to