IP Library Patent Application 12960512
Patent Application
App. No. 12/960,512

EXTENDING LEGACY DATABASE ENGINES WITH OBJECT-BASED FUNCTIONALITY

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 None
App. No.
12/960,512
Abstract

Legacy database engines may be extended through the use of callback extension handlers on the client. For example, regular expression matching and arbitrary user-functions may be implemented in a legacy database engine without replacing the engine. A pattern string may be provided to the legacy database engine by a client with a pattern matching prefix. When the legacy database engine encounters the prefix, the database engine executes a callback to the client with a value from the database for pattern matching. The client performs the pattern matching through, for example, regular expressions, and returns a match status to the database engine. The process may be repeated for several rows of a table in the database and a dataset compiled by the database engine and returned to the client.

Claims (38)

1 . A method, comprising:

receiving a first pattern string for a first column of a table of a database;

identifying a pattern match extension prefix in the first pattern string; and

when the pattern match extension prefix is located in the first pattern string:

calling a first extension callback function with an index pointer and a column value pointer; and

receiving a match status from the extension callback function.

2 . The method of claim 1 , in which when the pattern match extension prefix is not located in the first pattern string performing normal legacy pattern matching.

3 . The method of claim 1 , in which the index pointer specifies a particular extension callback function and in which the column value pointer is a pointer to a memory location storing data from the first column of the table for at least one row.

4 . The method of claim 1 , in which the receiving step, the identifying step, and the calling step are repeated for several rows in the table.

5 . The method of claim 4 , further comprising returning the rows of the table for which a positive match status is received from the first extension callback function.

6 . The method of claim 1 , in which the first pattern string is received from a client and in which the first extension callback function is located on the client.

7 . The method of claim 1 , in which the database is stored on a database server executing a legacy database engine.

8 . The method of claim 1 , in which identifying the pattern match extension prefix comprises identifying a hexadecimal FF value.

9 . The method of claim 1 , further comprising:

receiving a second pattern string for a second column of the table;

identifying the pattern match extension prefix in the second pattern string; and

when the pattern match extension prefix is located in the second pattern string:

calling a second extension callback function with a second index pointer and a second column value pointer; and

receiving a second match status from the second extension callback function.

10 . A computer program product, comprising:

a computer-readable medium comprising:

code to receive a pattern string for a column of a table of a database;

code to identify a pattern match extension prefix in the pattern string; and

code to, when the pattern match extension prefix is located in the pattern string, call an extension callback function with an index pointer and a column value pointer; and

code to, when the pattern match extension prefix is located in the pattern string, receive a match status from the extension callback function.

11 . The computer program product of claim 10 , in which the medium further comprises code to, when the pattern match extension prefix is not located in the pattern string, perform normal legacy pattern matching.

12 . The computer program product of claim 10 , in which the medium further comprises code to repeat the code to receive, the code to identify, and the code to call for several rows in the table.

13 . The computer program product of claim 10 , in which the medium further comprises code to return the rows of the table for which a positive match status is received from the extension callback function.

14 . The computer program product of claim 10 , in which the medium further comprises code to access a legacy database engine.

15 . The computer program product of claim 10 , in which the code to receive a pattern string receives a pattern string from a client.

16 . The computer program product of claim 15 , in which the code to call the extension callback function calls the extension callback function located on the client.

17 . A method, comprising:

receiving a callback from a database engine having an index pointer and a column value pointer;

calling an extension handler corresponding to the index pointer with the column value pointer; and

returning a match status to the database engine.

18 . The method of claim 17 , further comprising locating the corresponding extension handler for the callback by accessing a row of a callback table corresponding to the index pointer.

19 . The method of claim 17 , in which the extension handler is at least one of a regular expression object and a function object.

20 . The method of claim 17 , in which the database engine is legacy database engine.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
SECURITY AGREEMENT Recorded Mar 1, 2011
From: UNISYS CORPORATION
To: DEUTSCH BANK NATIONAL TRUST COMPANY; GLOBAL TRANSACTION BANKING
Reel/Frame 025864/0519 →