Claims
- 1. A computer program product comprising a computer readable medium having computer program logic recorded thereon for enabling a processor in a server computer system to process diverse result sets, said computer program logic comprising:
- client process execution request receiving means for enabling said processor to receive from a client process in a client computer system a client process execution request identifying a stored procedure and specifying constraints on the quantity of response data that said client process is capable of handling;
- stored procedure invoking means for enabling said processor to invoke said stored procedure identified by said client process execution request, execution of said stored procedure resulting in the generation of answer set data for a plurality of query result sets;
- answer set data obtaining means for enabling said processor to asynchronously obtain answer set data for X of said query result sets, where X is defined by said constraints;
- initial response generating means for enabling said processor to generate an initial response containing, for each of said X query result sets, an amount of said obtained answer set data consistent with said constraints; and
- initial response transferring means for enabling said processor to transfer said initial response from said server computer system to said client process in said client computer system.
- 2. The computer program product of claim 1, wherein said constraints specify:
- (a) a size L1 of response data buffers available to said client process;
- (b) a maximum number M1 of query result sets that said client process is capable of receiving; and
- (c) a maximum number N1 of extra buffers of answer set data per query result set that said client process is capable of receiving.
- 3. The computer program product of claim 2, wherein X is less than or equal to M1.
- 4. The computer program product of claim 1, wherein said initial response generating means comprises:
- means for enabling said processor to generate a summary component containing, for each of said X query result sets, a portion of answer set data;
- means for enabling said processor to generate X query result set components each corresponding to one of said X query result sets and containing up to N1 buffers of answer set data, each of said N1 buffers of answer set data being L1 in size; and
- means for enabling said processor to concatenate said summary component and said query result set components to thereby generate said initial response.
- 5. The computer program product of claim 1, wherein said answer set data obtaining means comprises:
- means for enabling said processor to instantiate X result set generators, each of said result set generators being capable of retrieving answer set data for one of said X query result sets, said result set generators operating independently of one another; and
- means for enabling said processor to command said result set generators to retrieve answer set data for their respective query result sets.
- 6. The computer program product of claim 1, further comprising:
- means for enabling said processor to receive from said client computer system a client process answer set data request that identifies a result set generator, and that specifies new constraints on the quantity of response data that said client process is capable of handling;
- means for enabling said processor to command said result set generator identified by said client process answer set data request to retrieve answer set data containing said query result set element for its associated query result set;
- means for enabling said processor to generate a supplemental response containing for said associated query result set an amount of said retrieved answer set data consistent with said new constraints; and
- means for enabling said processor to transfer said supplemental response from said server computer system to said client process in said client computer system.
- 7. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for processing diverse result sets, said method steps comprising:
- (1) constructing by a client process in a client computer system a client process execution request identifying a stored procedure and specifying constraints on the quantity of response data that said client process is capable of handling;
- (2) transmitting said client process execution request from said client process in said client computer system to a server process in a server computer system;
- (3) invoking in said server computer system said stored procedure identified by said client process execution request, execution of said stored procedure resulting in the generation of answer set data for a plurality of query result sets;
- (4) asynchronously obtaining answer set data for X of said query result sets in said server computer system, where X is defined by said constraints;
- (5) generating in said server computer system an initial response containing, for each of said X query result sets, an amount of said obtained answer set data consistent with said constraints;
- (6) transferring said initial response from said server computer system to said client process in said client computer system; and
- (7) enabling a client application in said client computer system to access and process answer set data transferred from said server computer system to said client process in said client computer system.
- 8. The program storage device of claim 7, wherein said constraints specify:
- (a) a size L1 of response data buffers available to said client process;
- (b) a maximum number M1 of query result sets that said client process is capable of receiving; and
- (c) a maximum number N1 of extra buffers of answer set data per query result set that said client process is capable of receiving.
- 9. The program storage device of claim 8, wherein X is less than or equal to M1.
- 10. The program storage device of claim 8, wherein step (5) comprises the steps of:
- generating a summary component containing, for each of said X query result sets, a portion of answer set data;
- generating X query result set components each corresponding to one of said X query result sets and containing up to N1 buffers of answer set data, each of said N1 buffers of answer set data being L1 in size; and
- concatenating said summary component and said query result set components to thereby generate said initial response.
- 11. The program storage device of claim 7, wherein step (4) comprises the steps of:
- instantiating X result set generators, each of said result set generators being capable of retrieving answer set data for one of said X query result sets, said result set generators operating independently of one another; and
- commanding said result set generators to retrieve answer set data for their respective query result sets.
- 12. The program storage device of claim 7, wherein step (7) comprises the steps of:
- (a) receiving a request from said client application for access to a query result set element;
- (b) determining whether said query result set element was previously transferred from said server computer system to said client process in said client computer system; and
- (c) if said query result set element was previously transferred from said server computer system to said client process in said client computer system, then providing said query result set element to said client application.
- 13. The program storage device of claim 12, wherein step (7) further comprises the steps of:
- (d) if said query result set element was not previously transferred from said server computer system to said client process in said client computer system, then generating a client process answer set data request that identifies a result set generator, and that specifies new constraints on the quantity of response data that said client process is capable of handling;
- (e) transmitting said client process answer set data request from said client computer system to said server computer system;
- (f) commanding said result set generator identified by said client process answer set data request to retrieve answer set data containing said query result set element for its associated query result set;
- (g) generating in said server computer system a supplemental response containing; for said associated query result set an amount of said retrieved answer set data consistent with said new constraints;
- (h) transferring said supplemental response from said server computer system to said client process in said client computer system; and
- (i) providing said query result set element to said client application.
- 14. A computer program product comprising a computer readable medium having computer program logic recorded thereon for controlling a processor in a client computer system, said computer program logic comprising:
- client process execution request constructing means for enabling said processor to construct a client process execution request identifying a stored procedure and specifying constraints on the quantity of response data that can be handled;
- client process execution request transmitting means for enabling said processor to transmit said client process execution request to a server process in a server computer system, wherein said server process invokes said stored procedure in said server computer system, execution of said stored procedure resulting in the generation of answer set data for a plurality of query result sets, said server process generating an initial response containing, for each of X query result sets, an amount of said obtained answer set data consistent with said constraints, where X is defined by said constraints, said initial response being transmitted to said client computer system; and
- enabling means for enabling said processor to enable a client application in said client computer system to access and process answer set data transferred from said server computer system to said client computer system.
- 15. The computer program product of claim 14, wherein said constraints specify:
- (a) a size L1 of response data buffers available to a client process executing in said client computer system;
- (b) a maximum number M1 of query result sets that said client process is capable of receiving; and
- (c) a maximum number N1 of extra buffers of answer set data per query result set that said client process is capable of receiving.
- 16. The computer program product of claim 15, wherein X is less than or equal to M1.
- 17. The computer program product of claim 14, wherein said enabling means comprises:
- means for enabling said processor to receive a request from said client application for access to a query result set element;
- means for enabling said processor to determine whether said query result set element was previously transferred from said server computer system to said client computer system; and
- means for enabling said processor to provide said query result set element to said client application if said query result set element was previously transferred from said server computer system to said client computer system.
- 18. The computer program product of claim 17, wherein said enabling means further comprises:
- means for enabling said processor to generate, if said query result set element was not previously transferred from said server computer system to said client computer system, a client process answer set data request that identifies a result set generator, and that specifies new constraints on the quantity of response data that can be handled;
- means for enabling said processor to transmit said client process answer set data request from said client computer system to said server computer system, wherein at said server computer system said result set generator is commanded to retrieve answer set data containing said query result set element for an associated query result set, a supplemental response containing an amount of said retrieved answer set data consistent with said new constraints being generated at said server computer system and transmitted to said client computer system; and
- means for receiving said supplemental response and providing said query result set element contained therein to said client application.
Parent Case Info
This application is a division of application Ser. No. 08/417,863, filed Apr. 6, 1995, (status: pending).
US Referenced Citations (4)
Divisions (1)
|
Number |
Date |
Country |
Parent |
417863 |
Apr 1995 |
|