Supporting dynamic tables in SQL query compilers
First Claim
1. A method, in a database management system, the method comprising:
- resolving a table reference to an actual table entity unknown at compile-time (a dynamic table) further comprising;
supporting more than one type of dynamic table including a table function; and
generating a similar table object for each dynamic table, the similar table objects having different values within the table object to differentiate between the types of dynamic table.
3 Assignments
0 Petitions
Accused Products
Abstract
A framework for a query compiler and run-time environment for resolving a table reference to a dynamic table that is first identified at run-time but is initially unknown at compile-time. A parser parses the table reference and creates a parsed representation for the table that identifies the type of dynamic table. A code generator creates executable plans containing run-time table object representations (TAOB), from the parsed representations, that contain the type of dynamic table. The TAOB is also extended to provide for parameters that are definable at run-time, including a table ID of the actual table entity being referenced. A routine is embedded in a run-time routine that checks the type of dynamic table in the TAOB and dispatches control to one of a plurality of corresponding routines, depending upon the type of dynamic table. The corresponding routines use the extended TAOB to dynamically link the table reference to the dynamic table, depending upon the type of dynamic table. Once the dynamic table has been linked to the table reference, query processing continues as if that table were a base or derived table.
147 Citations
41 Claims
-
1. A method, in a database management system, the method comprising:
resolving a table reference to an actual table entity unknown at compile-time (a dynamic table) further comprising; supporting more than one type of dynamic table including a table function; and generating a similar table object for each dynamic table, the similar table objects having different values within the table object to differentiate between the types of dynamic table. - View Dependent Claims (2, 3)
-
4. A method, in a database management system, the method comprising:
resolving a table reference to an actual table entity unknown at compile-time (a dynamic table), further comprising; creating an extended run-time descriptor (extended table object (TAOB)) for the dynamic table; and dispatching control, during a run-time routine, to dynamically link the table reference, using the extended table object, with an actual table entity. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
15. A method, in a database management system, the method comprising:
resolving a table reference to an actual table entity unknown at compile-time (a dynamic table), further comprising; including a type of dynamic table in an extended table object representation capable of receiving run-time parameters; dispatching control, from a run-time routine, to a process depending upon the type of dynamic table identified in the extended table object representation; including parameters defined at run-time in the extended table object representation including an identity of the actual table entity being referenced; and using the extended table object representation, in the process dependent upon the type of dynamic table, for dynamically linking the table reference to the actual table entity.
-
16. A method, in a database management system, the method comprising:
resolving a table reference to an actual table entity unknown at compile-time (a dynamic table), further comprising; handling, by the query compiler, table functions as a type of a dynamic table; marking, by a query parser, a parsed representation of the dynamic table to distinguish between types of dynamic tables; including a type of dynamic table marked in the parsed representation into a template run-time descriptor for the corresponding table reference (an extended table object (TAOB)) created by a code generator; including parameters defined at run-time in an actual extended TAOB representing the actual table entity including an identity of the actual table entity being referenced; dispatching control to a process for dynamically linking the table reference to the actual table entity only known at run-time by using the actual extended TAOB; and continuing with query processing, after the dynamic linking resolves the table reference, as if the underlying table were a base or derived table. - View Dependent Claims (17)
-
18. A method, in a database management system, comprising:
resolving, at run-time, a table reference to an actual table entity unknown at compile-time (a dynamic table), further comprising; mapping dynamic tables to table functions and identifying, in a parsed representation of the dynamic tables, the table reference as being unresolved; extending a run-time descriptor for the table being referenced (table object TAOB)) to include parameters defined at run-time including a table identity of the actual table entity; and using the extended TAOB at run-time to dynamically link the actual table entity with the table reference. - View Dependent Claims (19, 20)
-
21. A database management system comprising:
means for resolving a table reference to an actual table entity unknown at compile-time (a dynamic table) further comprising; means for supporting more than one type of dynamic table including a table function; and a code generator capable of generating a separate executable plan for each type of dynamic table, each executable plan generating a similar table object for each dynamic table, the similar table objects having different values within the table object to differentiate between the types of dynamic table. - View Dependent Claims (22, 23)
-
24. A database management system comprising:
-
a code generator capable of creating a temporary extended table object representation (TAOB) for a table, unknown at compile-time, referenced by a table reference (a dynamic table), having a type attribute capable of identifying the type of dynamic table and having fields capable of having parameters definable at run-time including a table identifier for the actual table entity defined at run-time; and a dispatcher, embedded in a run-time routine, capable of dispatching control to a process for dynamically linking the table reference to the actual table entity. - View Dependent Claims (25, 26)
-
-
27. A database management system comprising:
means for resolving a table reference to an actual table entity unknown at compile-time (a dynamic table), the means for resolving further comprising; means for creating an extended run-time descriptor (extended table object (TAOB)) for the dynamic table; and means for dispatching control, during a run-time routine, to dynamically link the table reference, using the extended table object, with an actual table entity. - View Dependent Claims (28, 29, 30)
-
31. Computer programming code residing on at least one computer usable medium for use in a database management system, the programming code comprising:
-
program code means, in a run-time routine, for dispatching control to a corresponding routine for dynamically linking, at run-time, a table reference to an actual table entity wherein the actual table entity was unknown at compile-time (a dynamic table); and program code means for performing the dynamic linking, by the corresponding routine, by using an extended table object representation of the actual table entity having extended parameters including a type of the dynamic table and including parameters definable at run-time including a table identifier for the actual table entity. - View Dependent Claims (32, 33)
-
-
34. Computer programming code residing on at least one computer usable medium for use in a database management system, the programming code comprising:
program code means for resolving a table reference to an actual table entity unknown at compile-time (a dynamic table), further comprising; program code means for causing a marking, by a query compiler, in a parsed representation of the table reference, an identification of a type of dynamic table; program code means for causing a run-time descriptor (extended table object (TAOB)) for the dynamic table to be extended to include the type of dynamic table and to include parameters defined at run-time including a table identifier for the actual table entity defined at run-time; and program code means for causing a dispatching of control, during a run-time routine, to a routine to dynamically link the table reference, using the extended table object, with an actual table entity. - View Dependent Claims (35, 36, 37)
-
38. Computer programming code residing on at least one computer usable medium for use in a database management system, the programming code comprising:
program code means for resolving a table reference to an actual table entity unknown at compile-time (a dynamic table) further comprising; program code means for supporting more than one type of dynamic table including a table function; and program code means for generating a similar table object for each dynamic table, the similar table objects having different values within the table object to differentiate between the types of dynamic table. - View Dependent Claims (39, 40)
-
41. Computer programming code residing on at least one computer usable medium for use in a database management system, the programming code comprising:
means for resolving a table reference to an actual table entity unknown at compile-time (a dynamic table), further comprising; means for creating an extended run-time descriptor (extended table object (TAOB)) for the dynamic table; and means for dispatching control, during a run-time routine, to dynamically link the table reference, using the extended table object, with an actual table entity.
Specification