KI_WRITE_PTR

Write a row using a row ID

Synopsis:
CALL KI_WRITE_PTR handle, rowid$, SYM(rowbuf$) TO status
status = 'ki_write_ptr( handle, rowid$, SYM(rowbuf$) )
ArgumentEnumerationPurpose
handleHandle
rowid$Row ID from a previous read
SYM(rowbuf$)Symbol of row buffer
statusKDB_ERROR_ENUMReturn status
>KI_WRITE_PTR

KI_WRITE_PTR

This updates a row with the specified ROWID directly from the row buffer without updating any index which makes it faster than KI_REWRITE. However it is also more dangerous as there is no check that the indexed columns and BLOB references are in fact identical and if not, the affected indices will become invalid. As such the use of this statement is now discouraged and KI_REWRITE should be used as a matter of course today.

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, KI_UNLOCK_FILE, KI_VERIFY, KI_WMODE_BITMAP, KI_WRITE, 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