}
/* }}} */
-static int do_exec(smart_str *querystr, int expect, PGconn *pg_link, zend_bool async)
+static int do_exec(smart_str *querystr, int expect, PGconn *pg_link, zend_bool async TSRMLS_DC)
{
if (async) {
if (PQsendQuery(pg_link, querystr->c)) {
assert(convert == 1 || convert == 0);
assert(async == 1 || async == 0);
+ if (zend_hash_num_elements(Z_ARRVAL_P(var_array)) == 0) {
+ return FAILURE;
+ }
+
/* convert input array if needed */
if (convert) {
MAKE_STD_ZVAL(converted);
}
var_array = converted;
}
-
- if (zend_hash_num_elements(Z_ARRVAL_P(var_array)) == 0) {
- goto cleanup;
- }
smart_str_appends(&querystr, "INSERT INTO ");
smart_str_appends(&querystr, table);
smart_str_appends(&querystr, ");");
smart_str_0(&querystr);
- if (do_exec(&querystr, PGRES_COMMAND_OK, pg_link, async) == 0)
+ if (do_exec(&querystr, PGRES_COMMAND_OK, pg_link, async TSRMLS_CC) == 0)
ret = SUCCESS;
cleanup:
assert(convert == 1 || convert == 0);
assert(async == 1 || async == 0);
+ if (zend_hash_num_elements(Z_ARRVAL_P(var_array)) == 0
+ || zend_hash_num_elements(Z_ARRVAL_P(ids_array)) == 0) {
+ return FAILURE;
+ }
+
if (convert) {
MAKE_STD_ZVAL(var_converted);
array_init(var_converted);
ids_array = ids_converted;
}
- if (zend_hash_num_elements(Z_ARRVAL_P(var_array)) == 0
- || zend_hash_num_elements(Z_ARRVAL_P(ids_array)) == 0) {
- goto cleanup;
- }
-
smart_str_appends(&querystr, "UPDATE ");
smart_str_appends(&querystr, table);
smart_str_appends(&querystr, " SET ");
smart_str_appendc(&querystr, ';');
smart_str_0(&querystr);
- if (do_exec(&querystr, PGRES_COMMAND_OK, pg_link, async) == 0)
+ if (do_exec(&querystr, PGRES_COMMAND_OK, pg_link, async TSRMLS_CC) == 0)
ret = SUCCESS;
cleanup:
assert(convert == 1 || convert == 0);
assert(async == 1 || async == 0);
+ if (zend_hash_num_elements(Z_ARRVAL_P(ids_array)) == 0) {
+ return FAILURE;
+ }
+
if (convert) {
MAKE_STD_ZVAL(ids_converted);
array_init(ids_converted);
ids_array = ids_converted;
}
- if (zend_hash_num_elements(Z_ARRVAL_P(ids_array)) == 0) {
- goto cleanup;
- }
-
smart_str_appends(&querystr, "DELETE FROM ");
smart_str_appends(&querystr, table);
smart_str_appends(&querystr, " WHERE ");
smart_str_appendc(&querystr, ';');
smart_str_0(&querystr);
- if (do_exec(&querystr, PGRES_TUPLES_OK, pg_link, async) == 0)
+ if (do_exec(&querystr, PGRES_TUPLES_OK, pg_link, async TSRMLS_CC) == 0)
ret = SUCCESS;
cleanup:
assert(Z_TYPE_P(ret_array) == IS_ARRAY);
assert(convert == 1 || convert == 0);
+ if (zend_hash_num_elements(Z_ARRVAL_P(ids_array)) == 0) {
+ return FAILURE;
+ }
+
if (convert) {
MAKE_STD_ZVAL(ids_converted);
array_init(ids_converted);
ids_array = ids_converted;
}
- if (zend_hash_num_elements(Z_ARRVAL_P(ids_array)) == 0) {
- goto cleanup;
- }
-
smart_str_appends(&querystr, "SELECT * FROM ");
smart_str_appends(&querystr, table);
smart_str_appends(&querystr, " WHERE ");