From e03ba02d298bad4357ef67db54e25e639cc6051c Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Thu, 2 Oct 2014 20:30:22 +0000 Subject: [PATCH] fix failure to roll back git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/sqlclient/trunk@38101 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 4 ++++ SQLClient.m | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6c63fb7..849249d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-10-02 Richard Frith-Macdonald + + * SQLClient.m: On exception during SQLTransaction -execute, roll back. + 2014-09-24 Richard Frith-Macdonald * Postgres.m: An SQL exception/error should not automatically diff --git a/SQLClient.m b/SQLClient.m index 2d28d06..76de910 100644 --- a/SQLClient.m +++ b/SQLClient.m @@ -3234,7 +3234,18 @@ static unsigned int maxConnections = 8; NS_HANDLER { [info release]; - [localException raise]; + if ([_db isInTransaction] == NO) + { + NS_DURING + { + [_db simpleExecute: rollbackStatement]; + } + NS_HANDLER + { + } + NS_ENDHANDLER + } + [localException raise]; } NS_ENDHANDLER }