摘要:
Evaluation of workspace-local queries on a repository that supports versioning is enabled by tracking which versions of resources that are stored in the repository are associated with particular workspaces. A mapping is created and maintained for each workspace and each workspace-enabled table, i.e., a repository table that supports multiple versions of resources in the table. The mapping, such as a bit vector, is indexed by resource identifier. A set bit indicates that a particular resource version that corresponds to the bit is associated with the particular workspace. Therefore, the mapping indicates which rows in the workspace-enabled table are in the particular workspace. Index-based and functional evaluation schemes may utilize the per workspace, per table mapping to evaluate queries on the versioned repository. A new operator (IN_WORKSPACE) is introduced, through which an evaluation routine is invoked to determine whether or not a particular row maps to a particular workspace.
摘要:
A shared workspace is associated with a group of users who share the workspace, which isolates a set of shared resources from other resources stored in a repository that supports versioning of resources. The content of a shared workspace is maintained using a set of shared references, to the set of resources associated with the shared workspace. A virtual workspace is created for a user by generating a personal mapping for the user, where the personal mapping indicates which resources from the set of shared resources the user has made personal, e.g., by checking out such resources from the repository. If the user submits a query on the repository, the particular version of each resource involved in the query is readily determinable from the shared workspace and the user's virtual workspace.
摘要:
A method and apparatus for processing a file system operation at a database server is provided. A request to perform a file system operation on a resource stored in a database is received at a database system. The request may be implemented using the NFS protocol. The request may include state identification data that identifies state information associated with the request. State information associated with the request is retrieved within the database system based on the state identification data. State information is information that describes the operational state of the requestor for a particular file. The request is then processed based, at least in part, on the state identification. File system operations may be processed a database management system to access any data, such as a file, relational data, and object-relational data.
摘要:
A method for providing optimized data representation of relations for in-memory database query processing is disclosed. The method seeks to optimize the use of the available memory by encoding relations on which the in-memory database query processing is performed and by employing auxiliary structures to maintain performance. Relations are encoded based on data patterns in one or more attribute-columns of the relation and the encoding that is selected is suited to a particular type of data in the column. Members of a set of auxiliary structures are selected based on the benefit the structure can provide and the cost of the structure in terms of the amount of memory used. Encoding of the relations is performed in real-time while query processing occurs, using locks to eliminate conflicts between the query processing and encoding.
摘要:
A method for providing optimized data representation of relations for in-memory database query processing is disclosed. The method seeks to optimize the use of the available memory by encoding relations on which the in-memory database query processing is performed and by employing auxiliary structures to maintain performance. Relations are encoded based on data patterns in one or more attribute-columns of the relation and the encoding that is selected is suited to a particular type of data in the column. Members of a set of auxiliary structures are selected based on the benefit the structure can provide and the cost of the structure in terms of the amount of memory used. Encoding of the relations is performed in real-time while query processing occurs, using locks to eliminate conflicts between the query processing and encoding.
摘要:
A mechanism for querying a label-aware index in the context of versioning is provided. The key of the label-aware index is a composite key and includes a unique label identifier, corresponding to a specific label, and the key of the original index, which key itself may be a composite key. The label-aware index may be implemented as an index-organized table. The label-aware index is organized on disk first by the label identifier and then by the original index key so that queries of versions of resources within a particular label are as efficient as queries on an index of an unversioned repository with the same number of resources.
摘要:
A shared workspace is associated with a group of users who share the workspace, which isolates a set of shared resources from other resources stored in a repository that supports versioning of resources. The content of a shared workspace is maintained using a set of shared references, to the set of resources associated with the shared workspace. A virtual workspace is created for a user by generating a personal mapping for the user, where the personal mapping indicates which resources from the set of shared resources the user has made personal, e.g., by checking out such resources from the repository. If the user submits a query on the repository, the particular version of each resource involved in the query is readily determinable from the shared workspace and the user's virtual workspace.
摘要:
Evaluation of workspace-local queries on a repository that supports versioning is enabled by tracking which versions of resources that are stored in the repository are associated with particular workspaces. A mapping is created and maintained for each workspace and each workspace-enabled table, i.e., a repository table that supports multiple versions of resources in the table. The mapping, such as a bit vector, is indexed by resource identifier. A set bit indicates that a particular resource version that corresponds to the bit is associated with the particular workspace. Therefore, the mapping indicates which rows in the workspace-enabled table are in the particular workspace. Index-based and functional evaluation schemes may utilize the per workspace, per table mapping to evaluate queries on the versioned repository. A new operator (IN_WORKSPACE) is introduced, through which an evaluation routine is invoked to determine whether or not a particular row maps to a particular workspace.
摘要:
A method and apparatus for reverting a resource to a prior state in time is provided. Changes are committed to a resource at a particular point in time. After the particular point in time, a request, which may be a file system operation request, to revert the resource to a state prior to the particular point in time is received at a database server. In response to the request, the resource is reverted to the state prior to the particular point in time. The current state of the resource ceases to reflect the plurality of changes. Advantageously, if a requestor creates an incorrect version of a resource, the changes made to a schema-based resource are not compatible with the schema, or the changes of multiple requesters are not compatible with each other, the resource may be reverted to the earlier point in time.
摘要:
Efficient evaluation of resource version history queries is enabled by using a data container storing records corresponding to links between successive versions of a resource. The records include: (a) a record identifier, (b) a predecessor identifier, (c) a successor identifier, (d) a predecessor rowset, which comprises the record identifier of each record in which the predecessor identifier in this record is the successor identifier, and (e) a successor rowset, which comprises the record identifier of each record in which the successor identifier in this record is the predecessor identifier. Depending on the nature of a request, a record is identified in which a particular version is identified by either the predecessor identifier or the successor identifier. Either the predecessor or successor rowsets are recursively read, while the predecessor or successor identifiers corresponding to each record read are added to a result set, thereby forming the ancestor or descendant version history.