|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-08-27 23:52 UTC] nigel at e-easy dot com dot au
[2003-08-28 04:47 UTC] abies@php.net
[2003-08-28 17:38 UTC] nigel at e-easy dot com dot au
[2003-08-28 18:06 UTC] abies@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Nov 05 11:00:02 2025 UTC |
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