ID:               34495
 Updated by:       [EMAIL PROTECTED]
 Reported By:      pookey at pookey dot co dot uk
-Status:           Assigned
+Status:           Feedback
 Bug Type:         DBM/DBA related
 Operating System: Linux
 PHP Version:      5CVS-2005-09-14 (snap)
 Assigned To:      helly
 New Comment:

Please try this patch (against 5.1RC5-dev):
http://php.net/~helly/php/ext/dba/dba-db4-20051107.diff.txt



Previous Comments:
------------------------------------------------------------------------

[2005-09-14 15:45:12] [EMAIL PROTECTED]

Thanks for the fix - should I add a note to php.net under 
dba_popen about this not working in pre-5.1 ? 

------------------------------------------------------------------------

[2005-09-14 15:11:47] [EMAIL PROTECTED]

RCS file: /repository/php-src/ext/dba/dba_db4.c,v
revision 1.10
date: 2003/06/21 18:16:38;  author: helly;  state: Exp;  lines: +4 -0
When persistent then we may use threads

Removing this part:

+       if (info->flags & DBA_PERSISTENT) {
+               gmode |= DB_THREAD;
+       }
+

Makes dba_fetch() work with db4 driver also if opened in persistent
mode.


------------------------------------------------------------------------

[2005-09-14 03:04:01] pookey at pookey dot co dot uk

I've updated this page with a lot more information:  
http://xian.ncuk.net/test/bug.php  
  
It appears it's just db4 with the problem

------------------------------------------------------------------------

[2005-09-14 01:37:12] pookey at pookey dot co dot uk

Description:
------------
 where the use of dba_open works, dba_popen does not.  
http://xian.ncuk.net/test/bug.php 
http://xian.ncuk.net/test/bug.phps 

Reproduce code:
---------------
  $file = dirname(__FILE__) . '/dbtest.db';

  $db = dba_open($file, "c", "db4");
  dba_insert('moo', 'baa', $db);
  $value = dba_fetch('moo', $db);
  echo "<b>non-persistant check:</b> $value <hr />";
  dba_sync($db);
  dba_close($db);
  
  $db = dba_popen($file, "c", "db4");
  $value = dba_fetch('moo', $db);
  echo "<b>persistant check:</b> $value <hr />";
  dba_close($db);
  

  $db = dba_open($file, "c", "db4");
  $value = dba_fetch('moo', $db);
  echo "<b>non-persistant check:</b> $value <hr />";
  dba_delete('moo', $db);
  dba_close($db);

Expected result:
----------------
all 3 echo statements ina bove should print 'baa'. 

Actual result:
--------------
the middle echo statement doesn't print baa 


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=34495&edit=1

Reply via email to