Framework for re-writing database queries

US9633075B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9633075-B2
Application numberUS-201414311653-A
CountryUS
Kind codeB2
Filing dateJun 23, 2014
Priority dateJun 23, 2014
Publication dateApr 25, 2017
Grant dateApr 25, 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.

Embodiments relate to re-writing database query plans, and visualizing such re-written query plans. A query re-write framework includes a query normalization engine in communication with a rule catalog comprising query re-write rules in the form of rule classes. The framework receives as input, a query plan graph to be re-written. Based upon the engine's application of re-write rules from the catalog, the framework produces a re-written query plan graph as output. An interface component of the framework may provide a visualization of the re-written query plan graph as part of a dashboard. A user may access the framework to enable/disable existing rules in the catalog, add new rules to the catalog, and/or control a sequence and a precedence in which rules are applied to re-write the query plan. A user may interact with the visualization of the re-written query plan for purposes of de-bugging, re-write optimization, and/or query development.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method comprising: providing an engine in communication with a rule catalog comprising a plurality of query plan re-write rules including a first query plan re-write rule specifying a top-down traversal order and a second query plan re-write rule specifying a bottom-up traversal order; causing the engine to receive a query plan as an input; causing the engine to reference the rule catalog to generate a re-written query plan by selectively applying the first query plan re-write rule to the query plan; causing the engine to store the re-written query plan in a non-transitory computer readable storage medium; causing the engine to reference the re-written query plan in order to generate a visualization comprising a graph including an operation node and a table node; and causing the engine to communicate the visualization to an interface for display in a dashboard, wherein the dashboard further includes a change log separate from the graph and reflecting changes to the re-written query plan in a format comprising an identifier of the operation node, an operation type, an updated parent node identifier, and an identifier of the query plan re-write rule. 2. A method as in claim 1 wherein the first query plan re-write rule comprises a property specifying an operator pattern. 3. A method as in claim 1 wherein the first query plan re-write rule comprises a property specifying whether the first query plan re-write rule is indispensable. 4. A method as in claim 1 further comprising: causing the engine to reference the rule catalog to generate a further re-written query plan by applying a third query plan re-write rule to the re-written query plan. 5. A method as in claim 4 wherein the third query plan re-write rule comprises a property specifying a context. 6. A method as in claim 5 wherein the context comprises a sequence of applying the third query plan re-write rule after the first query plan re-write rule. 7. A method as in claim 4 wherein the rule catalog receives a user input specifying a sequence of applying the first query plan re-write rule prior to application of the third query plan re-write rule. 8. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising: providing an engine in communication with a rule catalog comprising a plurality of query plan re-write rules including a first query plan re-write rule specifying a top-down traversal order and a second query plan re-write rule specifying a bottom-up traversal order; causing the engine to receive a query plan as an input; causing the engine to reference the rule catalog to generate a re-written query plan by selectively applying the first query plan re-write rule to the query plan; causing the engine to store the re-written query plan in a non-transitory computer readable storage medium; causing the engine to reference the rule catalog to generate a further re-written query plan by applying a third query plan re-write rule to the re-written query plan; causing the engine to reference the re-written query plan in order to generate a visualization comprising a graph including an operation node and a table node; and causing the engine to communicate the visualization to an interface for display in a dashboard, wherein the dashboard further includes a change log separate from the graph and reflecting changes to the re-written query plan in a format comprising an identifier of the operation node, an operation type, an updated parent node identifier, and an identifier of the query plan re-write rule. 9. A non-transitory computer readable storage medium as in claim 8 wherein the first query plan re-write rule comprises a property specifying an operator pattern. 10. A non-transitory computer readable storage medium as in claim 8 wherein the first query plan re-write rule comprises a property specifying whether the first query plan re-write rule is indispensable. 11. A non-transitory computer readable storage medium as in claim 8 wherein the third query plan re-write rule comprises a property specifying a context. 12. A non-transitory computer readable storage medium as in claim 11 wherein the context comprises a sequence of applying the third query plan re-write rule after the first query plan re-write rule. 13. A non-transitory computer readable storage medium as in claim 8 wherein the rule catalog receives a user input specifying a sequence of applying the first query plan re-write rule prior to application of the third query plan re-write rule. 14. A computer system comprising: one or more processors; a software program, executable on said computer system, the software program configured to: provide an engine in communication with a rule catalog comprising a plurality of query plan re-write rules including a first query plan re-write rule specifying a top-down traversal order and a second query plan re-write rule specifying a bottom-up traversal order; cause the engine to receive a query plan as an input; cause the engine to reference the rule catalog to generate a re-written query plan by selectively applying the first query plan re-write rule to the query plan, the first query plan re-write rule comprising a property specifying an operator pattern; cause the engine to store the re-written query plan in a non-transitory computer readable storage medium; cause the engine to reference the rule catalog to generate a further re-written query plan by applying a third query plan re-write rule to the re-written query plan; cause the engine to reference the re-written query plan in order to generate a visualization comprising a graph including an operation node and a table node; and cause the engine to communicate the visualization to an interface for display in a dashboard, wherein the dashboard further includes a change log separate from the graph and reflecting changes to the re-written query plan in a format comprising an identifier of the operation node, an operation type, an updated parent node identifier, and an identifier of the query plan re-write rule. 15. A computer system as in claim 14 wherein the first query plan re-write rule further comprises a property specifying whether the first query plan re-write rule is indispensable. 16. A computer system as in claim 14 wherein the third query plan re-write rule comprises a property specifying a context comprising a sequence of applying the third query plan re-write rule after the first query plan re-write rule. 17. A computer system as in claim 14 wherein the software program is further configured to cause the rule catalog to receive a user input specifying a sequence of applying the first query plan re-write rule prior to application of the third query plan re-write rule.

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 US9633075B2 cover?
Embodiments relate to re-writing database query plans, and visualizing such re-written query plans. A query re-write framework includes a query normalization engine in communication with a rule catalog comprising query re-write rules in the form of rule classes. The framework receives as input, a query plan graph to be re-written. Based upon the engine's application of re-write rules from the c…
Who is the assignee on this patent?
Song Sang Il, Yoon Yongsik, Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/24537. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 25 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).