IP Library Granted Patent US 7,805,447
Granted Patent B2
US 7,805,447 · App. 12/015,392 · Granted Sep 28, 2010

Generating example data for testing database queries

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,805,447
App. No.
12/015,392
Granted
Sep 28, 2010
Kind
B2
Abstract

Computer-implemented methods, modules and clients relate to expanded, pruned sample table for testing database queries against a base table. The expanded, pruned sample table is formed from the base table by a process of initial sampling, synthesis, and pruning.

Claims (29)

1. A computer-implemented method of forming a sample table from a base table for testing semantics of a query to be run on the base table, comprising:

sampling the base table to form an initial sample table and forming an intermediate table of each operator from an operator tree of the query by passing the initial sample table through the operator tree;

inserting suggestion records into the intermediate table based on incompleteness in the intermediate table to form an expanded sample table;

passing the expanded sample table through the operator tree to form an expanded intermediate table;

pruning the expanded sample table to form a final sample table, wherein said pruning comprises:

grouping equivalence classes of equivalent records in the expanded intermediate table;

retaining a set of expanded sample table records whose corresponding set of intermediate records includes at least one record from all equivalence classes while being as small as possible; and

classifying expanded sample table records and expanded intermediate table records into lineage groups, wherein the lineage groups each correspond to a set of records that derive from each other as they flow through the operator tree.

2. The computer-implemented method of claim 1 , wherein the step of synthesizing employs suggestion records inserted into the intermediate table to construct the expanded sample table.

3. The computer-implemented method of claim 2 , wherein the suggestion records propagated up the operator tree to a leaf operator of the tree where they and the intermediate table are use to form the expanded sample table from the base table.

4. The computer-implemented method of claim 2 , wherein the suggestion record is listing of a field paired with either a concrete value or a token denoting that any value is acceptable.

5. The computer-implemented method of claim 2 , wherein the structure of the suggestion record varies depending on the operator involved.

6. The computer-implemented method of claim 1 , wherein the equivalence classes are formed differently for different operators.

7. A computer-implemented method of forming a sample table from a base table for testing semantics of a query to be run on the base table, comprising:

sampling the base table to form an initial sample table and forming an intermediate table of each operator from an operator tree of the query by passing the initial sample table through the operator tree; and

pruning the initial sample table to form a final sample table, wherein said pruning comprises:

grouping equivalence classes of equivalent records in the intermediate table;

retaining a set of sample table records whose corresponding set of intermediate records includes at least one record from all equivalence classes while being as small as possible; and

classifying sample table records and intermediate table records into lineage groups, wherein the lineage groups each correspond to a set of records that derive from each other as they flow through the operator tree.

8. The computer-implemented method of claim 7 , wherein the equivalence classes are formed differently for different operators.

9. A computer-implemented module for interfacing with a database server and a database client to form a sample database from a base table, comprising:

an input element configured to receive a query comprising a set of operators that form an operator tree;

a database sampling element configured to sample the base table to form an initial sample table;

a processing element configured to form an intermediate table by passing the initial sample table through the operator tree, to synthesize an expanded sample table from the base table based on incompleteness in the intermediate table of each operator, and to prune the expanded sample table to form a final sample table, wherein the pruning proceeds by grouping equivalence classes of equivalent records in an expanded intermediate table, formed by passing the expanded sample table through the operator tree, retaining a set of expanded sample table records whose corresponding set of intermediate records includes at least one record from all equivalent classes while being as small as possible, and classifying expanded sample table records and expanded intermediate table records into lineage groups, wherein the lineage groups each correspond to a set of records that derive from each other as they flow through the operator tree.

10. The computer-implemented module of claim 9 , wherein synthesizing employs suggestion records inserted into the intermediate table to construct the expanded sample table.

11. The computer-implemented module of claim 10 , wherein the suggestion records propagated up the operator tree to a leaf operator of the tree where they and the intermediate table are use to form the expanded sample table from the base table.

12. The computer-implemented module of claim 10 , wherein the suggestion record is listing of a field paired with either a concrete value or a token denoting that any value is acceptable.

13. The computer-implemented module of claim 10 , wherein the structure of the suggestion record varies depending on the operator involved.

14. The computer-implemented module of claim 9 , wherein the equivalence classes are formed differently for different operators.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2008
From: OLSTON, CHRISTOPHER; SRIVASTAVA, UTKARSH
To: YAHOO! INC.
Reel/Frame 020374/0446 →