/** \brief Delete the data associated with a key from the RTDB \param handle [Input] the RTDB handle \param name [Input] the key \return the status of the delete operation */ int rtdb_delete(const int handle, const char *name) { int status; #ifdef GAGROUPS int me = GA_Nodeid(); #endif if (!verify_parallel_access()) return 0; if (handle < 0 || handle >= MAX_RTDB) { (void) fprintf(stderr, "rtdb_delete: handle out of range %d\n", handle); (void) fflush(stderr); return 0; } if (par_mode[handle] == INACTIVE) { (void) fprintf(stderr, "rtdb_delete: handle not active %d\n",handle); (void) fflush(stderr); return 0; } if (par_mode[handle] == RTDB_SEQ_MODE && parallel_mode == RTDB_PAR_MODE) { (void) fprintf(stderr, "rtdb_delete: seq. open and par. delete\n"); (void) fflush(stderr); return 0; } if (parallel_mode == RTDB_SEQ_MODE || me == 0) status = rtdb_seq_delete(handle, name); if (parallel_mode == RTDB_PAR_MODE) rtdb_broadcast(TYPE_RTDB_STATUS, MT_INT, 1, (void *) &status); return status; }
PyObject *wrap_rtdb_delete(PyObject *self, PyObject *args) { char *name; PyObject *returnObj = NULL; if (PyArg_Parse(args, "s", &name)) { if (rtdb_seq_delete(rtdb_handle, name)) { returnObj = Py_None; Py_INCREF(Py_None); } else { PyErr_SetString(NwchemError, "rtdb_delete failed"); } } else { PyErr_SetString(PyExc_TypeError, "Usage: value = rtdb_delete(name)"); } return returnObj; }