Even duplicate addresses generate a new PK. I do not quite understand
how the deadlock could happen. It looks like something is trying to lock
the table rather than the record. This is the Olio 0.1 publicly
available, right?
-Akara
Mingfan Lu wrote:
In my benchmark, I found that there is a dead lock exception.
exception 'PDOException' with message 'SQLSTATE[40001]: Serialization
failure: 1213 Deadlock found when trying to get lock; try restarting
transaction' in
/opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php:77\nStack
trace:\n#0
/opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php(77):
PDO->exec('insert into ADD...')\n#1
/opt/faban/faban/apache-olio-php/oliophp/public_html/addPersonResult.php(79):
PDOConnection->exec('insert into ADD...')\n#2 {main}
According to the source code, it throws by
$insertaddr = "insert into ADDRESS (street1, street2, city, state, zip,
country, latitude, longitude) ".
"values ('$strt1', '$street2', '$cty', '$state',
'$zip', '$country', ".
"'$geocode->latitude', '$geocode->longitude')";
$connection->beginTransaction();
$connection->exec($insertaddr);
There is not other index but btree index.
Will we modify the insert to "insert ignore" ?