Patent ID: 11940972
Assignee: SAP SE
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 14:
15. A system for utilizing partition-based locking mechanisms to improve execution of parallel database object modifying operations and database table altering operations on a partitioned database table, the system comprising:
at least one processor;
and at least one non-transitory memory storing computer executable instructions that when executed by the at least one processor cause the system to carry out actions comprising:
receiving, at a first database host, one or more database table altering statements associated with a first transaction on a first table partition;
acquiring, by the first database host, a first-host intent exclusive lock on table metadata associated with the partitioned database table for the first transaction;
in response to receiving, by a second database host, at least one sequential object modifying statement associated with a second transaction operating on the partitioned database table:
acquiring, by the second database host, a second-host exclusive lock on second-host table metadata associated with the partitioned database table;
acquiring, by the second database host, a second-host intent exclusive lock on table data of the first table partition;
acquiring, by the first database host, a first-host exclusive lock on first-node table metadata;
executing, by the second database node, operations associated with the one or more database table altering statements; and
in response to determining that the operations associated with the one or more database table altering statements have successfully completed, committing the first transaction;

acquiring, by the first database host, an exclusive lock on first-host table metadata data;
acquiring, by the second database host, an all-partition exclusive lock on table data of each of the partitions of the partitioned table;
executing, by the first database host, operations associated with the at least one sequential database object modifying statement; and
in response to determining that the operations associated with a last one of the at least one sequential database object modifying statement has successfully completed, committing the second transaction.