摘要:
A new continuous query to a data stream management system (DSMS) may use a silent relation whose source does not provide any heartbeats. During execution of any given operator, the DSMS processes data from one input (“active input”) using its time stamp as if the same time stamp is received from another input whose relation has fallen silent (“empty input”), if one or more predetermined conditions are met. One predetermined condition is that the empty input's operator has all its own inputs silent. And another predetermined condition is that a maximum time stamp that is currently present among all the inputs of the empty input's operator is equal to a time stamp that was last received from these same inputs. When both conditions are met, previously received data from the empty input is time stamped with the same time stamp as the most recently received data from the active input.
摘要:
A method and apparatus for performing network file system (NFS) operations across a plurality of servers is provided. At a first server, a filehandle for a particular file is generated based, at least in part, on an identifier that uniquely identifies the particular file relative to all other files within a file system repository. The file system repository may be implemented in a database. The identifier may also be stored in the database. The first server sends a client the filehandle. The client may thereafter send another request for the performance of a file operation, containing the filehandle, to a different server. The second server may read the filehandle and use the identifier to locate the file within the repository against which to perform the file operation without receiving, from the first server, information that associates the filehandle with the file.
摘要:
A method and apparatus for loading an XML document into memory is provided. A client loads one or more array elements into a first partition of an array that is maintained in memory. Each array element represents an XML element of an XML document. Upon determining that an amount of data maintained in the first partition exceeds a first threshold, the client subsequently loads array elements into a new partition of the array. Upon determining that an amount of data maintained in the memory of the client exceeds a second threshold, the array elements of the least recently used partition are persistently stored in a database without persistently storing the entire XML document. When the last XML element of the XML document is loaded into a partition of the array, that partition is persistently stored in the database, thereby causing the entire XML document to be stored in the database.
摘要:
A method and apparatus for performing file system operations involving a link is provided. A request to perform a file system operation involving a link is received from a client at a database server. The link may establish a relationship a source resource has to a target resource. The source resource and the target resource may be stored within a repository implemented by a storage medium, such as a database. The database server may perform the file system operation by storing, in the database, one or more link records that identifies the link between the first resource and the second resource. File system operations, such as a NFS file system operation, which involve links may be performed at a database management system.
摘要:
A method and apparatus for performing network file system (NFS) operations across a plurality of servers is provided. At a first server, a filehandle for a particular file is generated based, at least in part, on an identifier that uniquely identifies the particular file relative to all other files within a file system repository. The file system repository may be implemented in a database. The identifier may also be stored in the database. The first server sends a client the filehandle. The client may thereafter send another request for the performance of a file operation, containing the filehandle, to a different server. The second server may read the filehandle and use the identifier to locate the file within the repository against which to perform the file operation without receiving, from the first server, information that associates the filehandle with the file.
摘要:
A method and apparatus for sharing state information among a plurality of servers is provided. A first server receives a request to perform a file operation, such as a NFS file system operation. Thereafter, the first server updates state information to reflect a change in state associated with processing the request. The first server then causes state update information, which identifies the change in state that was made at the first server, to be propagated to a second server. The second server updates state information, stored at the second server, to reflect the change in state associated with processing the request at the first server. Advantageously, a client may send a series of stateful file operations to either the first server or the second server, even if processing any one of the stateful file operation requests requires knowledge of the state of processing prior requests in the series of requests.
摘要:
A hierarchy may be explicitly or implicitly reflected in existing data maintained external to hierarchy structures. Such hierarchies are referred to herein as a “pre-existing hierarchies”. Techniques are described herein for capturing a pre-existing hierarchy in hierarchy structures. After a pre-existing hierarchy has been captured, there exist two independent sets of data that reflect the hierarchy: the external hierarchy definition and the internal hierarchy definition. Changing either hierarchy definition changes the hierarchy. Therefore, to maintain a consistent reflection of the hierarchy, the internal hierarchy definition must be modified in response to changes made to the external hierarchy definition, and the external hierarchy definition must be modified in response to changes made to the internal hierarchy definition. Various techniques are described for maintaining consistency between the two hierarchy definitions.
摘要:
A method and apparatus for processing path-based database operations is provided. According to one aspect, a “parent row ID” column is added to a directory links table. For each row in the table, the value of the “parent row ID” column indicates the row ID, in the table, of the node that is that row's node's parent in the file hierarchy. To determine whether a particular node is within a specified path of the file hierarchy, the particular node's pathname is derived by visiting child-to-parent links indicated in the table and prepending, to the front of a pathname being constructed for the particular node, node names indicated in the visited rows. Each parent node's row in the directory links table is located using the “parent row ID” column of the child node's row. The resulting pathname is compared with the specified path to determine whether the particular node exists therein.
摘要:
A system and method for enabling a second database instance to more quickly process a request to execute a database statement that has previously been executed by a first database instance is described. In one embodiment, the method involves sending the database statement from the first database instance to the second database instance, and generating by the second database instance one or more structures needed to prepare the statement for execution, such as a parse tree and an execution plan for the statement. If at some point in the future, the second database instance receives a request to execute the same statement, the above structures can be used for execution, thereby eliminating the need for one or more potentially time-consuming operations, such as generation of a parse tree or execution plan for the statement.
摘要:
Techniques and systems are disclosed for directly storing semistructured data in a database. According to one aspect, a client application reads data that comprises instances of a parent type. The client application invokes routines associated with the parent type. An array is created for storing instances of the parent type. These routines invoke routines associated with a child type of the parent type. An array is created for storing instances of the child type. The arrays are populated with values specified in the data. According to one aspect, some columns of the arrays may be populated with other values to be stored in hidden columns of database tables. The client application converts the arrays into a data stream that conforms to the format of the database's data blocks. The client application then streams the data to a database server, which writes the data blocks directly into one or more data blocks in the database.