[IQUG] row level locking in IQ16

Mei, Richard Richard.Mei at bmo.com
Fri Mar 20 06:49:37 MST 2015


Hi, all.

We were testing the RVL in 16 with BLOCKING set to ON, hoping to achieve ASE-like block-wait behavior for the second transaction. However, we are getting errors like below. Is this expected?

SQL Anywhere Error -1001106: Transaction attempted to delete or update a row in
'gliao.TblSize' already deleted or updated by another transaction.

If BLOCKING is set to OFF, the second update will fail right away, just like the regular IQ table.

Detailed steps:


1.       set option BLOCKING='ON'

2.       update one row in one isql, without committing.

sybase at Spock:{/bmo/programs/sybase/home}: isql -Udba -SDEV_MBA
Password:
1>  begin tran
2> update gliao.TblSize set baseline_ind='N' where table_name='aaa'
3> go
(1 row affected)


3.       in another isql, trying to update the same row.



rmei at spock:{/home/rmei}: isql -Udba -SDEV_MBA

Password:

1> update gliao.TblSize set baseline_ind='N' where table_name='aaa'

2> go



It waits ....



4.       Commit in the first isql. Then got the error message in the second isql.



Msg 21, Level 14, State 0:

SQL Anywhere Error -1001106: Transaction attempted to delete or update a row in

'gliao.TblSize' already deleted or updated by another transaction.

--

(rvlib/rv_TabLockMgr.cxx 2358)

(0 rows affected)



Thanks,
-------------------
Richard Mei | Senior Manager, Data Services | Customer Data Management | BMTT, 416-927-5784 | Website: CAD/MBA Datamart<http://sites.bmogc.net/corp/mbadatamart/default.aspx>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://iqug.org/pipermail/iqug/attachments/20150320/4fc7207c/attachment.html>


More information about the IQUG mailing list