Patent ID: 9542439
Date: 2017-01-10
CPC Classifications: G06F

Claim:
1. A method for providing a catalog query language (CaQL) application programming interface (API), comprising: receiving, at a processor which performs the CaQL API, a query associated with performing an operation on a first table in a catalog, wherein the catalog includes metadata; using the processor to determine a catalog access target, wherein: using the processor to determine if there is a preexisting lock on a second table that can be reused for the first table, wherein the first table is different from the second table; in the event it is determined that there is a preexisting lock on the second table that can be reused for the first table, using the processor to determine if the strength of the preexisting lock on the second table is sufficient; in the event: (a) it is determined that there is a preexisting lock on the second table that can be reused for the first table and (b) it is determined that the strength of the preexisting lock on the second table is not sufficient, obtaining a new lock for the first table; in the event: (1) it is determined that there is a preexisting lock on the second table that can be reused for the first table and (2) it is determined that the strength of the preexisting lock on the second table is sufficient, reusing the preexisting lock on the second table for the first table; generating, based at least in part on the CaQL keyword, a catalog function; and performing the catalog function on the selected location, and wherein in the event there is a lock on the second table and the first table depends from the second table, it is determined that there is a preexisting lock on the second table that can be reused for the first table; and in the event there is a lock on the second table and the first table does not depend from the second table, the lock on the second table does not count as a preexisting lock on the second table that can be reused for the first table.