KI_READ
Argument | Enumeration | Purpose |
---|---|---|
handle | Handle | |
keys$ | Key | |
path | Index path | |
SYM(rowbuf$) | Symbol of a buffer | |
eLockType | KCML_KDB_LOCK_ENUM | Optional lock type |
bQuery | Force use of DEFQUERY | |
status | KDB_ERROR_ENUM | Return code |
rowid$ | Pointer to row |
KI_READ
Reads row with key key$ on path path into buffer whose index is sym. If the read was successful, then the stub variable ki_dataptr$ will contain a pointer to the row. If the read failed, then a status of KE_NOTFOUND will be returned and the rowid ki_dataptr$ will be ALL(00).
If the row buffer was DIMensioned using a DEFVIEW then only the columns of view will be guaranteed to be read. The other columns will be undefined. Using a view can give significant performance improvements on an SQL database.
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. This is an alternative to calling KI_READ_HOLD to take a transactional lock.