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

US10095758B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10095758-B2
Application numberUS-201615145559-A
CountryUS
Kind codeB2
Filing dateMay 3, 2016
Priority dateSep 6, 2013
Publication dateOct 9, 2018
Grant dateOct 9, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: providing an in-memory database comprising data of a first type; causing an in-memory database engine to receive from a query engine implemented within the in-memory database, a query in a database language defining a transient field, wherein the database language is extended to include an entity of an entity-relationship model, 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 data of a second type materialized in a persistent field in the in-memory database and comprising a constant or a floating value, wherein the value for the transient field is only persistently materialized based upon a hint comprising a directive in a declaration of the transient field in the entity-relationship model; and causing the in-memory database engine to communicate the query result to the query engine for display to a user. 2. A computer-implemented method as in claim 1 wherein the transient field is defined in the database language by an identifier prepended with a modifier. 3. A computer-implemented method as in claim 2 wherein the database language comprises Structured Query Language (SQL). 4. A computer-implemented method as in claim 2 wherein the data of the second type comprises a constant. 5. A computer-implemented method as in claim 4 wherein the modifier turns an element definition into a declaration of an alias name for a literal expression. 6. A computer-implemented method as in claim 4 further comprising omitting an explicit type declaration. 7. A computer-implemented method as in claim 1 wherein the data of the second type comprises the floating value specifying a present time. 8. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising: providing an in-memory database comprising data of a first type; causing an in-memory database engine to receive from a query engine implemented within the in-memory database, a query in a database language defining a transient field by an identifier prepended with a modifier, wherein the database language is extended to include an entity of an entity-relationship model, 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 materialized in a persistent field in the in-memory database and comprising a constant or a floating value, wherein the value for the transient field is only persistently materialized based upon a hint comprising a directive in a declaration of the transient field in the entity relationship model; and causing the in-memory database engine to communicate the query result to the query engine for display to a user. 9. A non-transitory computer readable storage medium as in claim 8 wherein database language comprises Structured Query Language (SQL). 10. A non-transitory computer readable storage medium as in claim 8 wherein the data of the second type comprises a constant, and the modifier turns an element definition into a declaration of an alias name for a literal expression. 11. A non-transitory computer readable storage medium as in claim 8 wherein the data of the second type comprises the floating value specifying a present time. 12. A computer system comprising: one or more processors; a software program, executable on said computer system, the software program configured to: provide an in-memory database comprising data of a first type; cause an in-memory database engine to receive from a query engine implemented within the in-memory database, a query in a database language defining a transient field, wherein the database language is extended to include an entity of an entity-relationship model, 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 database engine fills in a value for the transient field derived at least in part from data of a second type materialized in a persistent field in the in-memory database and comprising a constant or a floating value, wherein the value for the transient field is only persistently materialized based upon a hint comprising a directive in a declaration of the transient field in the entity-relationship model; and cause the in-memory database engine to communicate the query result to the query engine for display to a user. 13. A computer system as in claim 12 wherein the transient field is defined in the database language by an identifier prepended with a modifier. 14. A computer system as in claim 13 wherein the data of the second type comprises a constant, and the modifier turns an element definition into a declaration of an alias name for a literal expression. 15. A computer system as in claim 12 wherein the data of the second type comprises a floating value specifying a present time.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10095758B2 cover?
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 data…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F17/30554. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 09 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).