From:             nigel at e-easy dot com dot au
Operating system: Irrelevant
PHP version:      Irrelevant
PHP Bug Type:     InterBase related
Bug description:  API missing two important parameters

Description:
------------
PHP's support for Interbase(Firebird) is missing two important 
features for transaction handling - Shared, and Protected. 
These two additions enable performance to surpass Oracle on 
updates under heavy load. 
 
The patch is as follows: 
--- interbase.c.orig    Thu Aug 28 11:39:22 2003 
+++ interbase.c Thu Aug 28 12:22:44 2003 
@@ -563,6 +563,8 @@ 
        
REGISTER_LONG_CONSTANT("IBASE_REC_NO_VERSION", 
PHP_IBASE_REC_NO_VERSION 
, CONST_PERSISTENT); 
        REGISTER_LONG_CONSTANT("IBASE_NOWAIT", 
PHP_IBASE_NOWAIT, CONST_PERSISTE 
NT); 
        REGISTER_LONG_CONSTANT("IBASE_WAIT", 
PHP_IBASE_WAIT, CONST_PERSISTENT); 
+       REGISTER_LONG_CONSTANT("IBASE_SHARED", 
PHP_IBASE_SHARED, CONST_PERSISTE 
NT); 
+       REGISTER_LONG_CONSTANT("IBASE_PROTECTED", 
PHP_IBASE_PROTECTED, CONST_PE 
RSISTENT); 
         
        return SUCCESS; 
 } 
@@ -1574,6 +1576,13 @@ 
                        tpb[tpb_len++] = isc_tpb_nowait; 
                } else { 
                        tpb[tpb_len++] = isc_tpb_wait;  /* default lock 
resolut 
ion */ 
+               } 
+               /* Pre Allocation Modes */ 
+               if (trans_argl & PHP_IBASE_SHARED) { 
+                       tpb[tpb_len++] = isc_tpb_shared; 
+               } 
+               if (trans_argl & PHP_IBASE_PROTECTED) { 
+                       tpb[tpb_len++] = isc_tpb_shared; 
                } 
        } 
  
--- php_interbase.h.orig        Thu Aug 28 11:59:34 2003 
+++ php_interbase.h     Thu Aug 28 12:21:34 2003 
@@ -175,7 +175,9 @@ 
        PHP_IBASE_REC_VERSION           = 64, 
        PHP_IBASE_REC_NO_VERSION        = 128, 
        PHP_IBASE_NOWAIT                                = 256, 
-       PHP_IBASE_WAIT                          = 512 
+       PHP_IBASE_WAIT                          = 512, 
+       PHP_IBASE_SHARED                = 1024, 
+       PHP_IBASE_PROTECTED             = 2048 
 }; 
  
 #ifdef ZTS 
 


-- 
Edit bug report at http://bugs.php.net/?id=25282&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=25282&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=25282&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=25282&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=25282&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=25282&r=needtrace
Try newer version:          http://bugs.php.net/fix.php?id=25282&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=25282&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=25282&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=25282&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=25282&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=25282&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=25282&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=25282&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=25282&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=25282&r=gnused

Reply via email to