return err_str;
}
+void pgsql_handle_set_error_if_not_set(switch_pgsql_handle_t *handle, char **err)
+{
+ char *err_str;
+
+ if (err && !(*err)) {
+ err_str = pgsql_handle_get_error(handle);
+
+ if (zstr(err_str)) {
+ switch_safe_free(err_str);
+ err_str = strdup((char *)"SQL ERROR!");
+ }
+
+ *err = err_str;
+ }
+}
+
static int db_is_up(switch_pgsql_handle_t *handle)
{
int ret = 0;
goto error;
}
- return pgsql_finish_results(handle);
+ if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) {
+ goto error;
+ }
+
+ return SWITCH_STATUS_SUCCESS;
+
error:
+ pgsql_handle_set_error_if_not_set(handle, err);
+
return SWITCH_STATUS_FALSE;
}
pgsql_free_result(&result);
if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) {
+ pgsql_handle_set_error_if_not_set(handle, err);
sstatus = SWITCH_STATUS_FALSE;
}
error:
pgsql_free_result(&result);
+ pgsql_handle_set_error_if_not_set(handle, err);
return SWITCH_STATUS_FALSE;
}
return SWITCH_STATUS_SUCCESS;
error:
+ pgsql_handle_set_error_if_not_set(handle, err);
+
return SWITCH_STATUS_FALSE;
}