IP Library Granted Patent US 9,361,407
Granted Patent B2
US 9,361,407 · App. 14/020,703 · Granted Jun 7, 2016

SQL extended with transient fields for calculation expressions in enhanced data models

Inventors: Daniel Hutzel (Walldorf, DE); Timm Falter (Walldorf, DE); Stefan Baeuerle (Walldorf, DE)
Assignee: SAP SE
G06F17/30979G06F17/30507G06F17/30604
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,361,407
App. No.
14/020,703
Granted
Jun 7, 2016
Kind
B2
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.

Claims (29)

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. A computer-implemented method as in claim 1 wherein the database language comprises Structured Query Language (SQL).

3. A computer-implemented method as in claim 1 wherein the transient field is defined by an identifier in the database language.

4. A computer-implemented method as in claim 1 wherein the value is not materialized in a persistent field in the in-memory database.

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.

6. A non-transitory computer readable storage medium as in claim 5 wherein the database language comprises Structured Query Language (SQL).

7. A non-transitory computer readable storage medium as in claim 5 wherein the transient field is defined by an identifier in the database language.

8. A non-transitory computer readable storage medium as in claim 5 wherein the value is not materialized in a persistent field in the in-memory database.

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.

10. A computer system as in claim 9 wherein the database language comprises Structured Query Language (SQL).

11. A computer system as in claim 9 wherein the transient field is defined by an identifier in the database language.

12. A computer system as in claim 9 wherein the value is not materialized in a persistent field in the in-memory database.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2013
From: HUTZEL, DANIEL; FALTER, TIMM; BAEUERLE, STEFAN
To: SAP AG
Reel/Frame 031409/0404 →
Continuity (1)
Related Publication 20150074140A1 · Mar 12, 2015