You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Service module to handle common interactions with the Linear Hash database.

Syntax

Response = Database_Services(@Service, @Params)

Returns

The meaning of the response value depends on the service.

Parameters

ParameterDescription
ServiceThe name of the service being requested. Required.
Param1 - Param10Generic parameters.

Remarks

This module provides several useful services for high level interaction with database tables and rows.

Services

ServiceDescription
VerifyLHAll

Usage:
Database_Services('VerifyLHAll')

Comments:
Performs a health check against all attached tables and returns back any issues. Returns two lists which are delimited by an @RM. The first list is an @FM list of attached tables. The second list is an @FM list of results (groups that have GFEs or an empty string if there are none). Items in each list correspond which each other based on their list position.

Returns:
N/A 

VerifyLH

Usage:
Database_Services('VerifyLH', Tablenames, SaveList)

Comments:
Performs a health check against the indicated tables and returns back any issues. Note: This uses the Verify_LH subroutine to check for GFEs. All results are stored in the SYSLHVERIFY table with a KeyID of VolumeLabel*DatabaseID*TableName. Returns the list of groups that have GFEs or returns an empty string if there are none. The list of GFEs or empty strings will themselves be @FM delimited to correspond with the tables passed into this service.

Returns:
N/A

GetTableProperties

Usage:
Database_Services('GetTableProperties', TableName)

Comments:
Returns an array of information related to the database table being passed in.

Returns:
N/A

GetTableHandle

Usage:
Database_Services('GetTableHandle', TableName)

Comments:
Returns an array of information related to the database table being passed in.

Returns:
The most current error message.

ClearTableHandle

Usage:
Database_Services('ClearTableHandle', TableName)

Comments:
Clears the table handle array array from cache. This will force the GetTableHandle service to call the Open statement again.

Returns:
The stack of error messages.

ReadDataRow

Usage:
Database_Services('ReadDataRow', KeyID, NotExpired, ExpirationDuration, IgnoreMFSRoutines)

Comments:
Reads a data row for the indicated Key ID and database table.

Returns:

True if there is an error condition, False if there is no error condition.

WriteDataRow

Usage:
Database_Services('WriteDataRow', TableName, KeyID, DataRow, IgnoreSelfLock, IgnoreMFSRoutines, IgnoreAllLocks)

Comments:
Writes a data row for the indicated Key ID and database table.

Returns:
True if there are no error conditions, False if there is an error condition.

DeleteDataRow

Usage:
Database_Services('DeleteDataRow', TableName, KeyID, IgnoreSelfLock, IgnoreMFSRoutines)

Comments:
Deletes a data row for the indicated Key ID and database table.

Returns:
N/A

GetKeyIDLock

Usage:
Database_Services('GetKeyIDLock', TableName, KeyID, IgnoreSelfLock)

Comments:
Attempts to perform a semaphore lock on the indicated tablename and Key ID.

Returns:
N/A

ReleaseKeyIDLock

Usage:
Database_Services('ReleaseKeyIDLock', TableName, KeyID)

Comments:
Attempts to release a semaphore lock on the indicated tablename and Key ID.

Returns:
N/A

SetTableAlias

Usage:
Database_Services('SetTableAlias', TableName, AliasName, Volume, DatabaseID)

Comments:
Attempts to create an alias for the indicated table, volume, and database. It returns a True$ if successful or a False$ if unsuccessful.

Returns:
N/A

SearchIndex

Usage:
Database_Services('SearchIndex', TableName, ColumnName, SearchValue, UpdateIndex)

Comments:
Returns an @FM delimited list of Key IDs that match the search value.

Returns:
N/A

CalculateColumn

Usage:
Database_Services('CalculateColumn')

Comments:
Called directly from within a calculation column. The name of the table and column is derived from the call stack and the associated table commuter, if it exists, is called with the appropriate arguments.

Returns:
N/A

GetTableCommuter

Usage:
Database_Services('GetTableCommuter', TableName)

Comments:
Returns the name of the indicated table's commuter module if it exists. If it does not exist then an empty string will be returned.

Returns:
N/A

GetUserLocks

Usage:
Database_Services('GetUserLocks')

Comments:
Returns a dynamic array of user lock information. Note, this can only be done with the UD 5. This can also cause instability with the current session and may require the Task Manager to close the session.

Returns:
N/A

IsKeyIDLocked

Usage:
Database_Services('IsKeyIDLocked', TableName, KeyID, IgnoreSelfLock)

Comments:
Returns a Boolean flag of the lock status for the indicated table and Key ID.

Returns:
N/A

IsKeyIDSelfLocked

Usage:
Database_Services('IsKeyIDSelfLocked', TableName, KeyID)

Comments:
Returns a Boolean flag of the self-lock status for the indicated table and Key ID.

Returns:
N/A

UnlockKeyID

Usage:
Database_Services('UnlockKeyID', TableName, KeyID)

Comments:
Attempts to unlock the indicated Key ID from the indicated Table Name. Note, this can only be done with the UD 5.

Returns:
N/A

Param1 - Param10

The proper use of the generic arguments are defined in the definition of each service above.

  • No labels