void PPDropDocument::do_execute() { tuple_cell tc; xqp_tuple t(1); name.op->next(t); if (t.is_eos()) throw USER_EXCEPTION(SE1071); tc = name.get(t); if (!tc.is_atomic() || tc.get_atomic_type() != xs_string) throw USER_EXCEPTION(SE1071); name.op->next(t); if (!t.is_eos()) throw USER_EXCEPTION(SE1071); tc = tuple_cell::make_sure_light_atomic(tc); local_lock_mrg->put_lock_on_document(tc.get_str_mem()); auth_for_drop_object(tc.get_str_mem(), "document", false); delete_document(tc.get_str_mem()); }
static int get_deleted_document(void) { return (delete_document() != 0 || get_miss() != 0) ? 1 : 0; }
inline ~tm_buffer_rep () { delete_document (rp); }