摘要:
Techniques are provided for facilitating uniform access control to data managed by a database server that can emulate hierarchically organized systems, whether the data is accessed through hierarchical or relational access mechanisms. A database server that can emulate hierarchically organized systems uses separate relational or object-relational database tables to store the content of the resources that belong to a hierarchy (the “content structures”) and information that captures the hierarchy (the “hierarchy structures”). Both types of structures contain access control data that define consistent user access privileges. To determine access privileges for a user requesting access to data in the database, access control information is accessed in the hierarchy structures when the request is made through the hierarchical access mechanism, or accessed in the content structures when the request is made through a relational access mechanism. Access control is consistent between the hierarchical or relational access mechanisms because access through either is governed by user access data that reflects the same privileges.
摘要:
Techniques are provided to achieve performance improvements for path-based access to hierarchical data and for utilizing an extensible indexing framework. Extensible operators may be optimized by evaluating the operators using functions native to the database system instead of using functions defined through an extensible indexing mechanism. Furthermore, the database system may resolve a resource path of a query when the query is compiled, and may store the mapping of the resource path to one or more resources in a cursor for the query execution plan to avoid resolving the resource path each time the cursor is used to run the query. The cursor may be made dependent on the one or more resources to which the resource path refers at compile time. This takes advantage of the observation that the mapping of the resource path to particular resources rarely changes between evaluations of a particular query.
摘要:
Techniques are provided to achieve performance improvements for path-based access to hierarchical data and for utilizing an extensible indexing framework. Extensible operators may be optimized by evaluating the operators using functions native to the database system instead of using functions defined through an extensible indexing mechanism. Furthermore, the database system may resolve a resource path of a query when the query is compiled, and may store the mapping of the resource path to one or more resources in a cursor for the query execution plan to avoid resolving the resource path each time the cursor is used to run the query. The cursor may be made dependent on the one or more resources to which the resource path refers at compile time. This takes advantage of the observation that the mapping of the resource path to particular resources rarely changes between evaluations of a particular query.
摘要:
A method and apparatus for performing an action in response to a file system event is provided. According to one aspect, sets of “event listeners” are associated with a file hierarchy and/or the nodes thereof. Each event listener contains a set of “event handlers.” Each event handler corresponds to a separate type of event that may occur relative to the file hierarchy's nodes. When an event is going to occur relative to the hierarchy or a node thereof, all event listeners that are associated with that hierarchy/node are inspected to determine whether those event listeners contain any event handlers that correspond to the event's type. Those event handlers that correspond to the event's type are placed in an ordered list of event handlers to be invoked. As the event handlers in the list are invoked, programmatic mechanisms that correspond to those event handlers are executed to perform customized user-specified actions.
摘要:
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.
摘要:
A two-level cache to facilitate resolving resource path expressions for a hierarchy of resources is described, which includes a system-wide shared cache and a session-level cache. The shared cache is organized as a hierarchy of hash tables that mirrors the structure of a repository hierarchy. A particular hash table in a shared cache includes information for the child resources of a particular resource. A database management system that manages a shared cache may control the amount of memory used by the cache by implementing a replacement policy for the cache based on one or more characteristics of the resources in the repository. The session-level cache is a single level cache in which information for target resources of resolved path expressions may be tracked. In the session-level cache, the resource information is associated with the entire path expression of the associated resource.
摘要:
A method and apparatus for performing an action in response to a file system event is provided. According to one aspect, sets of “event listeners” are associated with a file hierarchy and/or the nodes thereof. Each event listener contains a set of “event handlers.” Each event handler corresponds to a separate type of event that may occur relative to the file hierarchy's nodes. When an event is going to occur relative to the hierarchy or a node thereof, all event listeners that are associated with that hierarchy/node are inspected to determine whether those event listeners contain any event handlers that correspond to the event's type. Those event handlers that correspond to the event's type are placed in an ordered list of event handlers to be invoked. As the event handlers in the list are invoked, programmatic mechanisms that correspond to those event handlers are executed to perform customized user-specified actions.
摘要:
In-place XML schema evolution occurs by evaluating an existing XML schema in a database system to see if it is compatible with a new XML schema. To determine if the old schema is compatible with the new schema, a lock-step traversal is performed on the two schemas. Each instruction in the old schema is compared to instructions in the new schema. Detected differences between the two schemas are evaluated to determine if existing XML documents are still compatible with the new schema. If they are, then an in-place schema evolution operation can take place. The in-place schema operation basically, involves appending the updated object information to the underlying object type and preserving the order of elements in a document by storing element mapping information on disk.
摘要:
In a multi-tier data server system, data from the first tier is cached in a mid-tier cache of the middle tier. Access control information from the first tier for the data is also cached within the mid-tier cache. Caching the security information in the middle tier allows the middle tier to make access control decisions regarding requests for data made by clients in the outer tier.
摘要:
In-place XML schema evolution occurs by evaluating an existing XML schema in a database system to see if it is compatible with a new XML schema. To determine if the old schema is compatible with the new schema, a lock-step traversal is performed on the two schemas. Each instruction in the old schema is compared to instructions in the new schema. Detected differences between the two schemas are evaluated to determine if existing XML documents are still compatible with the new schema. If they are, then an in-place schema evolution operation can take place. The in-place schema operation basically, involves appending the updated object information to the underlying object type and preserving the order of elements in a document by storing element mapping information on disk.