<?php
namespace Illuminate\Database;
use Exception;
use Illuminate\Support\Str;
trait DetectsDeadlocks
{
/**
* Determine if the given exception was caused by a deadlock.
*
* @param \Exception $e
* @return bool
*/
protected function causedByDeadlock(Exception $e)
{
$message = $e->getMessage();
return Str::contains($message, [
'Deadlock found when trying to get lock',
'deadlock detected',
'The database file is locked',
'A table in the database is locked',
'has been chosen as the deadlock victim',
]);
}
}