]> granicus.if.org Git - php/commitdiff
fix bug #17040
authorDaniela Mariaschi <daniela@php.net>
Sun, 12 May 2002 13:01:28 +0000 (13:01 +0000)
committerDaniela Mariaschi <daniela@php.net>
Sun, 12 May 2002 13:01:28 +0000 (13:01 +0000)
User can't close a connection if there are blobs opened.
He must close them before to not lose data....

ext/interbase/interbase.c

index 00f0ef1c253d5fa3484398b389feb970a38b06bc..918ab1f91003884988de8cd75d6bc36b98d21e12 100644 (file)
@@ -434,7 +434,7 @@ static void _php_ibase_free_query(ibase_query *ib_query)
                }
                isc_transaction_info(IB_STATUS, &ib_query->trans,sizeof(tr_items), tr_items, sizeof(tmp), tmp );
                /* we have the trans still open and a statement to drop? */
-               if ( !(IB_STATUS[0] && IB_STATUS[0])  &&  ib_query->stmt) {
+               if ( !(IB_STATUS[0] && IB_STATUS[1])  &&  ib_query->stmt) {
                        IBDEBUG("Dropping statement handle (free_query)...");
                        if (isc_dsql_free_statement(IB_STATUS, &ib_query->stmt, DSQL_drop)){
                                _php_ibase_error();
@@ -465,7 +465,7 @@ static void _php_ibase_free_blob(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 
        if (ib_blob->bl_handle != NULL) { /* blob open*/
                if (isc_cancel_blob(IB_STATUS, &ib_blob->bl_handle)) {
-                       _php_ibase_error();
+                       php_error(E_ERROR, "You can lose data. Close any blob after reading of writing it. Use ibase_blob_close() before calling ibase_close()");
                }
        }
        efree(ib_blob);