IP Library Granted Patent US 8,843,474
Granted Patent B2
US 8,843,474 · App. 11/924,297 · Granted Sep 23, 2014

Method and database system for executing a XML database query

Inventor: Thorsten Fiebig (Mannheim, DE)
Assignee: Software AG
G06F17/30935
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,843,474
App. No.
11/924,297
Granted
Sep 23, 2014
Kind
B2
Abstract

Executing a XML database query. The method may include compiling the XML database query to provide at least two alternative execution plans, wherein the at least two alternative execution plans provide the same response to the XML database query. The method may further include deciding during runtime, which of the at least two alternative execution plans is executed. The method may include executing the selected execution plan.

Claims (29)

1. A method for executing an extended markup language (XML) database query, the method comprising:

compiling the XML database query to provide at least two alternative execution plans, wherein, upon execution, the at least two alternate execution plans provide a same response to the XML database query;

selecting one of the at least two alternative execution plans at runtime; and

executing the selected execution plan to perform the XML database query;

wherein said selecting comprises a switch dynamically selecting one of the at least two alternative plans, wherein the switch performs the selection based on intermediate results, which are at least partly reused for evaluating the result of the execution of the XML database query according to at least one of the at least two alternative execution plans.

2. The method of claim 1 , wherein said compiling involves the use of XML database statistics.

3. The method of claim 1 , wherein the at least two execution plans differ by the use of at least one XML database index.

4. The method of claim 1 , wherein the XML database query is dependent on at least one external parameter and pre-compiled without the parameter being bound to a value.

5. The method of claim 1 , wherein the switch performs the selection based on intermediate results, all of which are used for the execution of the XML database query according to at least one of the at least two alternative execution plans.

6. The method of claim 1 , wherein the intermediate results comprise the result of a count operation.

7. The method of claim 1 , wherein the XML database query serves for text retrieval and wherein said selecting depends on results of a scan for the text to be retrieved.

8. The method of claim 1 , wherein the XML database query involves a sort query and wherein the at least two execution plans both comprise a sorting step but differ in the sequence in which the sorting step and other steps of the respective execution plan are executed.

9. A computer accessible memory medium storing program instructions for executing a extended markup language (XML) database query, wherein the program instructions are executable by a processor implement:

a compiler adapted to generate at least two database query execution plans, wherein upon execution the at least two alternate execution plans provide a same response to the XML database query; and

at least one switch adapted to select one of the at least two database query execution plans during runtime; and

an execution engine adapted to execute the selected execution plan;

wherein said selecting comprises the at least one switch dynamically selecting one of the at least two alternative database query execution plans, wherein the switch performs the selection based on intermediate results, which are at least partly reused for evaluating the result of the execution of the XML database query according to at least one of the at least two alternative database query execution plans.

10. The computer accessible memory medium of claim 9 , wherein the at least one switch is adapted to select one of the at least two alternative execution plans depending on at least one intermediate result obtained during execution of the XML database query.

11. The computer accessible memory medium of claim 9 , wherein the memory medium stores XML database statistics adapted to be used by the compiler for generating the one or more alternative execution plans.

12. The computer accessible memory medium of claim 9 , wherein the at least two execution plans differ by the use of at least one database index.

13. The computer accessible memory medium of claim 9 , wherein the switch is adapted to select one of the at least two database query execution plans based on the result of an operator, which is also used in at least one of the two alternative execution plans.

14. A computer accessible memory medium storing program instructions for executing an extended markup language (XML) database query, wherein the program instructions are executable by a processor to:

compile the XML database query to provide at least two alternative execution plans, wherein the at least two alternate execution plans provide a same response to the XML database query;

select one of the at least two alternative execution plans at runtime; and

execute the selected execution plan;

wherein said selecting comprises dynamically selecting one of the at least two alternative plans, wherein the selection is performed based on intermediate results, which are at least partly reused for evaluating the result of the execution of the XML database query according to at least one of the at least two alternative execution plans.

15. The memory medium of claim 14 , wherein said compiling involves the use of XML database statistics.

16. The memory medium of claim 14 , wherein the at least two execution plans differ by the use of at least one XML database index.

17. The memory medium of claim 14 , wherein the XML database query is dependent on at least one external parameter and pre-compiled without the parameter being bound to a value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2024
From: SOFTWARE AG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069048/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2008
From: FIEBIG, THORSTEN
To: SOFTWARE AG
Reel/Frame 020372/0932 →
Priority Claims (1)
EP 07008680 · Apr 27, 2007 · regional
Continuity (1)
Related Publication 20080270371A1 · Oct 30, 2008