BinaryWrappers do not work

Bug #737945 reported by Jasiel Spelman
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
oursql
New
Undecided
Unassigned

Bug Description

BinaryWhateverMixins do not work:

>>> oursql.BinaryIterWrapper( ['\x00'] ).next()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "statement.pyx", line 14, in oursql._BinaryWhateverMixin.__next__ (oursqlx/oursql.c:6562)
TypeError: super(type, obj): obj must be an instance or subtype of type

As a work around, I've found I can use just buffer() items before they get into the iterable:
>>> oursql.IterWrapper( [buffer('\x00')] ).next()
<read-only buffer for 0x7f16efc27210, size -1, offset 0 at 0x1555130>

This occurs on 0.9.2

description: updated
Revision history for this message
Chad Parry (sp9m) wrote :

The error manifested itself a little differently on my platform:

  …
  File "statement.pyx", line 14, in oursql._BinaryWhateverMixin.__next__ (oursqlx/oursql.c:7195)
  File "statement.pyx", line 14, in oursql._BinaryWhateverMixin.__next__ (oursqlx/oursql.c:7195)
  RuntimeError: maximum recursion depth exceeded while calling a Python object

The problem is that the code calls "super" for the wrong class name. This typo has been present since the first revision where those helpers were introduced, (http://bazaar.launchpad.net/~jerub/oursql/master/revision/16).

The patch is a simple name change. I've attached the fix.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.