Database system with methodology for accessing a database from portable devices
First Claim
1. In a computer system, a method for creating a database application program for accessing and processing data from a database, the method comprising:
- receiving source code for the database application program, the source code including embedded SQL statements;
examining the source code for determining information about the embedded SQL statements present in the source code;
passing the information about the embedded SQL statements present in the source code to a database management system for formulating data access;
based on how data access has been formulated, creating new source code which includes new source code statements replacing the embedded SQL statements, said new source code statements including program logic that provides said data access; and
from the new source code, generating an executable version of the database application program.
2 Assignments
0 Petitions
Accused Products
Abstract
An “UltraLite” database development environment capable of creating a database application that is more portable across multiple devices, including ones having limited computational power, is described. The applications themselves can incorporate SQL statements and SQL cursors for use against data sources, including UltraLite databases. The UltraLite development environment generates code to process the SQL in the application. The application code and generated code are compiled and then linked with the UltraLite runtime library. The result is an UltraLite program that includes application logic and database logic together in a single program. The environment includes, at its core, an “Analyzer” which receives SQL from the pre-compiler and submits the SQL to an available database server (e.g., Sybase Adaptive Server Anywhere) for parsing and optimization. The Analyzer uses the database server'"'"'s (i.e., the database server of Adaptive Server Anywhere) access plans and schema information to generate C code to execute the SQL statements. By making the footprint for an UltraLite program as small as possible, the system provides a database system with low overhead, making it easier to create an application targeting device having limited computational power.
157 Citations
25 Claims
-
1. In a computer system, a method for creating a database application program for accessing and processing data from a database, the method comprising:
-
receiving source code for the database application program, the source code including embedded SQL statements;
examining the source code for determining information about the embedded SQL statements present in the source code;
passing the information about the embedded SQL statements present in the source code to a database management system for formulating data access;
based on how data access has been formulated, creating new source code which includes new source code statements replacing the embedded SQL statements, said new source code statements including program logic that provides said data access; and
from the new source code, generating an executable version of the database application program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
determining by the database management system a query plan comprising an optimized access strategy for processing the SQL statements.
-
-
7. The method of claim 1, wherein the database is created as an in-memory data structure for the program.
-
8. The method of claim 1, wherein said embedded SQL statements include a query specifying retrieval of specific information of interest from the database.
-
9. The method of claim 1, wherein said new source code includes information specifying at least one database cursor for maintaining state information about a particular database table of the database.
-
10. In a computer system, a method for creating a database application program for accessing and processing data from a database, the method comprising:
-
receiving source code for the database application program, the source code including embedded SQL statements;
examining the source code for determining information about the embedded SQL statements present in the source code;
passing the information about the embedded SQL statements present in the source code to a database management system for formulating data access;
based on how data access has been formulated, creating new source code which includes new source code statements replacing the embedded SQL statements; and
from the new source code, generating an executable version of the database application program;
wherein the executable version of the database application program includes instructions for processing a run-time version of the database which is itself embedded within the program.
-
-
11. A database development system comprising:
-
an editor module for creating source code for an application program under development, the source code including both native source code statements and embedded query language statements;
a pre-compiler for identifying any embedded query language statements present in the source code;
an analyzer for generated new source code that replaces the embedded query language statements in the source code with native source code statements that perform database operations required by the embedded query language statements; and
a compiler for compiling the new source code, for creating an executable version of the database application program. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
a database management system, in communication with the analyzer, for formulating data access.
-
-
19. The system of claim 18, wherein said database management system formulates a query plan for processing the query language statements.
-
20. The system of claim 11, wherein the application program includes instructions for processing a run-time version of the database which is itself embedded within the program.
-
21. The system of claim 11, wherein the database is created as an in-memory data structure for the program.
-
22. The system of claim 11, wherein said embedded query language statements include a query specifying retrieval of specific information of interest from the database.
-
23. The system of claim 11, wherein said new source code includes information specifying at least one database cursor for maintaining state information about a particular database table of the database.
-
24. A database development system comprising:
-
an editor module for creating source code for an application program under development, the source code including both native source code statements and embedded query language statements;
a pre-compiler for identifying any embedded query language statements present in the source code;
an analyzer for generated new source code that replaces the embedded query language statements in the source code with native source code statements that perform database operations required by the embedded query language statements; and
a compiler for compiling the new source code, for creating an executable version of the database application program;
wherein said analyzer generates at least one index definition for creating an index at run-time for creating a logical ordering of a database table of the database.
-
-
25. A database development system comprising:
-
an editor module for creating source code for an application program under development, the source code including both native source code statements and embedded query language statements;
a pre-compiler for identifying any embedded query language statements present in the source code;
an analyzer for generated new source code that replaces the embedded query language statements in the source code with native source code statements that perform database operations required by the embedded query language statements; and
a compiler for compiling the new source code, for creating an executable version of the database application program;
wherein said analyzer generates at least one transaction data structure for indicating data records that have been modified by a transaction which has occurred in the database.
-
Specification