Hot deployment of embedded database procedures

US9753971B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9753971-B2
Application numberUS-201414548574-A
CountryUS
Kind codeB2
Filing dateNov 20, 2014
Priority dateSep 15, 2014
Publication dateSep 5, 2017
Grant dateSep 5, 2017

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.

Disclosed herein are systems and methods for the hot deployment of database procedures embedded in a host software application. In various example embodiments, the database procedures are encapsulated in specially marked methods of the host application, which, when called at runtime, cause the database procedures, and associated procedure stubs through which the database procedures are called, to be created in a database catalog and executed on the database server. When an embedded database procedure is modified in an application by one user during execution of that application by a second user, compilation of the modified database procedure may result in deletion of the original database procedure and/or associated procedure stub from the database, avoiding inconsistencies between database procedure versions during application execution by the second user.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for deployment of a modification to a database procedure embedded in a database-accessing host application during execution of the host application, the method comprising: executing, in a first user session, a first version of the host application including a first version of an embedded database procedure, thereby creating and executing first versions of the database procedure and of an associated procedure stub in a database accessed by the host application, the first version of the procedure stub including a version identifier; and during execution of the first version of the host application, compiling, in a second user session, modified source code for the host application, including a modification to the embedded database procedure, to create a second version of the host application including a second version of the host application including a second version of the embedded database procedure, thereby causing deletion of the first version of the procedure stub from the database. 2. The method of claim 1 , further comprising, after compiling the modified source code, attempting execution, in the first user session, of the first version of the procedure stub, thereby causing an exception resulting from absence of the first version of the procedure stub from the database. 3. The method of claim 2 , further comprising, in response to the exception, aborting execution of the host application in the first user session. 4. The method of claim 2 , further comprising, in response to the exception, issuing a message indicating availability of the second version of the database procedure. 5. The method of claim 1 , wherein compiling the modified source code further causes deletion of the first version of the database procedure from the database. 6. The method of claim 1 , wherein compiling the modified source code comprises generating create statements for second versions of the database procedure and an associated procedure stub, the second version of the procedure stub including a second version identifier. 7. The method of claim 6 , further comprising executing the second version of the host application, thereby creating, based on the generated create statements, second versions of the database procedure and the associated procedure stub in the database. 8. The method of claim 7 , wherein executing the second version of the host application comprises executing the second version of the procedure stub, thereby calling the second version of the database procedure. 9. The method of claim 7 , wherein creation of the second version of the database procedure comprises deleting the first version of the database procedure. 10. The method of claim 6 , wherein the second version identifier is based on a time of compilation of modified source code. 11. The method of claim 1 , wherein the host application is written in an Advanced Business Application Programming (ABAP) language. 12. The method of claim 11 , wherein the embedded database procedure is encapsulated in an ABAP-managed database procedure method. 13. The method of claim 1 , wherein source code for the embedded database procedure is written in SQLScript or LLANG. 14. The method of claim 1 , further comprising, prior to compiling the modified source code for the host application, performing a syntax check of the modified embedded database procedures by temporarily creating the embedded database procedures in the database, whereby the database procedure is parsed by a parser specific to a native database procedure language associated with the database. 15. An application server comprising: at least one processor; and memory storing sets of instructions for execution by the at least one processor, the sets of instructions comprising: a virtual machine configured to support parallel execution of multiple versions of a host application with an embedded database procedure in multiple respective user sessions, execution of the database procedure embedded in a first version of the application comprising creation and execution of first versions of the database procedure and of an associated procedure stub in a database accessed by the host application; and a compiler configured to cause deletion of the first version of the procedure stub from the database upon compilation, during execution of the first version of the host application, of a second version of the host application including a second version of the database procedure. 16. The application server of claim 15 , wherein the compiler is further configured to create, from source code for the host application and the embedded database procedure, one or more compilation units comprising create statements for the database procedure and the associated procedure stub, the procedure stub including a version identifier that is based on a time of compilation. 17. The application server of claim 15 , wherein the procedure stub is configured to call, upon execution, the database procedure. 18. The application server of claim 15 , wherein the virtual machine is further configured to detect, upon an attempt to execute the first version of the procedure stub following compilation of the second version of the host application, absence of the first version of the procedure stub from the database. 19. The application server of claim 18 , wherein the virtual machine is further configured to at least one of abort execution of the host application in the first user session or issue a message indicating availability of the second version of the database procedure in response to detecting the absence of the first version of the procedure stub from the database. 20. The application server of claim 15 , wherein the sets of instructions further comprise a source-code editor for defining source code of the host application in an application programming language and for further defining source code of the embedded database procedures in a database-procedure language. 21. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors of a machine, cause the machine to perform operations comprising: executing, in a first user session, a first version of a host application including a first version of an embedded database procedure, thereby creating and executing first versions of the database procedure and of an associated procedure stub in a database accessed by the host application, the first version of the procedure stub including a version identifier; and during execution of the first version of the host application, compiling, in a second user session, modified source code for the host application, including a modification to the embedded database procedure, to create a second version of the host application including a second version of the host application including a second version of the embedded database procedure, thereby causing deletion of the first version of the procedure stub from the database.

Assignees

Inventors

Classifications

  • Performance evaluation by tracing or monitoring · CPC title

  • Retargetable compilers · CPC title

  • Creation or generation of source code · CPC title

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

  • with details for schema evolution support · CPC title

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 US9753971B2 cover?
Disclosed herein are systems and methods for the hot deployment of database procedures embedded in a host software application. In various example embodiments, the database procedures are encapsulated in specially marked methods of the host application, which, when called at runtime, cause the database procedures, and associated procedure stubs through which the database procedures are called, …
Who is the assignee on this patent?
Hartig Martin, Prestel Helmut, Hammer Rolf, and 6 more
What technology area does this patent fall under?
Primary CPC classification G06F9/44521. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).