An object language application (e.g., C++, JAVA, etc.,) issues a query over a view and receives back, as query results, handles to application type objects which can be further manipulated by the application. A view is defined herein as a collection of a view type, and a view type is defined as a class or type. A tool is used by a programmer writing the application to create object language class definitions that are based upon the view type of the view referenced by the query. Upon receipt of the query referencing a view type, a query engine generates a query plan that builds mock (i.e., proxy) application type objects in memory based upon the view types. The application objects have a form that is consistent with the class definition for a type of object returned as a result. The application can run methods on the application type objects or point to other application type objects from the handles, to the application objects, that are returned to the application; and these manipulations will be understood by the query engine. In a preferred embodiment, query rewrite optimizations are applied to the queries over views requiring object building in order to optimize the evaluation of the query and the building of view objects as query results. Query rewrite optimizations can also be applied so that parts of the query are pushed down to the DBMS to minimize the number of objects that need to be built.
CONTINUATION DATA
This application is related by common inventorship and subject matter and is a continuation of U.S. patent application Ser. No. 08/853,976, now U.S. Pat. No 6,122,627, entitled "A SYSTEM, METHOD, AND PROGRAM, FOR OBJECT BUILDING IN QUERIES OVER OBJECT VIEWS", filed on May 9, 1997, by Michael J. Carey et. al.
This application is related by subject matter to copending U.S. patent application Ser. No. 08/853,270, now U.S. Pat. No. 5,897,634, entitled "Optimized Caching of SQL Data In An Object Server System" filed on even date herewith by Gopi K. Attaluri et al., assigned to the Assignee hereof and entirely incorporated herein by this reference.
Web based clients using embodiments of the disclosed invention may efficiently access stored manipulation functions in order to perform manipulation functions on data via Internet applications. The disclosed system allows web based applications to receive manipulation services on data using dynamically maintained, centrally stored, manipulation functions.
A method, computer product, and system for pushdown analysis during query plan generation is provided. Rather than do pushdown analysis for portions of a query that are query execution plan independent, the present invention provides pushdown analysis for features of a query that are plan dependent. This is done by evaluating a portion of the query plan for pushdownability to a remote database system; and if pushdownable to the remote database system, generating cost parameters for the portion of the plan if executed at a local database system and if executed at the remote database system. With both sets of cost parameters, the query optimizer has added information on which to select an optimal query plan.
A method of identifying the type of an object that has a set of properties, each of which is assigned a value, includes: receiving a first set of properties characteristic of a type of object, the first set of properties being divided into a subset of sufficient properties and a subset of additional properties; and determining whether the object is of the first type based only on whether the properties in the subset of sufficient properties are matched by the object. The first type of object is associated with a representation of a document as a directed graph of objects.
A three-tiered transaction processing system is provided in which state information maintained in the database tier is used to facilitate recovery of transaction coordinators without the transaction coordinators having to maintain their own recovery information and a method of accessing such state information while controlling the lifetime of this recovery information; i.e., keeping it around long enough so that client tier will have a consistent view of the world before the information is forgotten. This solves the problem of outcome determination.
A client method for providing three tier asynchronous client transparency includes sending a request and a count from a client to a first application server of an application server group. The request and count are resent to the group, if no corresponding decision is received within a pre-determined time period. The request is resent with an incremented count to a selected one of the first application server and the group, if the corresponding decision indicates that the result has not been committed. An application server method attempts to write a server identity to a write-once register in response to receipt of a client tier originated request. An attempt is made to write the computed result and a determined outcome as a first decision to the write-once register. The transaction identified by the request is terminated consistent with a second decision indicated by the write-once register. The result of the second decision is provided to the client-tier.