CLEAR SET MULTILOCKS ON CREATE CURSOR myCursor (id i) CURSORSETPROP("Buffering",3) INSERT INTO myCursor VALUES (1) CURSORSETPROP("Buffering",5) * fire implicit TABLEUPDATE() ( bug for me ) * TableBuffering extended RecordBuffering * then correct operation is not update the record buffer * and preserve the buffer data ( i known the problem with buffered index but ... ) * if is too hard to implemement, fire a error ? TABLEREVERT() CURSORSETPROP("Buffering",3) INSERT INTO myCursor VALUES (2) INDEX ON id TAG tid && <---- fire implict TABLEUPDATE() ? TABLEREVERT() INSERT INTO myCursor VALUES (3) ? KEYMATCH(2) && <---- fire implicit TABLEUPDATE() * ( bad for me, but MS documented it) ? TABLEREVERT() INSERT INTO myCursor VALUES (4) ? INDEXSEEK(3) && none implicit TABLEUPDATE() ? TABLEREVERT()For me, con the record buffering active, it must only fire implicit tableupdate when it is attempted to abandon the record in explicit way (SEEK, LOCATE, LOOKUP, GO...)