IP Library Granted Patent US 7,010,542
Granted Patent B2
US 7,010,542 · App. 10/199,944 · Granted Mar 7, 2006

Result set formatting and processing

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 7,010,542
App. No.
10/199,944
Granted
Mar 7, 2006
Kind
B2
Abstract

The select list for the query is thus constructed such that it produces a result set having a predefined structure. Columns representing identifier properties of an entity are added to the select list. If the entity is an inheritance entity or a collection, then entities from a least derived entity to all descendants are identified and columns representing their identifiers are added to the select list and columns representing non-inherited properties for those entities are added. If the entity is not an inheritance entity or a collection, then columns representing properties of the entity are added to the select list.

Claims (50)

1. A computer-implemented method of constructing a relational database select list from a query expressed in terms of entities, comprising:

selecting an entity or entity collection to be queried;

adding columns representing identifier properties of the selected entity or entity collection to the select list; and

if the selected entity or entity collection involves inheritance,

then identifying entities from a least derived entity corresponding to the selected entity or entity collection to all descendants, and adding columns representing the identifiers of the identified entities to the select list;

adding columns representing non-inherited properties for the identified entities to the select list;

and further comprising:

if the selected entity or entity collection does not involve inheritance, then adding columns representing properties of the selected entity or entity collection to the select list.

2. The method of claim 1 wherein adding columns representing properties comprises:

determining whether a selected property represents a multi-column unit; and

if so, adding columns associated with the multi-column unit to the select list.

3. The method of claim 2 wherein the multi-column unit represents at least one of an array, struct, class or entity.

4. The method of claim 1 wherein adding columns comprises:

selecting a property from the selected entity or entity collection to be queried;

determining whether the selected property represents a joined child entity of the selected entity or entity collection; and

if so, generating a select list for the joined child entity and combining the select list for the joined child with the select list for the selected entity or entity collection.

5. The method of claim 1 wherein adding columns comprises:

selecting a property from the selected entity or entity collection to be queried;

determining whether the selected property represents a non-joined child entity collection; and

if so, adding nothing from the non-joined child entity collection to the select list.

6. The method of claim 1 wherein adding columns comprises:

selecting a property from the selected entity or entity collection to be queried;

determining whether the property represents an associated entity; and

if so, adding identifier columns of the associated entity to the select list.

7. The method of claim 1 and further comprising:

storing metadata associated with the select list, the metadata describing how columns in the select list relate to the selected entity or entity collection being queried.

8. A computer readable medium storing instructions that cause a computer to construct a relational database select list from a query expressed in terms of entities, by performing the steps of:

selecting a unit, that comprises an entity or entity collection to be queried;

adding columns representing identifier properties of the selected unit to the select list; and

if the selected unit involves inheritance,

then identifying entities from a least derived entity corresponding to the selected unit to all descendants, and adding columns representing the identifiers of the identified entities to the select list;

adding columns representing non-inherited properties for the identified entities to the select list;

and further comprising: if the selected unit does not involve inheritance, then adding columns representing properties of the selected unit to the select list.

9. The computer readable medium of claim 8 wherein adding columns representing properties comprises:

determining whether a selected property represents a multi-column unit; and

if so, adding columns associated with the multi-column unit to the select list.

10. The computer readable medium of claim 8 wherein adding columns comprises:

selecting a property from the selected unit to be queried;

determining whether the selected property represents a joined child entity of the selected unit; and

if so, generating a select list for the joined child entity and combining it with the selected list for the selected unit.

11. The computer readable medium of claim 8 wherein adding columns comprises:

selecting a property from the selected unit to be queried;

determining whether the selected property represents a non-joined child entity collection; and

if so, adding nothing from the non-joined child entity collection to the select list.

12. The computer readable medium of claim 8 wherein adding columns comprises:

selecting a property from the selected unit to be queried;

determining whether the property represents an associated entity; and

if so, adding identifier columns of the associated entity to the select list.

13. The computer readable medium of claim 8 and further comprising:

storing metadata associated with the select list, the metadata describing how columns in the select list relate to the selected entity being queried.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2002
From: TRAPPEN, ANTHONY R.; SWAN, DEMPSEY R.; HOLZHEY, RAYMOND
To: MICROSOFT CORPORATION
Reel/Frame 013951/0130 →