IP Library Granted Patent US 9,940,392
Granted Patent B2
US 9,940,392 · App. 14/642,641 · Granted Apr 10, 2018

Performing an object relational model query against a database that includes fields defined at runtime

Inventor: Timothy R. Norman (Overland Park, KS)
Assignee: LockPath, Inc.
G06F17/30864G06F17/30392
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 9,940,392
App. No.
14/642,641
Granted
Apr 10, 2018
Kind
B2
Abstract

A facility for querying user-defined database columns is described. The facility receives a database query referring to one or more database columns, at least one of the referred-to database columns being a user-defined database column. The facility provides access to a database query result generated for the perceived database query via a programmatic object.

Claims (40)

1. A method in a computing system for querying user-defined database columns in a database, the method comprising:

receiving a database query referring to one or more database columns, wherein at least some of the one or more database columns referred to in the database query are at least one user-defined database column that is not defined in a data model of the database;

converting at least a portion of the received database query , at least based on the at least one user-defined column, into a first hierarchy;

transforming the first hierarchy into a second hierarchy, the transforming based on the at least one user-defined column and one or more identifiers consistent with the data model of the database;

generating a database query result based on the second hierarchy; and

providing access to the database query result;

wherein the transforming and generating the database query result based on the second hierarchy are performed by providing the first hierarchy to an object relational model engine for generation of relational database instructions that can be applied against the database.

2. The method of claim 1 , wherein the second hierarchy defines a query result object in accordance with an object relational model.

3. The method of claim 1 , further comprising maintaining a contextual type stack during the transformation as a basis for disambiguating, in the transformation, names for database columns.

4. The method of claim 1 , wherein the first hierarchy is an expression tree hierarchy.

5. The method of claim 1 wherein the received database query is a textual database query.

6. The method of claim 1 , further comprising parsing the received database query into portions, wherein the portions are used to generate the first hierarchy as an expression tree hierarchy.

7. A computer-readable device having contents that cause a computing system to perform a method for querying user-defined database columns in a database, the method comprising:

obtaining a first hierarchy, wherein the first hierarchy is based on a received database query,

wherein the database query refers to one or more database columns, wherein at least some of the database columns referred to in the database query are at least one user-defined database column that is not defined in a data model of the database, and

wherein the first hierarchy is based, in part, on the at least one user-defined database column;

transforming the first hierarchy into a second hierarchy, the transforming based on the at least one user-defined column and one or more identifiers defined in the data model of the database, wherein the transforming further uses an object relational model and the first or second hierarchy to generate database instructions that can be applied against the database;

generating a database query result based on the second hierarchy; and

providing access to the database query result.

8. The computer-readable device of claim 7 , wherein the first hierarchy is an expression tree hierarchy.

9. The computer-readable device of claim 8 , wherein the transforming comprises applying an object relational model engine to the expression tree hierarchy to use the object relational model to generate the database instructions for application against the database.

10. The computer-readable device of claim 7 , wherein the method further comprises maintaining a contextual type stack during the transformation as a basis for disambiguating, in the transformation, names for database columns.

11. The computer-readable device of claim 7 , wherein the database query is a textual database query.

12. The computer-readable device of claim 7 , wherein the database query was constructed via a visual query construction user interface.

13. The computer-readable device of claim 7 , wherein the providing access, to the database query result, via the second hierarchy is performed via a programmatic object.

14. A computing system, comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the computing system to perform operations for querying user-defined database columns in a database, the operations comprising:

obtaining a first hierarchy, wherein the first hierarchy is based on a received input,

wherein the received input defines one or more user-defined columns, and

wherein at least some of the one or more user-defined columns are not present in a data model of the database;

transforming the first hierarchy into a second hierarchy, the transforming based on the one or more user-defined columns and identifiers present in the data model of the database;

generating a database query result based on the second hierarchy;

wherein the transforming or generating uses an object relational model and the first or the second hierarchy to generate database instructions that can be applied against the database; and

storing, in the memory, a programmatic object configured to provide access to the database query result.

15. The system of claim 14 , wherein the input defining the one or more user-defined columns is received via a visual query construction user interface.

16. The system of claim 14 , wherein the second hierarchy defines the database query result object in accordance with the object relational model.

17. The system of claim 14 , wherein the operations further comprise maintaining a contextual type stack during the transformation as a basis for disambiguating, in the transformation, names for database columns.

18. The system of claim 14 , wherein the first hierarchy is an expression tree hierarchy.

19. The system of claim 14 , wherein the operations further comprise parsing the input defining the one or more user-defined columns into portions, wherein the portions are used to generate the first hierarchy.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2026
From: LOCKPATH, INC.
To: NAVEX GLOBAL, INC.
Reel/Frame 073421/0392 →
MERGER Recorded Jan 9, 2026
From: HORNET SUB, INC.
To: LOCKPATH, INC.
Reel/Frame 073421/0398 →
SECURITY INTEREST Recorded Oct 15, 2025
From: NAVEX GLOBAL, INC.
To: ANTARES CAPITAL LP, AS COLLATERAL AGENT
Reel/Frame 072574/0356 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 065519/0345 Recorded Oct 15, 2025
From: ANTARES CAPITAL LP, AS COLLATERAL AGENT
To: NAVEX GLOBAL, INC.
Reel/Frame 073069/0677 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 050911, FRAME 0873 Recorded Nov 17, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: LOCKPATH, INC.
Reel/Frame 065612/0945 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 050911, FRAME 0969 Recorded Nov 17, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: LOCKPATH, INC.
Reel/Frame 065613/0004 →
SECURITY INTEREST Recorded Nov 10, 2023
From: NAVEX GLOBAL, INC.
To: ANTARES CAPITAL LP, AS COLLATERAL AGENT
Reel/Frame 065519/0345 →
MERGER Recorded Feb 22, 2022
From: LOCKPATH, INC.
To: HORNET SUB, INC.
Reel/Frame 059066/0040 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 1, 2019
From: LOCKPATH, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 050911/0873 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 1, 2019
From: LOCKPATH, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 050911/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2015
From: NORMAN, TIMOTHY R.
To: LOCKPATH, INC.
Reel/Frame 035130/0466 →
Continuity (2)
Provisional Application 62012308 · Jun 14, 2014
Related Publication 20150363494A1 · Dec 17, 2015