Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
54772655
Commit
54772655
authored
May 12, 2016
by
Filip Procházka
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Catch Throwable in Connection::transactional()
parent
a32476fd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
0 deletions
+22
-0
Connection.php
lib/Doctrine/DBAL/Connection.php
+4
-0
ConnectionTest.php
tests/Doctrine/Tests/DBAL/Functional/ConnectionTest.php
+18
-0
No files found.
lib/Doctrine/DBAL/Connection.php
View file @
54772655
...
@@ -32,6 +32,7 @@ use Doctrine\DBAL\Cache\QueryCacheProfile;
...
@@ -32,6 +32,7 @@ use Doctrine\DBAL\Cache\QueryCacheProfile;
use
Doctrine\DBAL\Cache\ArrayStatement
;
use
Doctrine\DBAL\Cache\ArrayStatement
;
use
Doctrine\DBAL\Cache\CacheException
;
use
Doctrine\DBAL\Cache\CacheException
;
use
Doctrine\DBAL\Driver\PingableConnection
;
use
Doctrine\DBAL\Driver\PingableConnection
;
use
Throwable
;
/**
/**
* A wrapper around a Doctrine\DBAL\Driver\Connection that adds features like
* A wrapper around a Doctrine\DBAL\Driver\Connection that adds features like
...
@@ -1103,6 +1104,9 @@ class Connection implements DriverConnection
...
@@ -1103,6 +1104,9 @@ class Connection implements DriverConnection
}
catch
(
Exception
$e
)
{
}
catch
(
Exception
$e
)
{
$this
->
rollBack
();
$this
->
rollBack
();
throw
$e
;
throw
$e
;
}
catch
(
Throwable
$e
)
{
$this
->
rollBack
();
throw
$e
;
}
}
}
}
...
...
tests/Doctrine/Tests/DBAL/Functional/ConnectionTest.php
View file @
54772655
...
@@ -201,6 +201,24 @@ class ConnectionTest extends \Doctrine\Tests\DbalFunctionalTestCase
...
@@ -201,6 +201,24 @@ class ConnectionTest extends \Doctrine\Tests\DbalFunctionalTestCase
}
}
}
}
public
function
testTransactionalWithThrowable
()
{
if
(
version_compare
(
PHP_VERSION
,
'7.0'
,
'<'
))
{
$this
->
markTestSkipped
(
'Only for PHP 7.0 and above.'
);
}
try
{
$this
->
_conn
->
transactional
(
function
(
$conn
)
{
/* @var $conn \Doctrine\DBAL\Connection */
$conn
->
executeQuery
(
$conn
->
getDatabasePlatform
()
->
getDummySelectSQL
());
throw
new
\Error
(
"Ooops!"
);
});
$this
->
fail
(
'Expected exception'
);
}
catch
(
\Error
$expected
)
{
$this
->
assertEquals
(
0
,
$this
->
_conn
->
getTransactionNestingLevel
());
}
}
public
function
testTransactional
()
public
function
testTransactional
()
{
{
$this
->
_conn
->
transactional
(
function
(
$conn
)
{
$this
->
_conn
->
transactional
(
function
(
$conn
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment