Patent US5566329A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5566329A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for mutation of selected assignment operations on large data objects

Assignee: International Business Machines Corp
•
Filing: 1995-02-10
•
Granted: 1996-10-15
•
Expires: 2015-02-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A relational data base management system that stores and retrieves large data objects (LOBs) from data base storage to evaluate assignment statements includes a data manager that mutates selected string operations into equivalent functions on a LOB operand that can be left in the data base, thereby eliminating the associated storage access operations. When the data manager receives an assignment statement containing one or more LOBs, the data manager first checks to determine if the statement can be mutated. If the statement can be mutated, then the mutation is performed. The mutated statement is then processed according to a conventional deleted evaluation scheme. If the assignment statement cannot be mutated, then the statement is evaluated according to a conventional deleted evaluation scheme. In this way, the data base management system does not require the LOB to be read from the data base into intermediate storage, but instead provides an equivalent result by operating on the LOB in place in the data base storage. This permits processing selected LOB assignment statements with much fewer storage access operations than an immediate evaluation scheme, thereby increasing efficiency and execution speed.

Inventors

  • 👤 Patrick J. Gainer
  • 👤 Peter P. Gassner
  • 👤 Tobin J. Lehman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 18:05
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/284; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933; Y10S707/99934

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 183 words
A method of evaluating an assignment statement received by a relational data base management system of a computer processor in a computer system from a system client, the method comprising the steps of: receiving an assignment statement comprising at least one string operator and one operand that references a large data object (LOB) stored at a location in a data base storage device of the computer network, the assignment statement having the form of a sink operand separated from one or more source operands by an equal sign; determining if the assignment statement contains one or more string operators and a LOB operand such that the LOB operand can remain in its data base storage device location and be operated upon by an equivalent data function that provides an identical result, thereby comprising a mutated string operator that does not require the LOB operand to be read from the data base storage device into an intermediate storage to perform the string operator; mutating the string operator into the determined equivalent function; and processing the mutated assignment statement according to a deferred evaluation scheme.
Claim 2
Independent Claim 183 words
A method of evaluating an assignment statement received by a relational data base management system of a computer processor in a computer system from a system client, the method comprising the steps of: receiving an assignment statement comprising at least one string operator and one operand that references a large data object (LOB) stored at a location in a data base storage device of the computer network, the assignment statement having the form of a sink operand separated from one or more source operands by an equal sign; determining if the assignment statement contains one or more string operators and a LOB operand such that the LOB operand can remain in its data base storage device location and be operated upon by an equivalent data function that provides an identical result, thereby comprising a mutated string operator that does not require the LOB operand to be read from the data base storage device into an intermediate storage to perform the string operator; mutating the string operator into the determined equivalent function; and processing the mutated assignment statement according to a deferred evaluation scheme.
Claim 3
Dependent Claim 81 words
A method as defined in claim 1, wherein the step of receiving an assignment statement includes replacing each operand of the assignment statement with an LSE data structure in memory of the computer processor, wherein each LSE data structure indicates a data structure type, a data structure source, a data structure start position, a data structure length, a data structure total length, and a pointer that indicates a next LSE data structure corresponding to a next operand of the assignment statement.
Claim 4
Dependent Claim 51 words
A method as defined in claim 2, wherein the step of processing the mutated assignment statement includes the steps of: performing the equivalent functions on the LSE data structures to produce a resultant string; and deleting the LSE data structures from the computer memory after the resultant string has been produced.
Claim 5
Dependent Claim 73 words
A method as defined in claim 2, wherein the step of determining comprises the steps of: determining whether the assignment statement includes a length-altering string operation on a first operand, beginning at a first byte of the first operand; and replacing the length-altering string operation with a truncate-in-place function on the first operand that does not require the first operand to be read from the data base storage device into the intermediate storage.
Claim 6
Dependent Claim 33 words
A method as defined in claim 4, wherein the step of mutating comprises the steps of: mutating a concatenate operation into an append function; and mutating a substring operation into a truncate function.
Claim 7
Dependent Claim 32 words
A method as defined in claim 4, wherein the step of mutating is performed only if the operand on both sides of the equal sign of the assignment statement are the same.
Claim 8
Dependent Claim 34 words
A method as defined in claim 4, wherein the step of mutating comprises replacing a string operation with a function selected from a group including at least insert, append, delete, read, and write functions.
Claim 9
Dependent Claim 274 words
A relational data base management system for use in manipulating data objects of a computer system having a central processor unit and memory, the relational data base management system comprising: a data manager controller that receives a relational data base assignment statement comprising at least one string operator and one operand that is stored at a location in a data base storage device of the computer system, the assignment statement having a form wherein a sink operand is separated from one or more source operands by an equal sign; a data assignment evaluator that receives the assignment statement from the data manager controller if the assignment statement does not contain an operand that references a large data object (LOB) comprising a data object that exceeds a predetermined size and processes the assignment statement so as to perform the string operators; a LOB manager that receives the assignment statement if it contains a LOB and determines if at least one LOB operand can remain in its respective data base storage device location and be operated upon by one or more equivalent data functions that provide an identical result as the string operator performed on the LOB, thereby comprising a mutated assignment statement that does not require the LOB operand to be read from the data base storage device into an intermediate storage; and an LSE handler that mutates the string operator determined by the LOB manager to be mutatable by replacing the string operator with the predetermined equivalent functions that operate on the LOB operand in its data base storage device location, and processes the mutated assignment statement in accordance with a deferred evaluation technique.
Claim 10
Dependent Claim 274 words
A relational data base management system for use in manipulating data objects of a computer system having a central processor unit and memory, the relational data base management system comprising: a data manager controller that receives a relational data base assignment statement comprising at least one string operator and one operand that is stored at a location in a data base storage device of the computer system, the assignment statement having a form wherein a sink operand is separated from one or more source operands by an equal sign; a data assignment evaluator that receives the assignment statement from the data manager controller if the assignment statement does not contain an operand that references a large data object (LOB) comprising a data object that exceeds a predetermined size and processes the assignment statement so as to perform the string operators; a LOB manager that receives the assignment statement if it contains a LOB and determines if at least one LOB operand can remain in its respective data base storage device location and be operated upon by one or more equivalent data functions that provide an identical result as the string operator performed on the LOB, thereby comprising a mutated assignment statement that does not require the LOB operand to be read from the data base storage device into an intermediate storage; and an LSE handler that mutates the string operator determined by the LOB manager to be mutatable by replacing the string operator with the predetermined equivalent functions that operate on the LOB operand in its data base storage device location, and processes the mutated assignment statement in accordance with a deferred evaluation technique.
Claim 11
Dependent Claim 90 words
A relational data base management system as defined in claim 8, wherein the LOB manager replaces each operand of the assignment statement with an LSE data structure in memory of the computer processor, wherein the LOB manager specifies each LSE data structure so that it indicates a data structure type, a data structure source, a data structure start position, a data structure length, and a data structure total length, and also sets a pointer that indicates a next LSE data structure corresponding to a next operand of the assignment statement.
Claim 12
Dependent Claim 91 words
A relational data base management system as defined in claim 9, wherein the data assignment evaluator replaces each operand of the assignment statement with an LSE data structure in memory of the computer processor, wherein the LOB manager specifies each LSE data structure so that it indicates a data structure type, a data structure source, a data structure start position, a data structure length, and a data structure total length, and also sets a pointer that indicates a next LSE data structure corresponding to a next operand of the assignment statement.
Claim 13
Dependent Claim 54 words
A relational data base management system as defined in claim 9, wherein the LSE handler evaluates the mutated assignment statement by performing the determined equivalent functions on the LSE data structures to produce a resultant string and then deletes the LSE data structures from the computer memory after the resultant string has been produced.
Claim 14
Dependent Claim 74 words
A relational data base management system as defined in claim 11, wherein the LSE handler determines whether the assignment statement includes a length-altering string operation on a first operand, beginning at a first byte of the first operand, and in response replaces the length-altering string operation on the first operand with a truncate-in-place function that does not require the first operand to be read from the data base storage device into the intermediate storage.
Claim 15
Dependent Claim 32 words
A relational data base management system as defined in claim 12, wherein the LSE handler mutates a concatenate operation into an append function and mutates a substring operation into a truncate function.
Claim 16
Dependent Claim 37 words
A relational data base management system as defined in claim 12, wherein the LSE handler mutates the assignment statement only if the operand on both sides of the equal sign of the assignment statement are the same.
Claim 17
Dependent Claim 39 words
A relational data base management system as defined in claim 12, wherein the LSE handler replaces a string operation with a function selected from a group of data functions including at least insert, append, delete, read, and write functions.
Claim 18
Dependent Claim 301 words
A computer system comprising: a central processor unit; a memory; at least one storage device that contains data objects of a relational data base; a relational data base management system that permits a computer system user to manipulate the data objects, the relational data base management system including: a data manager controller that receives a relational data base assignment statement from a user, the assignment statement comprising at least one string operator and one operand that is stored at a location in the data base storage device, the assignment statement having a form wherein a sink operand is separated from one or more source operands by an equal sign; a data assignment evaluator that receives the assignment statement from the data manager controller if the assignment statement does not contain an operand that references a large data object (LOB) comprising a data object that exceeds a predetermined size and processes the assignment statement so as to perform the string operator; a LOB manager that receives the assignment statement if it contains a LOB and determines if at least one LOB operand can remain in its respective data base storage device location and can be operated upon in-place by one or more equivalent data functions that provide an identical result as the string operator performed on the LOB, thereby comprising a mutated assignment statement that does not require the LOB operand to be read from the data base storage device into an intermediate storage location of the computer system; and an LSE handler that mutates the string operator determined by the LOB manager to be mutatable by replacing the string operator with the predetermined equivalent functions that operate on the LOB operand in its data base storage device location, and processes the mutated assignment statement in accordance with a deferred evaluation technique.
Claim 19
Dependent Claim 301 words
A computer system comprising: a central processor unit; a memory; at least one storage device that contains data objects of a relational data base; a relational data base management system that permits a computer system user to manipulate the data objects, the relational data base management system including: a data manager controller that receives a relational data base assignment statement from a user, the assignment statement comprising at least one string operator and one operand that is stored at a location in the data base storage device, the assignment statement having a form wherein a sink operand is separated from one or more source operands by an equal sign; a data assignment evaluator that receives the assignment statement from the data manager controller if the assignment statement does not contain an operand that references a large data object (LOB) comprising a data object that exceeds a predetermined size and processes the assignment statement so as to perform the string operator; a LOB manager that receives the assignment statement if it contains a LOB and determines if at least one LOB operand can remain in its respective data base storage device location and can be operated upon in-place by one or more equivalent data functions that provide an identical result as the string operator performed on the LOB, thereby comprising a mutated assignment statement that does not require the LOB operand to be read from the data base storage device into an intermediate storage location of the computer system; and an LSE handler that mutates the string operator determined by the LOB manager to be mutatable by replacing the string operator with the predetermined equivalent functions that operate on the LOB operand in its data base storage device location, and processes the mutated assignment statement in accordance with a deferred evaluation technique.
Claim 20
Dependent Claim 84 words
A computer system as defined in claim 16, wherein the LOB manager replaces each operand of the assignment statement with an LSE data structure in the memory, wherein the LOB manager specifies each LSE data structure so that it indicates a data structure type, a dam structure source, a data structure start position, a data structure length, and a data structure total length, and also sets a pointer that indicates a next LSE data structure corresponding to a next operand of the assignment statement.
Claim 21
Dependent Claim 85 words
A computer system as defined in claim 17, wherein the data assignment evaluator replaces each operand of the assignment statement with an LSE data structure in the memory, wherein the LOB manager specifies each LSE data structure so that it indicates a data structure type, a data structure source, a data structure start position, a data structure length, and a data structure total length, and also sets a pointer that indicates a next LSE data structure corresponding to a next operand of the assignment statement.
Claim 22
Dependent Claim 51 words
A computer system as defined in claim 17, wherein the LSE handler evaluates the mutated assignment statement by performing the determined equivalent functions on the LSE data structures to produce a resultant string and then deletes the LSE data structures from the computer memory after the resultant string has been produced.
Claim 23
Dependent Claim 71 words
A computer system as defined in claim 19, wherein the LSE handler determines whether the assignment statement includes a length-altering string operation on a first operand, beginning at a first byte of the first operand, and in response replaces the length-altering string operation on the first operand with a truncate-in-place function that does not require the first operand to be read from the data base storage device into the intermediate storage.
Claim 24
Dependent Claim 29 words
A computer system as defined in claim 20, wherein the LSE handler mutates a concatenate operation into an append function and mutates a substring operation into a truncate function.
Claim 25
Dependent Claim 34 words
A computer system as defined in claim 20, wherein the LSE handler mutates the assignment statement only if the operand on both sides of the equal sign of the assignment statement are the same.
Claim 26
Dependent Claim 36 words
A computer system as defined in claim 20, wherein the LSE handler replaces a string operator with a function selected from a group of data functions including at least insert, append, delete, read, and write functions.
Claim 27
Dependent Claim 41 words
A computer system as defined in claim 17, further including: a file server connected to the central processor unit; and at least one client processor connected to the file server through which the user can communicate with the central processor unit.
Claim 28
Dependent Claim 217 words
A program storage device readable by a processor machine, tangibly embodying a program of instructions executable by the processor machine to perform method steps for permitting a user to manipulate data objects of a relational data base management system of the processor machine, the method steps performed by the processor machine comprising: receiving an assignment statement comprising at least one string operator and one operand that references a large data object (LOB) stored at a location in a data base storage device of the processor machine, the assignment statement having the form of a sink operand separated from one or more source operands by an equal sign; determining if the assignment statement contains one or more string operators and a LOB operand such that the LOB operand can remain in its data base storage device location and be operated upon by an equivalent data function that provides an identical result, thereby comprising a mutated string operator that does not require the LOB operand to be read from the data base storage device into an intermediate storage to perform the string operator; mutating the string operator into the determined equivalent function; and processing the mutated assignment statement according to a deferred evaluation scheme and producing a statement result that is returned to the user of the processor machine.
Claim 29
Dependent Claim 217 words
A program storage device readable by a processor machine, tangibly embodying a program of instructions executable by the processor machine to perform method steps for permitting a user to manipulate data objects of a relational data base management system of the processor machine, the method steps performed by the processor machine comprising: receiving an assignment statement comprising at least one string operator and one operand that references a large data object (LOB) stored at a location in a data base storage device of the processor machine, the assignment statement having the form of a sink operand separated from one or more source operands by an equal sign; determining if the assignment statement contains one or more string operators and a LOB operand such that the LOB operand can remain in its data base storage device location and be operated upon by an equivalent data function that provides an identical result, thereby comprising a mutated string operator that does not require the LOB operand to be read from the data base storage device into an intermediate storage to perform the string operator; mutating the string operator into the determined equivalent function; and processing the mutated assignment statement according to a deferred evaluation scheme and producing a statement result that is returned to the user of the processor machine.
Claim 30
Dependent Claim 83 words
A program storage device as defined in claim 25, wherein the step of receiving an assignment statement includes replacing each operand of the assignment statement with an LSE data structure in memory of the computer processor, wherein each LSE data structure indicates a data structure type, a data structure source, a data structure start position, a data structure length, a data structure total length, and a pointer that indicates a next LSE data structure corresponding to a next operand of the assignment statement.
Claim 31
Dependent Claim 53 words
A program storage device as defined in claim 26, wherein the step of processing the mutated assignment statement includes the steps of: performing the equivalent functions on the LSE data structures to produce a resultant string; and deleting the LSE data structures from the computer memory after the resultant string has been produced.
Claim 32
Dependent Claim 75 words
A program storage device as defined in claim 26, wherein the step of determining comprises the steps of: determining whether the assignment statement includes a length-altering string operation on a first operand, beginning at a first byte of the first operand; and replacing the length-altering string operation with a truncate-in-place function on the first operand that does not require the first operand to be read from the data base storage device into the intermediate storage.
Claim 33
Dependent Claim 35 words
A program storage device as defined in claim 28, wherein the step of mutating comprises the steps of: mutating a concatenate operation into an append function; and mutating a substring operation into a truncate function.
Claim 34
Dependent Claim 34 words
A program storage device as defined in claim 28, wherein the step of mutating is performed only if the operand on both sides of the equal sign of the assignment statement are the same.
Claim 35
Dependent Claim 36 words
A program storage device as defined in claim 28, wherein the step of mutating comprises replacing a string operation with a function selected from a group including at least insert, append, delete, read, and write functions.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-10-15 2000-04-15 2000-10-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-10-15 2004-04-15 2004-10-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-10-15 2008-04-15 2008-10-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag