KI_DELETE
Argument | Enumeration | Purpose |
---|---|---|
handle | Handle | |
rowid$ | Location of row | |
status | KDB_ERROR_ENUM | Return status |
KI_DELETE
Removes the currently locked row with ROWID rowid$ from the table. Any index entries are also deleted. For consistency the row should have been previously held with a KI_READ_HOLD, KI_READ_HOLD_NEXT or KI_READ_HOLD_PTR which returned the rowid in rowid$.
If lock tracking is enabled on the connection then it will be an error to delete a row that was not previously held.
If an implicit transaction was started by taking a lock on a row with KI_READ_HOLD the implicit transaction will be committed when that row is deleted with KI_DELETE.
A delete of a row with a long term lock will free the long term lock. If done inside a transaction then the unlock will take place when the transaction is committed.