KI_UNLOCK

Unlock a row

Synopsis:
CALL KI_UNLOCK handle, rowid$ TO status
status = 'ki_unlock( handle, rowid$ )
ArgumentEnumerationPurpose
handleHandle
rowid$Row ID to row
statusKDB_ERROR_ENUMReturn status
>KI_UNLOCK

KI_UNLOCK

This unlocks a row specified by ROWID which must have been locked by the same KCML in a previous KI_READ_HOLD.

On SQL systems transactional row locks will be released automatically at the end of a transaction and calling KI_UNLOCK inside the transaction will have no effect. However if the transaction was started implicitely by a KI_READ_HOLD then calling KI_UNLOCK for that ROWID will rollback the implicit transaction. Calling KI_UNLOCK outside a transaction for a long term lock will unlock the row.

History
Introduced in KCML 3.00
See Also:
KI_BUILD, KI_COPY_TABLE, KI_CREATE, KI_CREATE_TMP, KI_DELETE, KI_DELETE_ROWS, KI_DELETE_WHERE, KI_END, KI_ERROR, KI_ERROR_TEXT, KI_FETCH, KI_GET_ERROR_TEXT, KI_GET_SERIAL, KI_GROW, KI_INFO, KI_INITIALISE, KI_LOCK_ALL, KI_LOCK_OWNER, KI_MOVE_ROWS, KI_MOVE_TABLE, KI_OPEN, KI_READ, KI_READ_ARRAY, KI_READ_HOLD, KI_READ_HOLD_NEXT, KI_READ_HOLD_PTR, KI_READ_NEXT, KI_READ_PTR, KI_READ_RANDOM, KI_READ_RAW, KI_REBUILD, KI_REWRITE, KI_SET_EXTENT, KI_SET_ROWS, KI_SET_SERIAL, KI_SET_WLOCK_COUNT, KI_SIZE_FILE, KI_START, KI_START_BEG, KI_START_BETWEEN, KI_START_FIRST, KI_START_ON, KI_START_ROW, KI_START_ROW_BETWEEN, KI_UNLOCK_FILE, KI_VERIFY, KI_WMODE_BITMAP, KI_WRITE, KI_WRITE_PTR, KI_WRITE_RAW, KI_WS_CREATE, KI_WS_DELETE, KI_WS_OPEN, KI_WS_READ, KI_WS_REWRITE, KI_WS_WRITE
KCML database status codes