Computer-implemented method and system for handling and transforming database queries in a fourth generation language
DC CAFCFirst Claim
1. A computer-implemented method for processing a query, comprising:
- receiving a native syntax query requesting data stored in a non-native database that uses a non-native syntax, wherein the query is received at an application that is separate from the non-native database, wherein the query requests that the data be retrieved from the non-native database, wherein the query requests that a processing operation be performed on the requested data by the application, wherein the query includes one or more expressions, and wherein one or more of the expressions includes one or more functions;
parsing the native syntax query, wherein parsing includes identifying a function within an expression that cannot be processed by the non-native database, wherein the function specifies the processing operation to be performed on the requested data by the application, wherein a plurality of labels are associated with the function and the expression, and wherein labels include constant labels and format labels;
analyzing the function and the expression to determine a context of the function within the expression, wherein the context describes how the function is used within the expression;
generating, using one or more data processors, a final expression query by obtaining a control string from an internal table for each of the plurality of labels associated with the function and the expression, wherein label modifiers are applied to format labels;
transforming the native syntax query into an equivalent non-native syntax query, wherein transforming includes parsing and inserting the final expression query into the equivalent non-native syntax query using the function, the expression, and the context to translate the function and the expression into multiple functions and multiple expressions that are configured for processing by a non-native database system;
transmitting the equivalent non-native syntax query to a non-native database system to generate results and to perform the processing operation on the generated results;
receiving processed results from the non-native database system; and
transmitting the processed results to a client application.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
A computer-implemented method and system allows generating a query and a first fourth generation language at a native system to a non-native database which is capable of processing queries in a second fourth generation language. A query initiated by a client applicant in a first fourth generation language is analyzed to determine if it can be processed by a non-native system capable of processing queries in a second fourth generation language. Non-standard syntax representative of a function and the query that cannot be evaluated by the non-native database system is identified. If the syntax is discovered, the query is transformed through the use of formats or through an algorithm process into an equivalent query expression that can be processed by the database system.
-
Citations
54 Claims
-
1. A computer-implemented method for processing a query, comprising:
-
receiving a native syntax query requesting data stored in a non-native database that uses a non-native syntax, wherein the query is received at an application that is separate from the non-native database, wherein the query requests that the data be retrieved from the non-native database, wherein the query requests that a processing operation be performed on the requested data by the application, wherein the query includes one or more expressions, and wherein one or more of the expressions includes one or more functions; parsing the native syntax query, wherein parsing includes identifying a function within an expression that cannot be processed by the non-native database, wherein the function specifies the processing operation to be performed on the requested data by the application, wherein a plurality of labels are associated with the function and the expression, and wherein labels include constant labels and format labels; analyzing the function and the expression to determine a context of the function within the expression, wherein the context describes how the function is used within the expression; generating, using one or more data processors, a final expression query by obtaining a control string from an internal table for each of the plurality of labels associated with the function and the expression, wherein label modifiers are applied to format labels; transforming the native syntax query into an equivalent non-native syntax query, wherein transforming includes parsing and inserting the final expression query into the equivalent non-native syntax query using the function, the expression, and the context to translate the function and the expression into multiple functions and multiple expressions that are configured for processing by a non-native database system; transmitting the equivalent non-native syntax query to a non-native database system to generate results and to perform the processing operation on the generated results; receiving processed results from the non-native database system; and transmitting the processed results to a client application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer implemented system for processing a query, comprising:
-
one or more physical data processors; one or more non-transitory computer-readable storage mediums containing instructions configured to cause the one or more processors to perform operations including; receiving a native syntax query requesting data stored in a non-native database that uses a non-native syntax, wherein the query is received at an application that is separate from the non-native database, wherein the query requests that the data be retrieved from the non-native database, wherein the query requests that a processing operation be performed on the requested data by the application, wherein the query includes one or more expressions, and wherein one or more of the expressions includes one or more functions; parsing the native syntax query, wherein parsing includes identifying a function within an expression that cannot be processed by the non-native database, wherein the function specifies the processing operation to be performed on the requested data by the application, wherein a plurality of labels are associated with the function and the expression, and wherein labels include constant labels and format labels; analyzing the function and the expression to determine a context of the function within the expression, wherein the context describes how the function is used within the expression; generating a final expression query by obtaining a control string from an internal table for each of the plurality of labels associated with the function and the expression, wherein label modifiers are applied to format labels; transforming the native syntax query into an equivalent non-native syntax query, wherein transforming includes parsing and inserting the final expression query into the equivalent non-native syntax query using the function, the expression, and the context to translate the function and the expression into multiple functions and multiple expressions that are configured for processing by a non-native database system; transmitting the equivalent non-native syntax query to a non-native database system to generate results and to perform the processing operation on the generated results; receiving processed results from a non-native database system; and transmitting the processed results to a client application. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-program product for processing a query, tangibly embodied in a machine-readable non-transitory storage medium, including instructions configured to cause a data processing apparatus to:
-
receive a native syntax query requesting data stored in a non-native database that uses a non-native syntax, wherein the query is received at an application that is separate from the non-native database, wherein the query requests that the data be retrieved from the non-native database, wherein the query requests that a processing operation be performed on the requested data by the application, wherein the query includes one or more expressions, and wherein one or more of the expressions includes one or more functions; parse the native syntax query, wherein parsing includes identifying a function within an expression that cannot be processed by the non-native database, wherein the function specifies the processing operation to be performed on the requested data by the application, wherein a plurality of labels are associated with the function and the expression, and wherein labels include constant labels and format labels; analyze the function and the expression to determine a context of the function within the expression, wherein the context describes how the function is used within the expression; generate a final expression query by obtaining a control string from an internal table for each of the plurality of labels associated with the function and the expression, wherein label modifiers are applied to format labels; transform the native syntax query into an equivalent non-native syntax query, wherein transforming includes parsing and inserting the final expression query into the equivalent non-native syntax query using the function, the expression, and the context to translate the function and the expression into multiple functions and multiple expressions that are configured for processing by a non-native database system; transmit the equivalent non-native syntax query to a non-native database system to generate results and to perform the processing operation on the generated results; receive processed results from the non-native database system; and transmit the processed results to a client application. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
Specification