CA2510643A1 - Master-detail provider and method of providing master-detail functionality - Google Patents

Master-detail provider and method of providing master-detail functionality Download PDF

Info

Publication number
CA2510643A1
CA2510643A1 CA002510643A CA2510643A CA2510643A1 CA 2510643 A1 CA2510643 A1 CA 2510643A1 CA 002510643 A CA002510643 A CA 002510643A CA 2510643 A CA2510643 A CA 2510643A CA 2510643 A1 CA2510643 A1 CA 2510643A1
Authority
CA
Canada
Prior art keywords
detail
master
queries
query
provider
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002510643A
Other languages
French (fr)
Inventor
Mirjana Simic
Vladimir Mordvinov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognos Inc
Original Assignee
Cognos Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognos Inc filed Critical Cognos Inc
Priority to CA002510643A priority Critical patent/CA2510643A1/en
Priority to CA2519604A priority patent/CA2519604C/en
Priority to US11/408,672 priority patent/US7546292B2/en
Publication of CA2510643A1 publication Critical patent/CA2510643A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/2454Optimisation of common expressions

Abstract

A master-detail provider is provided for processing user requests for data stored in one or more data source. A user request includes one or more queries. Each set of the queries is analyzed to locate one or more master-detail links linking one or more master queries and one or more detail queries. Each master query is related with one or more detail queries based on the located master-detail links.
Each master query is prepared to generate a master query plan. A master provider query is generated by incorporating the master query plan with related detail queries and related master-detail links. The master provider query is executed.

Description

Master-Detail Provider and Method of Providing Master-Detail Functionality FIELD OF INVENTION
[0001 ] The present invention relates to a master-detail provider and a method of providing master-detail functionality, and especially to a reusable master-detail provider and a method of providing master-detail functionality in an open architecture of a query processing system.
BACKGROUND OF THE INVENTION
[0002] Many organizations use data stores for storing business data, such as financial data and operational data. In order to assist business users to examine their data, various data analyzing applications are proposed. Those data analyzing applications provide various views or reports of data to users.
Those data analyzing applications typically have query engines that access the data stores to obtain desired data.
[0003JThose data analyzing applications issue requests of data from the data stores. A request may contain queries that are related by master-detail relationships. Some query engines process these queries using master-detail functionality which resolves master queries and detail queries separately, and incorporates the results of detail queries into subsections of their associated master queries.
[0004] The existing master-detail functionality is part of a query engine and has limited flexibility. It is therefore desirable to provide an improved mechanism to provide the master-detail functionality.
SUMMARY OF THE INVENTION
[0005] It is an object of the invention to provide an improved a master-detail provider and a method of providing master-detail functionality.
[0006] The present invention uses a reusable master-detail provider.
[0007] In accordance with an aspect of the present invention, there is provided a master-detail provider for processing user requests for data stored in one or more data sources. The master-detail provider comprises a query analyzer, a master-detail link handler, a detail query handler and a master query handler. The query analyzer is provided for receiving a user request including one or more queries, and analyzing each set of the queries to determine if it includes one or more master-detail links linking one or more master queries and one or more detail queries. The master-detail link handler is provided for relating one or more sets of queries that have master-detail links, and extracting the master-detail links from the queries. The detail query handler is provided for handling the detail queries.
The master query handler is provided for causing preparation of the master queries to generate master query plans, and for generating master provider queries by incorporating the master query plans with related detail queries and related master-detail links.
[0008] In accordance with an aspect of the present invention, there is provided a query framework system for processing user requests for data stored in one or more data sources. The query framework system comprises one or more query operation providers, each capable of preparing or executing relevant queries, a coordination planner for coordinating communication between the query operation providers, and a master-detail provider. The master-detail provider comprises a query analyzer, a master-detail link handler, a detail query handler, and a master query handler. The query analyzer is provided for receiving from the coordination planner a user request including one or more queries, and analyzing each set of the queries to determine if it includes one or more master-detail links linking one or more master queries and one or more detail queries. The master-detail link handler is provided for relating one or more sets of queries that have master-detail links, and extracting the master-detail links from the queries. The detail query handler is provided for handling the detail queries. The master query handler is provided for communicating with the coordination planner for preparation of the master queries to generate master query plans, and for generating master provider queries by incorporating the master query plans with related detail queries and related master-detail links.

[0009] In accordance with an aspect of the present invention, there is provided a method of processing user requests for data stored in one or more data source.
The method comprises the steps of receiving a user request for data, the user request including one or more queries; analyzing each set of the queries to locate one or more master-detail links linking one or more master queries and one or more detail queries; relating one or more master queries and one or more detail queries based on the located master-detail links; causing preparation of the master queries to generate master query plans; generating one or more master provider queries by incorporating the master query plans with related detail queries and related master-detail links; and sending the master provider queries for execution.
[0010] In accordance with an aspect of the present invention, there is provided a memory containing computer executable instructions that can be read and executed by a computer for caring out the method of processing user requests for data stored in one or more data source.
[0011] In accordance with an aspect of the present invention, there is provided a carrier carrying a propagated signal containing computer executable instructions that can be read and executed by a computer, the computer executable instructions being used to execute the method of processing user requests for data stored in one or more data source.
[0012] This summary of the invention does not necessarily describe all features of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] These and other features of the invention will become more apparent from the following description in which reference is made to the appended drawings wherein:
Figure 1 is a block diagram showing a query framework system in which a master-detail provider in accordance with an embodiment of the present invention is suitably used;
Figure 2 is a block diagram showing the query framework system;
-3-Figure 3 is a block diagram showing a master-detail provider in accordance with an embodiment of the present invention;
Figure 4 is a flowchart showing operation of the master-detail provider in accordance with an embodiment of the present invention;
Figure 5 is a flowchart showing interaction of the master-detail provider with a coordination planner during the preparation phase;
Figure 5A is a diagram showing an example of a provider query;
Figure 5B is a diagram showing an example of a master query plan;
Figure 6 is a flowchart showing interaction of the master-detail provider with the coordination planner during the execution phase of master queries;
Figure 6A is a diagram showing an example of a master query plan;
Figure 7 is a flowchart showing interaction of the master-detail provider with the coordination planner during the preparation and execution of detail queries;
Figure 7A is a diagram showing an example of a detail filter;
Figure 7B is a diagram showing an example of a provider query;
Figure 7C is a diagram showing an example of a message;
Figure 7D is a diagram showing an example of execution;
Figure 7E is a diagram showing an example of execution;
Figure 8 is a flowchart showing interaction of the master-detail provider with the coordination planner during rendering of detail queries;
Figure 8A is a diagram showing an example of a detail filter;
Figure 8B is a diagram showing an example of a parameters; and Figure 8C is a diagram showing an example of execution.
DETAILED DESCRIPTION
[0014] Figures 1 and 2 show a query framework system 10 in which a master-detail provider 100 (Figure 2) in accordance with an embodiment of the application is suitably used. The master-detail provider 100 may be a standalone pluggable component as shown in Figure 2, or a part of a component that processes user requests containing one or more queries. The following
-4-descriptions describe an embodiment of the master-detail provider as a standalone component, but the invention is not limited to such an embodiment.
[0015] The query framework system 10 is used in a computer system 20 having an input unit 22 and an output unit 24. The query framework system 10 is provided to receive user requests from a data analyzing system 30 and process the received user requests to retrieve requested data from one or more data sources 32.
[0016] The query analyzing system 30 is an application that provides various views of data in the data sources 32 to allow users to analyze the data. When a user requests a view of data, the query analyzing system 20 generates a user request. To generate user requests, the query analyzing system 20 may use a metadata model 34 that contains metadata of the data sources 32. The user request is in a query language that the query analyzing system 20 uses to issue the user request. Some query analyzing system 20 may issue a user request in a data source language, such as SQL, and some query analyzing system 20 may issue a user request in a language specific to the query analyzing system 20.
[0017] The query framework system 10 intercepts user requests generated by the data analyzing system 30. It processes and executes the user requests to retrieve desired data from the data sources 32.
[0018] As shown in Figure 2, the query framework system 10 has multiple query processing components 12. Query processing components 12 share a common interface 14 and a common query language of the query framework system 10.
Query processing components 12 are pluggable components. Query processing components 12 include a set of query operation providers 50, and a coordination planner 60. The query framework system 10 may also have an operation support table 16 that describes functionalities of the query operation providers 50.
[0019] The coordination planner 60 organizes interaction between the query processing components 12. The interaction is carried out through the common interface 14 and based on the common query language. The coordination
-5-planner 60 divides the query processing into two phases: query planning or preparation phase and a query execution phase. During the query preparation phase, the coordination planner 60 interacts with components in order to identify and plan the operations associated with each component involved in the query preparation process, and to determine the sequence of these operations. The coordination planner 60 may use one or more query operation providers 50 during the query preparation phase. During the query execution phase, the coordination planner 60 distributes the query operations to associated query operation providers 50. To distributes the query operations, the coordination planner 60 may use an operation support table 16 that contains information of the query operation providers 50. The coordination planner 60 invokes the query operations in the sequence determined at the preparation phase.
[0020] During the preparation phase, the coordination planner 60 converts a user request received from the data analyzing system 30 into a converted query or a query framework (QF) query. A QF query plays the role of a query specification that the query operation providers 50 use to communicate to each other and to the coordination planner 60 within the query framework system 10. The QF query definition is an extension of the user request specification defined by the data analyzing system 30. The coordination planner 60 and the query framework system 10 are further described in a patent application (attorney docket No.
08902309) entitled "System and method for query planning and execution", which is hereby incorporated by reference.
[0021] Each query operation provider 50 is capable of performing a specific operation on queries. Query operation providers 50 include the master-detail provider 100 as well as one or more query planner query providers and/or query transformation providers. Query planner providers are responsible for replacement of the received user request with provider queries. Normally query planner providers are components that provide access to data either through internal operations or by calling external components provider data. Query transformation providers are responsible for preprocessing of the received user request, and transforms the received user request into a QF query in order, for example, to make it simpler or supported by other components in the query framework system 10. While Figure 2 shows three query operation providers, there may be fewer or more query operation providers in the query framework system 10.
[0022] A user request issued by the data analyzing system 20 often contains multiple queries. Some queries are related to each other in a relation of master and detail. Where the instances of the detail queries are dependent of the context of its related master query, a master-detail operation may be applied to the master and detail queries. The master-detail operation is a way of incorporating the results of detail queries into subsections of a master query.
[0023] The master-detail provider 100 is a query transformation provider. It encapsulates the master-detail operation as a standalone component. Thus, it is suitable to participate in the open query processing architecture responsible for query processing, such as the query framework system 10. The master-detail provider 100 is reusable.
[0024] The master-detail provider 100 centralizes the planning and execution procedures of the separate queries that are linked by a master-detail data relationship between them. The master query determines when each detail query should be rendered. The data relationship, i.e., the master-detail link, determines under which conditions each detail query should be rendered. The detail query is executed and rendered for each master data item that satisfies the conditions) specified in the master-detail link.
[0025] Any master query may have relationship to one or more detail queries that are rendered side-by-side beneath the same master query. Any detail query may act as a master query for another detail query.
[0026] The master-detail provider 100 invokes preparation and execution of specifications of two or more separate queries with one or more relationships between them. The relationship between the queries is specified in a master-detail link context of either master or detail query as a parameter or a reference to a data item of the query.
[0027] For example, a relationship may be specified as follows:
<masterDetaiILink>
<masterContext refQueryResuItDefinition="MasterQuery">
<dataltemContext refDataltem="Order year"/>
</masterContext>
<detailContext refQueryResuItDefinition="DetaiIQuery">
<dataltemContext refDataltem="Order year"/>
</detailContext>
</masterDetaiILink>
[0028] The master-detail provider 100 allows the flexibility of the query definition for various types of queries that can be used to represent either the master or detail query.
[0029] As shown in Figure 3, the master-detail provider 100 has a query analyzer 102, a master/detail query handler 104, a master query handler 106 and a detail query handler 108.
[0030] The query analyzer 102 analyses each set of queries included in a received user request, and determines if any set of queries are linked by one or more master-detail relationships or links. The master-detail link handler 104 relates a set of the queries as a master query and one or more detail queries if master-detail links are located. The master query handler 106 handles master queries. It causes preparation of each master query to generate a master query plan. The master query handler 106 generates one or more provider queries by incorporating the master query plan with related detail queries and related master-detail links. The detail query handler 108 handles detail queries. The detail query handler 108 has a filter generator 110 for generating filters for detail queries.
_g_ [0031 ] The operation of the master-detail provider 100 during the preparation of a user request is now described referring to Figures 4 and 5.
[0032] The master-detail provider 100 receives the multiple queries of a user request from the coordination planner 60 and analyzes each query set (120).
The master-detail provider 100 analyzes the queries and determines if each query set has any master-detail link (122). If a query set does not include any master-detail link between the queries of the query set, the master-detail provider 100 returns the query set unchanged to the coordination planner 60 (126) for further processing. If all query sets in the user request do not have any master-detail link, the role of the master-detail provider 100 is finished for the user request.
[0033] If a query set 200 includes one or more master-detail links 206 (122), the master-detail provider 100 relates the master query 202 and the detail query using the context of the master-detail links 206 (128) [0034] Once all query sets are analyzed, the master-detail provider 100 analyzes the located master-detail links 206 and determines which master query 202 is linked with which detail query or queries 204 by which master-detail link or links 206. There may be one or more master queries 202. Based on the results, the master-detail provider 100 makes a collection of master queries 202 and related details queries 204 (130).
[0035] For a master query 202, the master-detail provider 100 moves related master-detail links 206 into a master-detail links node (132), and related detail queries 204 into to a detail query node (134) [0036] The master-detail provider 100 then sends the master queries 202, each master query 202 as a request, to the coordination planner 60 for preparation of the master query 202 for subsequent execution (136). The coordination planner 60 dispatches each request to its relevant query operation provider or providers 50 which prepare the master query 202 included in the request. The query operation providers 50 generate one or more provider queries 210 for a master query or queries 202. The result of the preparation of the master queries 202 is a collection of provider queries 210 generated from the master queries 202. The collection of the provider queries 210 forms a master query plan 212.
[0037] The master-detail provider 100 receives the master query plan 212 (138) which contains the prepared provider queries 210. The master-detail provider 100 then generates a provider query 220 that incorporates the master query plan 212, the related detail queries 204 and the master-detail links 206 (140). An example of the provider query 220 is shown in Figure 5A, and an example of the master query plan 212 is shown in Figure 5B. The master-detail provider 100 sends the provider query 220 as a request to the coordination planner 60 for execution (142).
[0038] During the execution phase, master queries are executed, and detail queries are prepared and executed.
[0039] Figure 6 shows the execution of the master queries 202. The coordination planner 60 receives from the master-detail provider 100 requests 220, each including a master query plan 212 that contains one or more prepared provider quires 210. For each request 220, the coordination planner 60 dispatches to one or more appropriate query operation providers 50 each of the prepared provider queries 210 placed in the master query plan 212. The query operation providers 50 execute the prepared provider queries 210 and return master datasets 222.
The coordination planner 60 returns a vector of the master datasets 230 for each of the executed requests 220.
[0040] Figure 7 shows the preparation and execution of the detail queries 204.
Each request 220 contains one or more detail queries 204 which are unprepared queries. The master-detail provider 100 causes the unprepared queries to be transformed in the following manners, depending on the type of the master-detail links 206.
[0041] When the master-detail link 206 is based on a data item reference at the preparation phase of the detail queries, a filter 242 is generated and added to the detail query 202. To this end, the master-detail provider 100 composes - ~o-conditions of the filter 242 with a reference to a prompt that relates to the master and the detail queries 202, 204. The master-detail provider 100 generates a filter 242 for each of the master-detail links 206, and incorporates the detail filter 242 into the specification of the respective detail query 204. The name of the prompt in each filter 242 is uniquely generated from the name of the related master query and the name of the data item to which the master-detail link 206 reference.
The master-detail provider 100 preserves the prompt names and the referenced data items.
[0042] When the master-detail link 206 is based on parameters, a filter 242 should already exist in the detail query 204.
[0043] During the preparation phase of detail queries 202, the master-detail provider 100 sends requests 240, each containing a detail query 202 having its associated filter 242 (e.g. Figure 7A), to the coordination planner 60. For each request 240, the coordination planner 60 sends the filter 242 to an appropriate query operation provider 50 for preparation. The query operation provider 50 returns a provider query 244. The coordination planner 60 updates the detail query 202 by incorporating the returned provider query 244. For all received requests 240, the coordination planner 60 generates updated detail queries 250 and forwards them back to the master-detail provider 100. The master-detail provider 100 generates a provider query 260 for the detail queries 202 as the result of the preparation. The resultant provider query 260 of the detail queries is ready to be executed. Figure 7B shows an example of the provider query 260.
[0044] During the execution phase of the detail queries, the master-detail provider 100 sends the provider query 260 as a detail query request to the coordination planner 60 for execution. The master-detail provider 100 dispatches each of the provider queries 244, which are prepared from the filters 242 and contained in the detail query request 260, to one or more appropriate query operation providers 50. Since each of the detail query requests 260 includes a filter 242 with a prompt, the execution of the prepared provider queries 244 triggers an exception that is caught and analyzed. If any of the unresolved prompts is not registered in the list of the link parameters, the master detail provider 100 re-throws the exception, otherwise the master-detail provider 100 creates a vector of the parameterized queries as an execute request. Figure 7C shows an example of the error message 262. Figure 7D shows an example of the parameterized provider queries 270.
[0045] Each of the returned parameterized queries has imbedded a link parameter node that contains Simple Object Access Protocol (SOAP) array of the link parameters that are needed to resolve detail query prompt at the rendering phase of the queries as described below. Once the detail queries are rendered, the master-detail provider 100 receives the vector of parameterized queries and generates an execute request that contains the rendered detail queries 204 and the resolved parameters 280. Figure 7E shows an example of the execute request of the rendered detail queries 280.
[0046] Referring to Figure 8, the rendering phase of the detail queries 202 is now described. The master-detail provider 100 sends requests 240, each containing a detail query 202 and filter 242, to the coordination planner 60. The coordination planner 60 in tern dispatches the filters 242 included in the requests 240 to appropriate query operation providers 50 which returns provider queries 300.
The coordination planner 60 forwards the collection of the provider quires 302 to the master-detail provider 100. The master-detail provider 100 also receives values of parameters 310 that are entered by the user in response to the prompts. The master-detail provider 100 generates an execute request 320 by incorporating the detail queries 202 with the parameters 310.
[0047] The master-detail provider 100 sends the execute request 320 to the coordination planner 60 which dispatches the parameterized queries with parameters 322 in the execute request 320 to one or more appropriate query operation providers 50 for execution. The execution of each of the parameterized queries is repeated. The number of the repetition is determined by the value that a user enters for the prompt in the parameters node in each parameterized query.

The result of the execution 324 of each parameterized query is a vector 330 of the master datasets of the detail query.
[0048] As described above, the master-detail provider 100 can be defined as the first component to be used in the query planning process invoked by the coordination planner 60. By doing so, the master-detail provider 100 may filter all received queries. It may intercept only the queries involving master-detail links.
[0049] Generation of the Provider Query designated to the physical operation responsible for generation of detail query instances.
[0050] The master-detail provider 100 can obtain parameter information of the detail queries by calling back the coordination planner 60. It can also obtain a real master dataset instance by calling back the coordination planner 60 [0051]As the master-detail provider 100 intercepts queries that contain master-detail links and resolves them at the master-detail provider 100, the queries that are sent to the coordination planner 60 do not contain master-detail links.
Thus, the master-detail provider 100 can ensure prevention of loops in the communication with the coordination planner 60 or other providers 50.
[0052] The above described execution and modification of master queries provides proxy for the real implementation of the master query. The proxy is only to intercept the requests for the detail query instances.
[0053] The master-detail provider 100 allows resolution of the master-detail functionality for all data sources for which the query processing system 10 has an access through corresponding plug-in components 50. It also allows for cross-data-source master-detail joins, given that both master and detail queries are treated as independent and can be issued against different data sources 30.
The master-detail provider 100 may be replaced by alternative implementation of the master-detail functionality which allows for transparent upgrading /
optimizing the master-detail functionality.

[0054] The master-detail provider of the present invention may be implemented by any hardware, software or a combination of hardware and software having the above described functions. The software code, either in its entirety or a part thereof, may be stored in a computer readable memory. Further, a computer data signal representing the software code which may be embedded in a carrier wave may be transmitted via a communication network. Such a computer readable memory and a computer data signal and its carrier are also within the scope of the present invention, as well as the hardware, software and the combination thereof.
[0055] The present invention has been described with regard to one or more embodiments. However, it will be apparent to persons skilled in the art that a number of variations and modifications can be made without departing from the scope of the invention as defined in the claims.

Claims (21)

WHAT IS CLAIMED IS:
1. A master-detail provider for processing user requests for data stored in one or more data sources, the master-detail provider comprising:
a query analyzer for receiving a user request including one or more queries, and analyzing each set of the queries to determine if it includes one or more master-detail links linking one or more master queries and one or more detail queries;
a master-detail link handler for relating one or more sets of queries that have master-detail links, and extracting the master-detail links from the queries;
a detail query handler for handling the detail queries; and a master query handler for causing preparation of the master queries to generate master query plans, and for generating master provider queries by incorporating the master query plans with related detail queries and related master-detail links.
2. The master-detail provider as recited in claim 1, wherein the master-detail link handler relates a master query with one or more detail queries linked by one or more master-detail links.
3. The master-detail provider as recited in claim 1, wherein the master handler causes the master provider queries executed.
4. The master-detail provider as recited in claim 1, wherein the detail query handler has a filter generator for generating a detail filter for a detail query based on a respective master-detail link, and incorporating the detail filter into the detail query.
5. The master-detail provider as recited in claim 4, wherein the filter generator generates the detail filter having a reference to a prompt for receiving a parameter value.
6. The master-detail provider as recited in claim 5, wherein the detail query handler handles the detail queries using parameter values for execution of the detail queries.
7. A query framework system for processing user requests for data stored in one or more data sources, the query framework system comprising:
one or more query operation providers, each capable of preparing or executing relevant queries;
a coordination planner for coordinating communication between the query operation providers; and a master-detail provider comprising:
a query analyzer for receiving from the coordination planner a user request including one or more queries, and analyzing each set of the queries to determine if it includes one or more master-detail links linking one or more master queries and one or more detail queries;
a master-detail link handler for relating one or more sets of queries that have master-detail links, and extracting the master-detail links from the queries;
a detail query handler for handling the detail queries; and a master query handler for communicating with the coordination planner for preparation of the master queries to generate master query plans, and for generating master provider queries by incorporating the master query plans with related detail queries and related master-detail links.
8. The query framework system as recited in claim 7, wherein the master handler communicates with the coordination planner for execution of the master provider queues.
9. The query framework system as recited in claim 7, wherein the detail query handler has a filter generator for generating a detail filter for a detail query based on a respective master-detail link, and incorporating the detail filter into the detail query.
10. The query framework system as recited in claim 9, wherein the filter generator generates the detail filter having a reference to a prompt for receiving a parameter value.
11.The query framework system as recited in claim 10, wherein the detail query handler communicates with the coordination planner for preparation and execution of the detail queries using parameter values.
12. A method of processing user requests for data stored in one or more data source, the method comprising steps of:
receiving a user request for data, the user request including one or more queues;
analyzing each set of the queries to locate one or more master-detail links linking one or more master queries and one or more detail queries;
relating one or more master queries and one or more detail queries based on the located master-detail links;
causing preparation of the master queries to generate master query plans;
generating one or more master provider queries by incorporating the master query plans with related detail queries and related master-detail links; and sending the master provider queries for execution.
13. The method as recited in claim 12 further comprising the step of:
extracting the master-detail links from the queries.
14. The method as recited in claim 12, wherein the relating step relates a master query with one or more detail queries linked by one or more master-detail links.
15. The method as recited in claim 12 further comprising the steps of:
generating a detail filter for a detail query based on a respective master-detail link; and incorporating the detail filter into the detail query.
16. The method as recited in claim 15, wherein the filter generating step generates the detail filter having a reference to a prompt for receiving a parameter value.
17. The method as recited in claim 16 further comprising the steps of:
causing preparation of each detail query by having the detail filter transformed; and generating a detail provider query by incorporating the detail query and the transformed detail filter.
18.The method as recited in claim 17 further comprising the steps of:
causing execution of the detail provider query by resolving the detail filter to generate parameterized detail queries; and generating an execution request using the parameterized detail queries.
19. The method as recited in claim 13 further comprising the steps of:
receiving parameters values for resolving the parameterized detail queries;
and rendering the detail queries using the parameters values.
20.A memory containing computer executable instructions that can be read and executed by a computer for caring out a method of processing user requests for data stored in one or more data source, the method comprising the steps of:
receiving a user request for data, the user request including one or more queues;
analyzing each set of the queries to locate one or more master-detail links linking one or more master queries and one or more detail queries;
relating one or more master queries and one or more detail queries based on the located master-detail links;
causing preparation of the master queries to generate master query plans;
generating one or more master provider queries by incorporating the master query plans with related detail queries and related master-detail links; and sending the master provider queries for execution.
21.A carrier carrying a propagated signal containing computer executable instructions that can be read and executed by a computer, the computer executable instructions being used to execute a method of processing user requests for data stored in one or more data source, the method comprising the steps of:
receiving a user request for data, the user request including one or more queues;
analyzing each set of the queries to locate one or more master-detail links linking one or more master queries and one or more detail queries;
relating one or more master queries and one or more detail queries based on the located master-detail links;
causing preparation of the master queries to generate master query plans;
generating one or more master provider queries by incorporating the master query plans with related detail queries and related master-detail links; and sending the master provider queries for execution.
CA002510643A 2005-06-23 2005-06-23 Master-detail provider and method of providing master-detail functionality Abandoned CA2510643A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002510643A CA2510643A1 (en) 2005-06-23 2005-06-23 Master-detail provider and method of providing master-detail functionality
CA2519604A CA2519604C (en) 2005-06-23 2005-09-13 Master-detail provider and method of providing master-detail functionality
US11/408,672 US7546292B2 (en) 2005-06-23 2006-04-21 Master-detail provider and method of providing master-detail functionality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002510643A CA2510643A1 (en) 2005-06-23 2005-06-23 Master-detail provider and method of providing master-detail functionality

Publications (1)

Publication Number Publication Date
CA2510643A1 true CA2510643A1 (en) 2006-12-23

Family

ID=39343579

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002510643A Abandoned CA2510643A1 (en) 2005-06-23 2005-06-23 Master-detail provider and method of providing master-detail functionality

Country Status (1)

Country Link
CA (1) CA2510643A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108064379A (en) * 2015-06-26 2018-05-22 迈克菲有限责任公司 The query engine fetched for remote endpoint information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108064379A (en) * 2015-06-26 2018-05-22 迈克菲有限责任公司 The query engine fetched for remote endpoint information

Similar Documents

Publication Publication Date Title
US10324690B2 (en) Automated enterprise software development
US5930512A (en) Method and apparatus for building and running workflow process models using a hypertext markup language
US7596550B2 (en) System and method for query planning and execution
US7370335B1 (en) System and method for providing a public application program interface
US8122050B2 (en) Query processing visualization system and method of visualizing query processing
EP2369480A2 (en) Mashup infrastructure with learning mechanism
EP1873701A1 (en) Systems and methods for providing a mockup data generator
WO2008018080A2 (en) Smart integration engine and metadata-oriented architecture for automatic eii and business integration
EP1811447A1 (en) Declarative adaptation of software entities stored in an object repository
KR101201019B1 (en) Declarative sequenced report parameterization
US20230244684A1 (en) Techniques for decoupling access to infrastructure models
Reimann et al. SIMPL–A Framework for Accessing External Data in Simulation Workflows
US7640238B2 (en) Query planning for execution using conditional operators
JP2011517823A (en) Query processing visualizing system, method for visualizing query processing, and computer program
Mylopoulos et al. A generic integration architecture for cooperative information systems
CA2519604C (en) Master-detail provider and method of providing master-detail functionality
Patrascoiu Mapping EDOC to web services using YATL
EP1909170A1 (en) Method and system for automatically generating a communication interface
US20050262124A1 (en) Method and apparatus for aggregated update of dataset records in a JavaScript environment
US7085759B2 (en) System and method for communicating data to a process
CA2510643A1 (en) Master-detail provider and method of providing master-detail functionality
EP1356379A2 (en) Automatic generation of an optimized api
Gibson et al. Application of Named Graphs Towards Custom Provenance Views.
Schlegel et al. MLflow2PROV: extracting provenance from machine learning experiments
Zarić et al. Multitarget/multiprotocol client application for search and retrieval of bibliographic records

Legal Events

Date Code Title Description
FZDE Dead