static void cur_close(php_pqcur_object_t *obj TSRMLS_DC)
{
- if (obj->intern->open) {
+ if (obj->intern->open && obj->intern->conn->intern) {
PGresult *res;
smart_str cmd = {0};
{
char *spec_str = "1";
int spec_len = 1;
- STATUS rv;
+ ZEND_RESULT_CODE rv;
php_pq_callback_t resolver = {{0}};
zend_error_handling zeh;
if (!rc) {
throw_exce(EX_IO TSRMLS_CC, "Failed to %s cursor (%s)", *action == 'f' ? "fetch from" : "move in", PHP_PQerrorMessage(obj->intern->conn->intern->conn));
+#if HAVE_PQSETSINGLEROWMODE
} else if (obj->intern->conn->intern->unbuffered && !PQsetSingleRowMode(obj->intern->conn->intern->conn)) {
throw_exce(EX_RUNTIME TSRMLS_CC, "Failed to enable unbuffered mode (%s)", PHP_PQerrorMessage(obj->intern->conn->intern->conn));
+#endif
} else {
php_pq_callback_recurse(&obj->intern->conn->intern->onevent, &resolver TSRMLS_CC);
obj->intern->conn->intern->poller = PQconsumeInput;
int name_len, query_len;
long flags;
zval *zconn;
- STATUS rv;
+ ZEND_RESULT_CODE rv;
zend_bool async = 0;
zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
static PHP_METHOD(pqcur, open)
{
zend_error_handling zeh;
- STATUS rv;
+ ZEND_RESULT_CODE rv;
zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
rv = zend_parse_parameters_none();
static PHP_METHOD(pqcur, close)
{
zend_error_handling zeh;
- STATUS rv;
+ ZEND_RESULT_CODE rv;
zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
rv = zend_parse_parameters_none();