]> granicus.if.org Git - php/commitdiff
Fixed bug #26864 (pg_(update|delete) ignore PGSQL_DML_EXEC option).
authorIlia Alshanetsky <iliaa@php.net>
Sun, 11 Jan 2004 21:18:19 +0000 (21:18 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 11 Jan 2004 21:18:19 +0000 (21:18 +0000)
ext/pgsql/pgsql.c

index 92a51862c5f52661515fb8bbb7055a59c5931018..42e3cb79bf6e17582e76f83a7d55e5986e98e5a5 100644 (file)
@@ -4424,8 +4424,11 @@ PHP_PGSQL_API int php_pgsql_update(PGconn *pg_link, const char *table, zval *var
        smart_str_appendc(&querystr, ';');      
        smart_str_0(&querystr);
 
-       if (do_exec(&querystr, PGRES_COMMAND_OK, pg_link, opt TSRMLS_CC) == 0)
+       if ((opt & PGSQL_DML_EXEC) && do_exec(&querystr, PGRES_COMMAND_OK, pg_link, opt TSRMLS_CC) == 0) {
                ret = SUCCESS;
+       } else if (opt & PGSQL_DML_STRING) {
+               ret = SUCCESS;
+       }
 
 cleanup:
        if (var_converted) {
@@ -4517,8 +4520,11 @@ PHP_PGSQL_API int php_pgsql_delete(PGconn *pg_link, const char *table, zval *ids
        smart_str_appendc(&querystr, ';');
        smart_str_0(&querystr);
 
-       if (do_exec(&querystr, PGRES_COMMAND_OK, pg_link, opt TSRMLS_CC) == 0)
+       if ((opt & PGSQL_DML_EXEC) && do_exec(&querystr, PGRES_COMMAND_OK, pg_link, opt TSRMLS_CC) == 0) {
                ret = SUCCESS;
+       } else if (opt & PGSQL_DML_STRING) {
+               ret = SUCCESS;
+       }
 
 cleanup:
        if (!(opt & PGSQL_DML_NO_CONV)) {