KI_GET_HANDLE

Allocate pooled handle on table, opening if necessary

Synopsis:
CALL KI_GET_HANDLE connection, table$, mode$, [bPersist], [eCacheOpts] TO newhand, status
status = 'ki_get_handle( connection, table$, mode$, [bPersist], [eCacheOpts], newhand )
ArgumentEnumerationPurpose
connectionCurrent database connection
table$Table name
mode$Access mode, "R", "W", "X" or "U"
bPersistTRUE for persistence across RUN
eCacheOptsKDB_CACHE_ENUMwhether to cache read-only tables
newhandNew handle
statusKDB_ERROR_ENUMReturn status
>KI_GET_HANDLE

KI_GET_HANDLE

This function allocates a handle for a table and opens it in the specified mode. The handle is then pooled so that a subsequent call for the same table and modes will return the same handle value. To do this a reference count is incremented in this call and decremented in KI_CLOSE.

History
Introduced in KCML 6.60
See Also:
KI_ADD_TRACKED_LOCK, KI_ALLOC_HANDLE, KI_CLEAR, KI_CLEAR_HANDLES, KI_CLOSE, KI_CLOSE_TABLE, KI_DB_NAME, KI_DROP_TABLE, KI_DROP_TRACKED_LOCK, KI_EXTEND, KI_FREE_HANDLE, KI_GET_SERIAL, KI_GET_TRACKED_LOCKS, KI_HANDLE_GET_ATTR, KI_HANDLE_GET_ATTR_STR, KI_HANDLE_SET_ATTR, KI_HANDLE_SET_ATTR_POOL, KI_HANDLE_SET_ATTR_STR, KI_INFO, KI_INITIALISE, KI_LOCK_ALL, KI_OPEN, KI_PREFETCH_ROWS, KI_REBUILD, KI_RESET_CACHEID, KI_SET_DATESTAMP, KI_SET_SERIAL, KI_SET_TIMESTAMP, KI_SET_USERSTAMP, KI_UNLOCK_FILE, KI_VERIFY
KCML database status codes