For semantically partitioned tables, updating the value in a partition-key column can move the data row from one partition to another.
SAP ASE updates partition-key columns in deferred mode when a data row must move to another partition. A deferred update is a two-step procedure in which the row is deleted from the original partition and then inserted in the new partition.
create table test_table (a int) partition by range (a) (partition1 <= (1), partition2 <= (10))
Transaction T1: begin tran go update table set a = 0 go
Transaction T2: select count(*) from table isolation level 1 go
Updating T1 causes the single row to be deleted from partition2 and inserted into partition1. However, neither the delete nor the insert is committed at this point. Therefore, select count(*) in T2 does not block on the uncommitted insert in partition1. Rather, it blocks on the uncommitted delete in partition2. If T1 commits, T2 does not see the committed delete, and returns a count value of zero (0).
This behavior can be seen in inserts and deletes on data-only-locked tables that do not use partitions. It exists for updates only when the partition-key values are updated such that the row moves from one partition to another. See, Controlling Physical Data Placement, in the Performance and Tuning Series: Physical Database Tuning and, Indexes, in the Performance and Tuning Series: Locking and Concurrency Control.