Skip to content

Commit cd986e6

Browse files
Greg Leclercqggreg
authored andcommitted
Fix transaction creation
1 parent f7358a2 commit cd986e6

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

prestodb/dbapi.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,13 @@ def _create_request(self):
175175

176176
def cursor(self):
177177
"""Return a new :py:class:`Cursor` object using the connection."""
178-
return Cursor(self, self._create_request())
178+
if self.isolation_level != IsolationLevel.AUTOCOMMIT:
179+
if self.transaction is None:
180+
self.start_transaction()
181+
request = self.transaction._request
182+
else:
183+
request = self._create_request()
184+
return Cursor(self, request)
179185

180186

181187
class Cursor(object):
@@ -237,10 +243,6 @@ def setoutputsize(self, size, column):
237243
pass
238244

239245
def execute(self, operation, params=None):
240-
if self.connection.isolation_level != IsolationLevel.AUTOCOMMIT:
241-
if self.connection.transaction is None:
242-
self.connection.start_transaction()
243-
244246
self._query = prestodb.client.PrestoQuery(self._request, sql=operation)
245247
result = self._query.execute()
246248
self._iterator = iter(result)

0 commit comments

Comments
 (0)