Patent ID: 7890482

Claim:
A computer readable medium encoded with a computer program having stored thereon computer executable instructions for controlling concurrency of access to data in a database system, which when executed by at least one processor, causes the processor to perform: receiving a lock request for access to data in the database system, the lock request being a request for a page lock or a row lock for a corresponding row or page in the database system containing the data, wherein a table is divided into partitions, wherein each partition contains a portion of the data in the table; identifying the partition in the database system that contains the row or the page in the database system containing the data; determining whether the data has been committed; in response to the determination that the data being committed at a time of receiving the lock request, accessing the data without using a partition lock; in response to the determination that the data not being committed at a time of receiving the lock request, associating the lock request with a partition lock on the partition that contains the row or the page in the database system containing the data, wherein associating the lock request with the partition lock comprises associating each lock request for the page or the row with the partition lock on the partition that contains the data, the partition lock locking the partition at a lock state that permits serialized access to data in the partition; and serially accessing the data in the partition using the partition lock.