In file shoresm.h:

class XxxStorageManager

The wrapper for the SHORE storage manager

Inheritance:


Public Classes

class ObjectIterator
This class provides an iterator over a large object stored in the SM
XxxBool firstAccess
/ is this the first time the iterator is being accessed?
XxxBool Valid
/ did the constructor work okay?
pin_i* Pin
/ handle to the object

Public Fields

XxxShoreVolumeId defaultVolId
A handle on a "default" volume
ShoreFileDeletionQueue DeletionQueue
A queue used to delete files after a period of time
XxxShoreObjectId persistentFileId
A handle on a "default" persistent file
XxxShoreObjectId typeFileId
A handle on the "default" persistent file which is used only for data types information

Public Methods

virtual XxxErrCode AbortTrans ()
Aborts a transaction
virtual XxxErrCode BeginTrans ()
Begins a transaction
virtual XxxErrCode CommitTrans ()
Commits a transaction
virtual XxxErrCode CreateDefDevice (const char* FilePath, const int DeviceSize)
Creates the default device at the specified location
virtual XxxErrCode CreateDevice (const char* FilePath, const int DeviceSize, XxxShoreVolumeId& VolId)
Creates a device at the specified location
XxxErrCode CreateFile (const XxxShoreVolumeId& VolumeId, XxxShoreObjectId& File, XxxStoreProperty Property = XXX_SHORE_REGULAR)
Creates a new SHORE file
XxxErrCode CreateTempFile (const XxxShoreVolumeId& VolumeId, XxxShorePhysicalId& FileId)
Creates a temporary (unlogged) SHORE file that will be removed when the volume is unmounted
XxxShoreVolumeId DefaultVol ()
Returns the location of the default volume
XxxErrCode DeleteFile (const XxxShoreLogicalOID& LogicalOID)
Deletes an existing SHORE file
XxxErrCode DeleteFile (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& File)
Deletes an existing SHORE file
XxxErrCode DeleteFromRootIndex (const XxxShoreVolumeId& VolumeId, const XxxShoreKey& Key, int& NumRemoved)
Deletes pairs from the Root Index of a volume of the SHORE storage manager matching a given key
XxxErrCode DeleteRecord (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId)
Deletes a record from a file
XxxErrCode DeleteTempFile (const XxxShorePhysicalId& FileId)
Deletes a temporary (unlogged) SHORE file
virtual XxxErrCode DestroyDevice (const char* FilePath)
Dismounts a device, if mounted; then destroys it
virtual XxxErrCode DeviceExists (const char* FilePath, XxxBool& Found)
Determines if a device exists
XxxErrCode DiskUsage (ostream& OStr)
Prints disk usage statistics to the output stream
XxxErrCode GetAllocateObject (pin_i* Pin, char*& MemoryBuffer, unsigned int& BufferSize, unsigned int StartByte=0, unsigned int Length=0)
Gets a pinned object from a file into an internally allocated buffer
XxxErrCode GetAllocateObject (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, char*& MemoryBuffer, unsigned int& BufferSize, unsigned int StartByte=0, unsigned int Length=0)
Gets an object from a file into an internally allocated buffer
XxxErrCode GetAllocateRecord (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, XxxRecord*& Record)
Gets (and allocates) a record from a file
XxxErrCode GetAllocateRecord (pin_i* Pin, XxxRecord*& Record)
Gets (and allocates) a pinned record from a file
XxxErrCode GetFromRootIndex (const XxxShoreVolumeId& VolumeId, const XxxShoreKey& Key, void *DataBuf, int DataBufSize, bool& Found)
Retrieves a pair from the Root Index of a volume of the SHORE storage manager
XxxErrCode GetObjectIterator (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, ObjectIterator*& Iterator)
Gets an object/record iterator object (used for large objects)
XxxErrCode GetObjectPreAlloc (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, char* MemoryBuffer, unsigned int BufferSize, unsigned int StartByte, unsigned int Length)
Gets an object from a file into a preallocated buffer
XxxErrCode GetObjectSize (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& ObjectId, int &Size)
Gets the total size (in bytes) of a SHORE object
XxxErrCode GetStoreProperty (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, XxxStoreProperty& Property)
Gets the store property of the file
XxxErrCode IdToXact (const XxxShoreXactId &XactId, XxxShoreXact *&Xact)
Translates a transaction ID to a pointer to the transaction
XxxErrCode InsertInRootIndex (const XxxShoreVolumeId& VolumeId, const XxxShoreKey& Key, void *Datum, int DatumSize)
Inserts a pair into the Root Index of a volume of the SHORE storage manager
XxxErrCode InsertRecord (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, const XxxRecord* Record, XxxShoreObjectId& RecordId)
Inserts a record into a file
XxxErrCode InsertRecord (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, const void* RecordData, size_t RecordSize, XxxShoreObjectId& RecordId)
Inserts a record into a file
XxxErrCode InsertRecordWithId (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, const void* RecordData, size_t RecordSize, const XxxShoreObjectId& RecordId)
Inserts a record into a file, allowing the user to specify an OID for the record
XxxErrCode InsertTempRecord (const XxxShorePhysicalId& FileId, const XxxRecord* Record)
Inserts a record into a temporary file
XxxErrCode LogicalToPhysical (const XxxShoreLogicalOID &OID, XxxShorePhysicalId &PhysId)
Converts a SHORE Logical Id into a Physical Id
virtual XxxErrCode MountDefDevice (const char* FilePath)
Mounts the default device
virtual XxxErrCode MountDevice (const char* FilePath, XxxShoreVolumeId& VolId)
Mounts a device at the specified location
int NumBuffers ()
Number of buffers allocated
XxxShoreObjectId PersistentFileId ()
Returns the location of the default persistent file
static XxxShoreObjectId PinObjectId (const pin_i* Pin)
Returns the OID of a pinned object
static XxxBool PinValid (pin_i* Pin, lock_mode_t LM)
Determines if the supplied pin is valid
XxxErrCode PrintStats (ostream& OStr)
Prints SHORE statistics to the output stream
XxxErrCode ReplaceRecord (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, const XxxRecord* NewRec)
Replaces the contents of a record while retaining the record ID
XxxErrCode ResetStats ()
Resets SHORE statistics
XxxErrCode SetStoreProperty (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, XxxStoreProperty Property)
Changes the store property of the file
XxxErrCode SortFile (const XxxShoreLogicalOID &InputFile, XxxBool DestroyInputFile, XxxShoreLogicalOID &OutputFile, XxxStoreProperty NewFileProp, XxxComparisonFunction Func, const XxxComparisonData *Data, XxxBool Distinct, int RunSize)
Sorts a SHORE file, creating a new SHORE file
XxxErrCode SortFile (const XxxShoreVolumeId &InVolumeId, const XxxShoreObjectId &InFileId, XxxBool DestroyInputFile, XxxShoreVolumeId &OutVolumeId, XxxShoreObjectId &OutFileId, XxxStoreProperty NewFileProp, XxxComparisonFunction Func, const XxxComparisonData *Data, XxxBool Distinct, int RunSize)
Sorts a SHORE file, creating a new SHORE file
XxxErrCode SortPhysicalFile (const XxxShorePhysicalId &InFileId, const XxxShoreVolumeId &VolumeId, XxxShorePhysicalId &OutFileId, XxxComparisonFunction Func, const XxxComparisonData *Data, XxxBool Distinct, int RunSize)
Sorts a SHORE temporary file, destroying it and creating a new SHORE file if the input file id is the same as the output file id
virtual XxxErrCode UnMountDevice (const char* FilePath)
Dismounts a device
XxxErrCode UpdateRecord (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, const int StartByte, const int Length, const char *NewData)
Updates a record by replacing a byte region with a new byte region of the same size
XxxBool Valid ()
Determines if the Storage Manager is up and running
XxxErrCode WriteToOSFile (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, const char* FileName)
Writes the contents of an object to an operating system file
XxxErrCode WriteToStream (const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, ostream &OStr)
Writes the contents of an object to an output stream
XxxErrCode XactToId (const XxxShoreXact *Xact, XxxShoreXactId &XactId)
Translates a transaction to its ID
XxxStorageManager (int BufSize)
Constructor
virtual ~XxxStorageManager ()
Destructor

Protected Fields

static const int MIN_NUM_BUFFERS
/ Lower bound on number of buffers (set to 40)
int numBuffers
/ number of buffer pages
option_group_t* smOptions
Options used in configuring the SHORE storage manager
ss_m* storageManager
/ A handle on the SHORE storage manager
static const int XxxStorageManager::SORT_RUN_SIZE
/ How long is each sort run? (set to 100)

Protected Methods

XxxErrCode constructSortKeyInfo (XxxComparisonFunction Func, const XxxComparisonData *Data, XxxShoreKeyInfo &ShoreKey)
Creates sort key information for a sort predicate

Documentation

The wrapper for the SHORE storage manager
static const int MIN_NUM_BUFFERS
/ Lower bound on number of buffers (set to 40)

static const int XxxStorageManager::SORT_RUN_SIZE
/ How long is each sort run? (set to 100)

ss_m* storageManager
/ A handle on the SHORE storage manager

option_group_t* smOptions
Options used in configuring the SHORE storage manager

int numBuffers
/ number of buffer pages

XxxShoreVolumeId defaultVolId
A handle on a "default" volume. As a convenience, the Storage Manager maintains a volume accessible to all of the ADTs so they may store objects persistently without managing an entire volume.

XxxShoreObjectId persistentFileId
A handle on a "default" persistent file. ADTs which choose not to manage their own persistent storage may use this file to store objects. It is located on the default volume.

XxxShoreObjectId typeFileId
A handle on the "default" persistent file which is used only for data types information. Right now, it contains records for previous created instances of composite data types, such as alias, struct, and enum. Predator server could use these records to recreate the ADT instance when restarted. It is located on the default volume.

ShoreFileDeletionQueue DeletionQueue
A queue used to delete files after a period of time

class ObjectIterator
This class provides an iterator over a large object stored in the SM. This iterator is to be used __ONLY__ to read an object, not to update it. TODO:L2: move all uses of pin_i into this object

XxxBool firstAccess
/ is this the first time the iterator is being accessed?

XxxBool Valid
/ did the constructor work okay?

pin_i* Pin
/ handle to the object

XxxErrCode LogicalToPhysical(const XxxShoreLogicalOID &OID, XxxShorePhysicalId &PhysId)
Converts a SHORE Logical Id into a Physical Id

XxxErrCode CreateFile(const XxxShoreVolumeId& VolumeId, XxxShoreObjectId& File, XxxStoreProperty Property = XXX_SHORE_REGULAR)
Creates a new SHORE file
Parameters:
VolumeId - The volume on which the file should be created
FileId - (out) The file ID of the newly created file

XxxErrCode CreateTempFile(const XxxShoreVolumeId& VolumeId, XxxShorePhysicalId& FileId)
Creates a temporary (unlogged) SHORE file that will be removed when the volume is unmounted
Parameters:
VolumeId - The file's volume
FileId - (out) The file ID of the newly created file

XxxErrCode InsertTempRecord(const XxxShorePhysicalId& FileId, const XxxRecord* Record)
Inserts a record into a temporary file
Parameters:
VolumeId - The volume's logical ID
FileId - The file's ID
Record - The record to insert

XxxErrCode SortPhysicalFile(const XxxShorePhysicalId &InFileId, const XxxShoreVolumeId &VolumeId, XxxShorePhysicalId &OutFileId, XxxComparisonFunction Func, const XxxComparisonData *Data, XxxBool Distinct, int RunSize)
Sorts a SHORE temporary file, destroying it and creating a new SHORE file if the input file id is the same as the output file id
Parameters:
InFileId - The file id of the input file
VolumeId - The output file's volume
OutFileId - The file id of the output file
Func - The comparison function which determines the relative ordering of tuples
Data - A pointer to the data the comparison function uses
Distinct - Should duplicates be eliminated?
RunSize - The number of buffer pages used for each sorted run

XxxErrCode DeleteTempFile(const XxxShorePhysicalId& FileId)
Deletes a temporary (unlogged) SHORE file
Parameters:
VolumeId - The file's volume
FileId - The file ID of the file

XxxErrCode SetStoreProperty(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, XxxStoreProperty Property)
Changes the store property of the file
Parameters:
Volumeid - The volume for the file
FileId - The file identifier
Property - The desired file property

XxxErrCode GetStoreProperty(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, XxxStoreProperty& Property)
Gets the store property of the file
Parameters:
Volumeid - The volume for the file
FileId - The file identifier
Property - The desired file property

XxxErrCode constructSortKeyInfo(XxxComparisonFunction Func, const XxxComparisonData *Data, XxxShoreKeyInfo &ShoreKey)
Creates sort key information for a sort predicate
Parameters:
Comp - The information regarding the sort
ShoreKey - (out) The SHORE key information

XxxErrCode SortFile(const XxxShoreLogicalOID &InputFile, XxxBool DestroyInputFile, XxxShoreLogicalOID &OutputFile, XxxStoreProperty NewFileProp, XxxComparisonFunction Func, const XxxComparisonData *Data, XxxBool Distinct, int RunSize)
Sorts a SHORE file, creating a new SHORE file
Parameters:
InputFile - The OID of the input file
DestroyInputFile - Should the input file be destroyed upon completion of the sort?
OutputFile - The OID of the output file (created within)
NewFileProp - The file property of the newly-created result file
Func - The comparison function which determines the relative ordering of tuples
Data - A pointer to the data the comparison function uses
Distinct - Should duplicates be eliminated?
RunSize - The number of buffer pages used for each sorted run

XxxErrCode SortFile(const XxxShoreVolumeId &InVolumeId, const XxxShoreObjectId &InFileId, XxxBool DestroyInputFile, XxxShoreVolumeId &OutVolumeId, XxxShoreObjectId &OutFileId, XxxStoreProperty NewFileProp, XxxComparisonFunction Func, const XxxComparisonData *Data, XxxBool Distinct, int RunSize)
Sorts a SHORE file, creating a new SHORE file
Parameters:
InVolumeId - The volume id of the input file
InFileId - The file id of the input file
DestroyInputFile - Should the input file be destroyed upon completion of the sort?
OutVolumeId - The volume id of the output file
OutFileId - The file id of the output file
NewFileProp - The file property of the newly-created result file
Func - The comparison function which determines the relative ordering of tuples
Data - A pointer to the data the comparison function uses
Distinct - Should duplicates be eliminated?
RunSize - The number of buffer pages used for each sorted run

XxxErrCode DeleteFile(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& File)
Deletes an existing SHORE file
Parameters:
VolumeId - The file's volume
FileId - The file's ID

XxxErrCode DeleteFile(const XxxShoreLogicalOID& LogicalOID)
Deletes an existing SHORE file
Parameters:
LogicalOID - The OID of the file

XxxErrCode InsertInRootIndex(const XxxShoreVolumeId& VolumeId, const XxxShoreKey& Key, void *Datum, int DatumSize)
Inserts a pair into the Root Index of a volume of the SHORE storage manager
Parameters:
VolumeId - The volume in which an insertion should be made
Key - The key for the pair
Datum - The data for the pair
DatumSize - The size of the data

XxxErrCode GetFromRootIndex(const XxxShoreVolumeId& VolumeId, const XxxShoreKey& Key, void *DataBuf, int DataBufSize, bool& Found)
Retrieves a pair from the Root Index of a volume of the SHORE storage manager
Parameters:
VolumeId - The volume in which the pair resides
Key - The key for the pair
DataBuf - A pre-allocated buffer for the pair's data
DataBufSize - The size of the data buffer
Found - true if the pair was found

XxxErrCode DeleteFromRootIndex(const XxxShoreVolumeId& VolumeId, const XxxShoreKey& Key, int& NumRemoved)
Deletes pairs from the Root Index of a volume of the SHORE storage manager matching a given key
Parameters:
VolumeId - The volume in which the pair(s) resides
Key - The key for the pair
NumRemoved - (out) The number of entries removed

XxxErrCode InsertRecord(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, const XxxRecord* Record, XxxShoreObjectId& RecordId)
Inserts a record into a file
Parameters:
VolumeId - The file's volume
FileId - The file's ID
Record - The record to insert
RecordId - (out) The newly assigned OID of the record

XxxErrCode GetObjectSize(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& ObjectId, int &Size)
Gets the total size (in bytes) of a SHORE object
Parameters:
VolumeId - The object's volume
FileId - The object's ID
Size - (out) The size of the object

XxxErrCode InsertRecord(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, const void* RecordData, size_t RecordSize, XxxShoreObjectId& RecordId)
Inserts a record into a file
Parameters:
VolumeId - The file's volume
FileId - The file's ID
RecordData - The data to insert
RecordSize - The size of that data
RecordId - (out) The newly assigned OID of the record

XxxErrCode InsertRecordWithId(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& FileId, const void* RecordData, size_t RecordSize, const XxxShoreObjectId& RecordId)
Inserts a record into a file, allowing the user to specify an OID for the record
Parameters:
VolumeId - The file's volume
FileId - The file's ID
RecordData - The data to insert
RecordSize - The size of that data
RecordId - (in) A specified OID to give the record

XxxErrCode DeleteRecord(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId)
Deletes a record from a file
Parameters:
VolumeId - The file's volume
RecordId - The record's OID

XxxErrCode GetObjectPreAlloc(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, char* MemoryBuffer, unsigned int BufferSize, unsigned int StartByte, unsigned int Length)
Gets an object from a file into a preallocated buffer
Parameters:
VolumeId - The file's volume
RecordId - The record's OID
MemoryBuffer - A preallocated buffer of BufferSize bytes
BufferSize - The size of the supplied buffer
StartByte - The starting byte number of the object to fetch
Length - The extent of the object, starting with the start byte to fetch

XxxErrCode GetAllocateObject(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, char*& MemoryBuffer, unsigned int& BufferSize, unsigned int StartByte=0, unsigned int Length=0)
Gets an object from a file into an internally allocated buffer
Parameters:
VolumeId - The file's volume
RecordId - The record's OID
MemoryBuffer - (out) A buffer containing the data
BufferSize - (out) The size of the supplied buffer
StartByte - The starting byte number of the object to fetch
Length - The extent of the object, starting with the start byte to fetch

XxxErrCode GetAllocateObject(pin_i* Pin, char*& MemoryBuffer, unsigned int& BufferSize, unsigned int StartByte=0, unsigned int Length=0)
Gets a pinned object from a file into an internally allocated buffer
Parameters:
Pin - A valid pin on the object
MemoryBuffer - (out) A buffer containing the data
BufferSize - (out) The size of the supplied buffer
StartByte - The starting byte number of the object to fetch
Length - The extent of the object, starting with the start byte to fetch

XxxErrCode GetAllocateRecord(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, XxxRecord*& Record)
Gets (and allocates) a record from a file
Parameters:
VolumeId - The file's volume
RecordId - The record's OID
Record - (out) The newly allocated record.

XxxErrCode GetAllocateRecord(pin_i* Pin, XxxRecord*& Record)
Gets (and allocates) a pinned record from a file
Parameters:
Pin - A valid pin on the record
Record - (out) The newly allocated record.

XxxErrCode UpdateRecord(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, const int StartByte, const int Length, const char *NewData)
Updates a record by replacing a byte region with a new byte region of the same size
Parameters:
VolumeId - The file's volume
RecordId - The record's OID
startByte - The starting byte in the record to replace
length - The length of the replacement
newData - The new data to place in the range

XxxErrCode ReplaceRecord(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, const XxxRecord* NewRec)
Replaces the contents of a record while retaining the record ID
Parameters:
VolumeId - The file's volume
RecordId - The record's OID
NewRec - The new record to store

XxxErrCode WriteToOSFile(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, const char* FileName)
Writes the contents of an object to an operating system file
Parameters:
VolumeId - The file's volume
RecordId - The record's OID
FileName - The name of the file to write to

XxxErrCode WriteToStream(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, ostream &OStr)
Writes the contents of an object to an output stream
Parameters:
VolumeId - The file's volume
RecordId - The record's OID
OStr - The stream to write to

XxxErrCode GetObjectIterator(const XxxShoreVolumeId& VolumeId, const XxxShoreObjectId& RecordId, ObjectIterator*& Iterator)
Gets an object/record iterator object (used for large objects)
Parameters:
VolumeId - The object's volume
RecordId - The object's OID

XxxStorageManager(int BufSize)
Constructor
Parameters:
BufSize - The size of the buffer pool, in KB
RC - (out) The error code result

virtual ~XxxStorageManager()
Destructor

XxxBool Valid()
Determines if the Storage Manager is up and running

int NumBuffers()
Number of buffers allocated

XxxShoreVolumeId DefaultVol()
Returns the location of the default volume

XxxShoreObjectId PersistentFileId()
Returns the location of the default persistent file. ADTs which choose not to manage their own persistent storage may use this file to store objects. It is located on the default volume.

virtual XxxErrCode BeginTrans()
Begins a transaction

virtual XxxErrCode CommitTrans()
Commits a transaction

virtual XxxErrCode AbortTrans()
Aborts a transaction

virtual XxxErrCode CreateDevice(const char* FilePath, const int DeviceSize, XxxShoreVolumeId& VolId)
Creates a device at the specified location
Parameters:
FilePath - The location of the device
DeviceSize - The size of the device in KB
VolId - (out) The newly assigned volume ID

virtual XxxErrCode CreateDefDevice(const char* FilePath, const int DeviceSize)
Creates the default device at the specified location
Parameters:
FilePath - The location of the device
DeviceSize - The size of the device in KB

virtual XxxErrCode MountDevice(const char* FilePath, XxxShoreVolumeId& VolId)
Mounts a device at the specified location
Parameters:
FilePath - The location of the device
VolId - (out) The newly assigned volume ID

virtual XxxErrCode MountDefDevice(const char* FilePath)
Mounts the default device
Parameters:
FilePath - The location of the device

virtual XxxErrCode UnMountDevice(const char* FilePath)
Dismounts a device
Parameters:
FilePath - The location of the device

virtual XxxErrCode DestroyDevice(const char* FilePath)
Dismounts a device, if mounted; then destroys it
Parameters:
FilePath - The location of the device

virtual XxxErrCode DeviceExists(const char* FilePath, XxxBool& Found)
Determines if a device exists
Parameters:
FilePath - The location of the device
Found - (out) XXX_TRUE if the device exists

XxxErrCode DiskUsage(ostream& OStr)
Prints disk usage statistics to the output stream

XxxErrCode PrintStats(ostream& OStr)
Prints SHORE statistics to the output stream

XxxErrCode ResetStats()
Resets SHORE statistics

static XxxBool PinValid(pin_i* Pin, lock_mode_t LM)
Determines if the supplied pin is valid

static XxxShoreObjectId PinObjectId(const pin_i* Pin)
Returns the OID of a pinned object

XxxErrCode XactToId(const XxxShoreXact *Xact, XxxShoreXactId &XactId)
Translates a transaction to its ID
Parameters:
Xact - A pointer to the transaction
XactId - The transaction ID of that transaction

XxxErrCode IdToXact(const XxxShoreXactId &XactId, XxxShoreXact *&Xact)
Translates a transaction ID to a pointer to the transaction
Parameters:
Xact - A pointer to the transaction
XactId - The transaction ID of that transaction


This class has no child classes.
Author:
Praveen Seshadri, praveen@cs.cornell.edu
Version:
June 25, 1997

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de