#36910 [Fbk->Opn]: Cannot retrieve a newly inserted record after calling ibase_commit

From: Date: Wed, 29 Mar 2006 11:08:37 +0000
Subject: #36910 [Fbk->Opn]: Cannot retrieve a newly inserted record after calling ibase_commit
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-95061@lists.php.net to get a copy of this message
ID: 36910 User updated by: arnoldvmartinez at yahoo dot com Reported By: arnoldvmartinez at yahoo dot com -Status: Feedback +Status: Open Bug Type: InterBase related Operating System: Windows 2003 PHP Version: 5.1.2 New Comment: $dbh = ibase_connect($host, $user, $password); $stmt = 'SELECT * FROM Employees'; $sth = ibase_query($dbh, $stmt); while ($row = ibase_fetch_object($sth)) { echo '<br>'.$row->EMPNAME; } $th=ibase_trans(IBASE_DEFAULT,$dbh); $stmt='INSERT statement here...'; $sth = ibase_query($th, $stmt); ibase_commit($th); $stmt = 'SELECT * FROM Employees'; $sth = ibase_query($dbh, $stmt); while ($row = ibase_fetch_object($sth)) { echo '<br>'.$row->EMPNAME; } /* new record not listed */ Previous Comments: ------------------------------------------------------------------------ [2006-03-29 12:55:24] tony2001@php.net Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try to avoid embedding huge scripts into the report. ------------------------------------------------------------------------ [2006-03-29 12:51:51] arnoldvmartinez at yahoo dot com Description: ------------ First, I run a SELECT command to retrieve records from a table. Then, I initiated an ibase_trans, inserted a record, and called ibase_commit. Next, I run another SELECT statement but I noticed that the newly-inserted record is not being returned. When I checked the database, however, the record is indeed added in the table. On the other hand, if i don't run the first SELECT request and initiated an ibase_trans, inserted a record and called ibase_commit, then the newly-created record is returned when I do a SELECT request. It seems like Firebird retrieves from its cache eventhough a transaction has just been committed. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=36910&edit=1

« previous php.bugs (#95061) next »