Skip to content

Commit 6de7f83

Browse files
committed
Merge pull request #35 from gittip/allow-monkey
Change the order of base classes for cursor.
2 parents 7289f08 + 6aff0db commit 6de7f83

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

postgres/cursors.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,15 @@ def all(self, sql, parameters=None):
152152
return recs
153153

154154

155-
class SimpleTupleCursor(TupleCursor, SimpleCursorBase):
155+
class SimpleTupleCursor(SimpleCursorBase, TupleCursor):
156156
"""A `simple cursor`_ that returns tuples.
157157
"""
158158

159-
class SimpleNamedTupleCursor(NamedTupleCursor, SimpleCursorBase):
159+
class SimpleNamedTupleCursor(SimpleCursorBase, NamedTupleCursor):
160160
"""A `simple cursor`_ that returns namedtuples.
161161
"""
162162

163-
class SimpleDictCursor(RealDictCursor, SimpleCursorBase):
163+
class SimpleDictCursor(SimpleCursorBase, RealDictCursor):
164164
"""A `simple cursor`_ that returns dicts.
165165
"""
166166

tests.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,17 @@ def test_we_close_the_cursor(self):
204204
, cursor.fetchall
205205
)
206206

207+
def test_monkey_patch_execute(self):
208+
expected = "SELECT 1"
209+
def execute(this, sql, params=[]):
210+
return sql
211+
from postgres.cursors import SimpleCursorBase
212+
SimpleCursorBase.execute = execute
213+
with self.db.get_cursor() as cursor:
214+
actual = cursor.execute(expected)
215+
del SimpleCursorBase.execute
216+
assert actual == expected
217+
207218

208219
# db.get_connection
209220
# =================

0 commit comments

Comments
 (0)