IP Library Granted Patent US 8,914,387
Granted Patent B2
US 8,914,387 · App. 13/457,315 · Granted Dec 16, 2014

Calculation models using annotations for filter optimization

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 8,914,387
App. No.
13/457,315
Granted
Dec 16, 2014
Kind
B2
Abstract

A query statement is received that requires at least one calculated attribute. Thereafter, a data flow graph is generated that includes a plurality of nodes for executing the query. At least one of the nodes corresponds to the at least one calculated attribute and has at least one level of child nodes. The data flow graph is generated by generating at least one filter for each of the nodes corresponding to the at least one calculated attribute and by pushing down the generated filters to a corresponding child node. Once the data flow graph is generated, execution of the query can be initiated using the generated data flow graph. Related apparatus, systems, techniques and articles are also described.

Claims (34)

1. A method for implementation by one or more data processor forming part of at least one computing system, the method comprising:

receiving, by at least one data processor, a query statement requiring at least one calculated attribute;

generating, by at least one data processor, a data flow graph comprising a plurality of nodes for executing the query, at least one of the nodes corresponding to the at least one calculated attribute and having at least one level of child nodes, the generating comprising:

generating, by at least one data processor for each of the nodes corresponding to the at least one calculated attribute, at least one filter that is based on an inverse of a calculated expression corresponding to the at least one calculated attribute; and

pushing, by at least one data processor, the generated filters down to a corresponding child node; and

initiating, by at least one data processor, executing of the query using the generated data flow graph.

2. A method as in claim 1 , wherein the operation defined by the at least one node corresponding to the at least one calculated attribute comprises a base attribute, the generated filter being pushed down via the base attribute.

3. A method as in claim 2 , wherein at least one calculated attribute is replaced with an actual filter value and the base attribute is changed based on this replacement.

4. A method as in claim 1 , wherein the generated filters each comprises multiple query parts.

5. A method as in claim 4 , wherein the multiple query parts are dependent on operators utilized by the corresponding generated filter.

6. A method as in claim 5 , wherein at least one calculated attributed is replaced with an actual filter value and a new filter on top of the actual filter value is pushed down to the corresponding node.

7. A method as in claim 1 , wherein at least one calculated attribute comprises two or more rules that are chained.

8. A method as in claim 1 , wherein at least one of the generated filters pushed down to a corresponding child node is duplicated at a corresponding parent node.

9. An article of manufacture comprising:

computer executable instructions stored on non-transitory computer readable media, which, when executed by at least one data processor, causes the at least one data processor to perform operations comprising:

receiving a query statement requiring at least one calculated attribute;

generating a data flow graph comprising a plurality of nodes for executing the query, at least one of the nodes corresponding to the at least one calculated attribute and having at least one level of child nodes, the generating comprising:

generating, for each of the nodes corresponding to the at least one calculated attribute, at least one filter that is based on an inverse of a calculated expression corresponding to the at least one calculated attribute; and

pushing the generated filters down to a corresponding child node; and

initiating executing of the query using the generated data flow graph.

10. An article as in claim 9 , wherein the operation defined by the at least one node corresponding to the at least one calculated attribute comprises a base attribute, the generated filter being pushed down via the base attribute.

11. An article as in claim 10 , wherein at least one calculated attribute is replaced with an actual filter value and the base attribute is changed based on this replacement.

12. An article as in claim 9 , wherein the generated filters each comprises multiple query parts.

13. An article as in claim 12 , wherein the multiple query parts are dependent on operators utilized by the corresponding generated filter.

14. An article as in claim 13 , wherein at least one calculated attributed is replaced with an actual filter value and a new filter on top of the actual filter value is pushed down to the corresponding node.

15. An article as in claim 9 , wherein at least one calculated attribute comprises two or more rules that are chained.

16. An article as in claim 9 , wherein at least one of the generated filters pushed down to a corresponding child node is duplicated at a corresponding parent node.

17. A method for implementation by one or more data processor forming part of at least one computing system, the method comprising:

receiving, by at least one data processor, a query statement requiring at least one calculated attribute;

generating, by at least one data processor, a data flow graph comprising a plurality of nodes for executing the query, at least one of the nodes corresponding to the at least one calculated attribute and having at least one level of child nodes, the generating comprising:

determining, by at least one data processor for at least one calculated attribute, an inverse of a corresponding calculated expression;

pushing, by at least one data processor, the inverse of the determined corresponding calculated expression down to a corresponding child node, wherein at least one calculated attributed is replaced with an actual filter value and a new filter on top of the actual filter value is pushed down to the corresponding node;

initiating, by at least one data processor, executing of the query using the generated data flow graph.

18. A method as in claim 17 , wherein at least one calculated attribute comprises two or more rules that are chained.

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 Apr 27, 2012
From: WEYERHAEUSER, CHRISTOPH; MINDNICH, TOBIAS; BAEUMGES, DANIEL; KAZMAIER, GERRIT SIMON
To: SAP AG
Reel/Frame 028119/0394 →