Update of /cvsroot/phpwiki/phpwiki/lib/WikiDB/backend
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21082/WikiDB/backend
Modified Files:
ADODB.php
Log Message:
use genID, dont lock here
Index: ADODB.php
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/lib/WikiDB/backend/ADODB.php,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -2 -b -p -d -r1.84 -r1.85
--- ADODB.php 22 Feb 2006 21:49:50 -0000 1.84
+++ ADODB.php 15 Apr 2006 12:48:04 -0000 1.85
@@ -297,12 +297,15 @@ extends WikiDB_backend
$row = $dbh->GetRow($query);
if (! $row ) {
- //$id = $dbh->GenID($page_tbl . 'seq');
- // Better generic version than with adodob::genID
//TODO: Does the DBM has subselects? Then we can do it with select max(id)+1
- $this->lock(array('page'));
+ // $this->lock(array('page'));
$dbh->BeginTrans( );
$dbh->CommitLock($page_tbl);
+ if ($dbh->hasGenID) {
+ $id = $dbh->GenID($page_tbl."_id");
+ } else {
+ // Better generic version than with adodb::genID
$row = $dbh->GetRow("SELECT MAX(id) FROM $page_tbl");
$id = $row[0] + 1;
+ }
$rs = $dbh->Execute(sprintf("INSERT INTO $page_tbl"
. " (id,pagename,hits)"
@@ -311,5 +314,5 @@ extends WikiDB_backend
if ($rs) $dbh->CommitTrans( );
else $dbh->RollbackTrans( );
- $this->unlock(array('page'));
+ // $this->unlock(array('page'));
} else {
$id = $row[0];
@@ -591,6 +594,11 @@ extends WikiDB_backend
$linkid = $this->_get_pageid($linkto, true);
assert($linkid);
+ if ($relation) {
$dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto, relation)"
. " VALUES ($pageid, $linkid, $relation)");
+ else {
+ $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto)"
+ . " VALUES ($pageid, $linkid)");
+ }
}
} elseif (0 and DEBUG) {
@@ -1423,4 +1431,7 @@ class WikiDB_backend_ADODB_search extend
// $Log$
+// Revision 1.85 2006/04/15 12:48:04 rurban
+// use genID, dont lock here
+//
// Revision 1.84 2006/02/22 21:49:50 rurban
// Remove hits from links query
|