diff --git a/mod/box/box.h b/mod/box/box.h index 8dd66e3c83febe4903bd076168406e095f2ef81d..5a8531fdf11d9a48418f963f8a5bd1a6862febbd 100644 --- a/mod/box/box.h +++ b/mod/box/box.h @@ -124,7 +124,8 @@ enum box_mode { _(SELECT_LIMIT, 15) \ _(SELECT, 17) \ _(UPDATE_FIELDS, 19) \ - _(DELETE, 20) + _(DELETE_OLD, 20) \ + _(DELETE, 21) ENUM(messages, MESSAGES); diff --git a/mod/box/box.m b/mod/box/box.m index 26721739199c0bb52a2b126044d679ee6dfe9389..c6a92be0212f90dffd650c08c40e206c3f4fc73d 100644 --- a/mod/box/box.m +++ b/mod/box/box.m @@ -771,7 +771,7 @@ txn_commit(struct box_txn *txn) unlock_tuples(txn); - if (txn->op == DELETE) + if (txn->op == DELETE_OLD || txn->op == DELETE) commit_delete(txn); else commit_replace(txn); @@ -821,6 +821,8 @@ box_dispatch(struct box_txn *txn, struct tbuf *data) break; case DELETE: + txn->flags |= read_u32(data) & BOX_ALLOWED_REQUEST_FLAGS; + case DELETE_OLD: key_len = read_u32(data); if (key_len != 1) tnt_raise(IllegalParams, :"key must be single valued");