Hi,

we are using 7.5.0.11.

We set autocommit off. With all isolation levels > 0 in our
installation INSERT to table T1 locks all "SELECT * FROM T1"
until commit or rollback.

This means, we can not display a list of all entries in T1
while someone else inserts a new entry but has not committed the work.

We expect to get all committed rows from the select.

Switching to isolation level 0 is not a solution (we get
uncommitted data).

Can we somehow change this behavior?


We currently check, if we can port an application from oracle to MaxDB.


Hi,

Try it with the lock option ignore.
Example: select * from t1 with lock (ignore)

This won't wait for uncomitted rows and shows you all commited rows.

For more information see:
http://www.mysql.de/documentation/maxdb/ac/738ef13f4a11d3a98200a0c9449261/frameset.htm

Kind regards,
Holger
SAP Labs Berlin



Hi again,


thank You very much for Your rapid answer. The problem seems to be more complex.

Can we select all committed data and not ignore the rows, someone else has locked?

Imagine a table containing customers. Transaction T1 locks several customers to make a change (for update). If transaction T2 selects all customers using isolation level 1 (with "select ... with lock (ignore)"), the locked ones will be missing.

Using isolation level 0 will show inconsistent (not committed) data, with some customers changed, others not.

Can T2 select the committed data of all (!!) customers without blocking (oracle does that by making use of the rollback information)?




Matthias Schweizer SoliDat GmbH



--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to