SQL extended with transient fields for calculation expressions in enhanced data models
First Claim
1. A computer-implemented method comprising:
- providing in a database layer, an in-memory database comprising data of a first type and data of a second type;
causing an in-memory database engine to receive from a query engine of an overlying application layer, a query in a database language defining a transient field, wherein the database language is extended to include an entity of an entity-relationship data model (ERM), and the transient field is defined by the entity;
causing the in-memory database engine to communicate with the in-memory database to generate a query result from the query, wherein the in-memory database engine fills in a value for the transient field derived at least in part from the data of the second type; and
causing the in-memory database engine to communicate the query result to the query engine for display to a user;
wherein the value is materialized in a persistent field of the in-memory database based upon a hint from the in-memory database engine, the hint comprising a directive in a declaration of the transient field in the ERM.
2 Assignments
0 Petitions
Accused Products
Abstract
A database language (e.g. SQL) is extended to define a transient field whose value is derived from data stored in a database. The value of the transient field is calculated by the database engine for consumption as needed by the application layer, for example as part of a particular data model. The value of the transient field may not be materialized as a persistent field in the underlying database table, or may be selectively materialized based upon a heuristic or hint. Certain embodiments may implement the transient field as a basic elaboration on standard SQL utilizing an identifier. Some embodiments may implement the transient field as an entity where SQL has been extended to accommodate concepts of a higher-level Entity Relationship Model (ERM). The use of constants and/or floating values (e.g. a current time) in connection with transient fields, is also disclosed.
-
Citations
12 Claims
-
1. A computer-implemented method comprising:
-
providing in a database layer, an in-memory database comprising data of a first type and data of a second type; causing an in-memory database engine to receive from a query engine of an overlying application layer, a query in a database language defining a transient field, wherein the database language is extended to include an entity of an entity-relationship data model (ERM), and the transient field is defined by the entity; causing the in-memory database engine to communicate with the in-memory database to generate a query result from the query, wherein the in-memory database engine fills in a value for the transient field derived at least in part from the data of the second type; and causing the in-memory database engine to communicate the query result to the query engine for display to a user; wherein the value is materialized in a persistent field of the in-memory database based upon a hint from the in-memory database engine, the hint comprising a directive in a declaration of the transient field in the ERM. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:
-
providing in a database layer, an in-memory database comprising data of a first type and data of a second type; causing an in-memory database engine to receive from a query engine of an overlying application layer, a query in a database language defining a transient field, wherein the database language is extended to include an entity of an entity-relationship data model (ERM), and the transient field is defined by the entity; causing the in-memory database engine to communicate with the in-memory database to generate a query result from the query, wherein the in-memory database engine fills in a value for the transient field derived at least in part from the data of the second type; and causing the in-memory database engine to communicate the query result to the query engine for display to a user; wherein the value is materialized in a persistent field of the in-memory database based upon a hint from the in-memory database engine, the hint comprising a directive in a declaration of the transient field in the ERM. - View Dependent Claims (6, 7, 8)
-
-
9. A computer system comprising:
-
one or more processors; a software program, executable on said computer system, the software program configured to; provide in a database layer, an in-memory database comprising data of a first type and data of a second type; cause an in-memory database engine to receive from a query engine of an overlying application layer, a query in a database language defining a transient field, wherein the database language is extended to include an entity of an entity-relationship data model (ERM), and the transient field is defined by the entity; cause the in-memory database engine to communicate with the in-memory database to generate a query result from the query, wherein the in-memory database engine fills in a value for the transient field derived at least in part from the data of the second type; and cause the in-memory database engine to communicate the query result to the query engine for display to a user; wherein the value is materialized in a persistent field of the in-memory database based upon a hint from the in-memory database engine, the hint comprising a directive in a declaration of the transient field in the ERM. - View Dependent Claims (10, 11, 12)
-
Specification