Derby uses row locking by default, can you please explain why you think it is table locking. Derby does get table level intent locks, to enable the row locking feature - so for instances when updating a row in a table you will get a table level IX and a row level X, but another transaction will also be able to get a table level IX and a row level X lock on another row.
There are situations depending on isolation level and lock escalation where real table level locks are requested, not sure if you are running into that. More information is needed. Mehran Sowdaey wrote:
Hi, When running derby in server mode if autocommit is turned off table locking occurs. Is there anyway to prevent that and have row level locking. We have tried changing a few of derby parameters without success. thanks, ------- mehran
