KI_READ_RANDOM

Random read, key taken from row

Synopsis:
CALL KI_READ_RANDOM handle, path, SYM(rowbuf$), [eLockType], [bQuery] TO status, [rowid$]
'ki_read_random( handle, path, SYM(rowbuf$), [eLockType], [bQuery], [rowid$] )
ArgumentEnumerationPurpose
handleHandle
pathIndex path
SYM(rowbuf$)Symbol of a row buffer
eLockTypeKCML_KDB_LOCK_ENUMOptional lock type
bQueryForce use of DEFQUERY
statusKDB_ERROR_ENUMReturn code
rowid$Pointer to row
>KI_READ_RANDOM

KI_READ_RANDOM

This is similar to KI_READ but it takes the key information directly from the row buffer, thus avoiding the use of KI_BUILD, and which can limit the columns in the result set if the row buffer was DIMmed using a DEFVIEW. Using a view can lead to significant performance improvements with SQL databases. Columns not included in the view will be undefined

The row can be locked by setting the optional eLockType argument to one of the enumerated constants. The lock can be either a short term transactional lock or a long term lock.

History
Introduced in KCML 6.60
See Also:
KI_BUILD, KI_DELETE, KI_DELETE_ROWS, KI_DELETE_WHERE, KI_END, KI_ERROR, KI_ERROR_TEXT, KI_FETCH, KI_GET_ERROR_TEXT, KI_LOCK_OWNER, KI_MOVE_ROWS, KI_READ, KI_READ_ARRAY, KI_READ_HOLD, KI_READ_HOLD_NEXT, KI_READ_HOLD_PTR, KI_READ_NEXT, KI_READ_PTR, KI_READ_RAW, KI_REWRITE, KI_SET_ROWS, KI_START, KI_START_BEG, KI_START_BETWEEN, KI_START_FIRST, KI_START_ON, KI_START_ROW, KI_START_ROW_BETWEEN, KI_UNLOCK, KI_WRITE, KI_WRITE_PTR, KI_WRITE_RAW
KCML database status codes