Efficient path-based operations while searching across versions in a repository
First Claim
1. A method comprising the steps of:
- receiving a database statement that specifies a particular path and one or more conditions relating to either content of one or more resources or metadata associated with the one or more resources; and
in response to receiving the database statement;
identifying a first set of versions, of one or more versioned resources, that satisfy the one or more conditions in the database statement;
determining, from among the first set of versions, a second set of one or more versions by determining which versions of the first set of versions are versions of any versioned resource that has any version that satisfies the particular path;
wherein the second set of one or more versions includes a particular version of a particular versioned resource;
wherein a path that identifies a hierarchical location of the particular version does not satisfy the particular path;
wherein a version of the particular versioned resource other than the particular version satisfies the particular path;
generating, based on the second set of one or more versions, a result of the database statement;
wherein the steps are performed on one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique and mechanism for efficiently searching across multiple versions of a resource is provided. New operators are provided that take into account the versions of a particular resource. The query engine evaluates the new operators using either an index-based approach or a functional approach. Under an index-based implementation, a hierarchical index is traversed to find a particular resource (or resources) associated with a specified path and the version history identifier associated with the particular resource(s). A version history table containing references to all versions of the particular resource(s) are then obtained. Under the functional implementation, a link table, which contains all paths in a user'"'"'s workspace, is examined to determine whether the version history identifier of a particular resource matches a version history identifier of a resource specified in the link table and whether the path to the resource in the link table is related to the path specified.
58 Citations
32 Claims
-
1. A method comprising the steps of:
-
receiving a database statement that specifies a particular path and one or more conditions relating to either content of one or more resources or metadata associated with the one or more resources; and in response to receiving the database statement; identifying a first set of versions, of one or more versioned resources, that satisfy the one or more conditions in the database statement; determining, from among the first set of versions, a second set of one or more versions by determining which versions of the first set of versions are versions of any versioned resource that has any version that satisfies the particular path; wherein the second set of one or more versions includes a particular version of a particular versioned resource; wherein a path that identifies a hierarchical location of the particular version does not satisfy the particular path; wherein a version of the particular versioned resource other than the particular version satisfies the particular path; generating, based on the second set of one or more versions, a result of the database statement; wherein the steps are performed on one or more computing devices. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising the steps of:
-
receiving a database statement that specifies a particular path and does not specify any version information; and in response to receiving the database statement; determining that at least a first path, satisfies the particular path, wherein the first path identifies a first hierarchical location in a first hierarchy, determining that a particular version of a particular versioned resource resides at the first hierarchical location, after determining that the particular version resides at the first hierarchical location, searching for other versions of the particular versioned resource, as a result of said searching, identifying a plurality of versions of the particular versioned resource, wherein each of the plurality of versions (a) is different than the particular version and (b) resides at a hierarchical location that is identified by a path that does not satisfy any path specified in the database statement, and generating, based on the plurality of versions, results of the database statement; wherein the steps are performed on one or more computing devices. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more storage media storing instructions which, when executed by one or more processors, cause:
-
receiving a database statement that specifies a particular path and does not specify any version information; and in response to receiving the database statement; determining that at least a first path, satisfies the particular path, wherein the first path identifies a first hierarchical location a first hierarchy, determining that a particular version of a particular versioned resource resides at a first hierarchical location, after determining that the particular version resides at the first hierarchical location, searching for other versions of the particular versioned resource, as a result of said searching, identifying a plurality of versions of the particular versioned resource, wherein each of the plurality of versions (a) is different than the particular version and (b) resides at a hierarchical location that is identified by a path that does not satisfy any path specified in the database statement, and generating, based on the plurality of versions, results of the database statement. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. One or more storage media storing instructions which, when executed by one or more processors, cause:
-
receiving a database statement that specifies a particular path and one or more conditions relating to either content of one or more resources or metadata associated with the one or more resources; and in response to receiving the database statement; identifying a first set of versions, of one or more versioned resources, that satisfy the one or more conditions in the database statement; determining, from among the first set of versions, a second set of one or more versions by determining which versions of the first set of versions are versions of any versioned resource that has any version that satisfies the particular path; wherein the second set of one or more versions includes a particular version of a particular versioned resource; wherein a path that identifies a hierarchical location of the particular version does not satisfy the particular path; wherein a version of the particular versioned resource other than the particular version satisfies the particular path; generating, based on the second set of one or more versions, a result of the database statement. - View Dependent Claims (29, 30, 31, 32)
-
Specification