/* * cdb_sync_command - process sync command */ bool cdb_sync_command(const char *cmd) { elog((Debug_print_qd_mirroring ? LOG : DEBUG5), "QDSYNC: %s", cmd); parseCmd(cmd); switch (cmdtype) { case SYNC_XLOG: cdb_sync_xlog(); break; case SYNC_POSITION_TO_END: cdb_position_to_end(); break; case SYNC_NEW_CHECKPOINT_LOC: cdb_new_checkpoint_loc(); break; case SYNC_SHUTDOWN_TOO_FAR_BEHIND: return true; case SYNC_CLOSE: cdb_close(); elog(LOG,"QDSYNC: master is closing..."); break; } return false; }
static PyObject* cdb_py_close_cdb(PyObject* self) { cdb_t *cdb = ((StorageObject*)self)->cdb; if (cdb_close(cdb) != CDB_SUCCESS) { PyErr_SetFromErrno(PyExc_IOError); } return self; }
int cdb_free(cdb_t *cdb) { int ret = CDB_SUCCESS; if (cdb != NULL) { if (cdb->header != NULL) { ret = cdb_close(cdb); free(cdb->header); cdb->header = NULL; } free(cdb); cdb = NULL; } return ret; }