Method for managing pointers to external objects in a run-time environment
AssigneeOracle International Corporation
InventorsHarlan Sexton, David Unietis, Peter Benson
Life of this patent
Estimating the term…
Abstract
A method and software for managing pointers to external objects in a run-time environment are described in which eager external references are provided that allow session memory objects to point directly to certain call memory objects with machine pointers. The eager external references contain enough information to recreate the call memory objects in call memory at the beginning of the call and fix the session memory objects to point to the new locations of the recreated call memory objects.
Claims16
A method for managing a pointer in a first memory assigned to an object activated in a second memory having a duration shorter than the first memory, comprising:
- accessing an external reference object, said external reference containing a reference to the pointer in the first memory and a reference to a descriptor for activating the object;
- reactivating the object in the second memory based on the descriptor;
- and
- reassigning the pointer in the first memory to point to the reactivated object in the second memory based on the reference to the pointer.
A method for managing a pointer in a session memory assigned to an object activated in another memory, wherein the other memory has a lifetime that is shorter than the session memory, comprising:
- deallocating the other memory before a beginning of a subsequent database call;
- reallocating the other memory;
- and
- at the beginning of the subsequent database call, performing the steps of:
- reactivating the object in the reallocated call memory;
- and
- reassigning the pointer in the session memory to point to the reactivated object in the reallocated call memory.
A method for managing a pointer in a session memory to an object in another memory having a duration shorter than that of the session memory, comprising:
- within a first database call, performing the steps of:
- initializing an external reference object in the session memory, said external reference containing a reference to the pointer in the session and a reference to the descriptor in the session memory for activating the object;
- activating the object in the other memory based on the descriptor;
- and
- assigning the pointer in the session memory to point to the activated object in the other memory;
- deallocating the other memory, thereby deallocating memory for the activated object in the other memory;
- allocating a new other memory;
- and
- at a beginning of a second database call subsequent to the first database call, accessing the external reference object to reactivate the object in the new other memory based on the descriptor and reassign the pointer in the session memory to point to the reactivated object in the new other memory based on the reference to the pointer.
Dependencies are inferred from the claim text.