This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author piro
Recipients piro
Date 2012-10-11.23:08:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1349996897.29.0.414434111173.issue16204@psf.upfronthosting.co.za>
In-reply-to
Content
Definitely related to this change in Python 3.3:

    Accessing a memoryview element with format ‘B’ (unsigned bytes) now 
    returns an integer (in accordance with the struct module syntax). 
    For returning a bytes object the view must be cast to ‘c’ first.

The object returned by PyBuffer_FillInfo is 'B' format: this means that python code finds itself dealing in Py 3.3 with a different object respect to what returned in Py 3.1 and 3.2. Is this change in the behavior wanted? Wouldn't have been better having FillInfo return a 'c' buffer instead?

I'm adding support to Py 3.3 to psycopg2 and the B buffers make the test suite fail. I want psycopg to return consistent objects across 3.x. Is the change in this commit correct?

https://github.com/dvarrazzo/psycopg/commit/469b6f8aff4cafe203d851b19bedfab0128e795a

Is this a good way to return a 'c' buffer?
History
Date User Action Args
2012-10-11 23:08:17pirosetrecipients: + piro
2012-10-11 23:08:17pirosetmessageid: <1349996897.29.0.414434111173.issue16204@psf.upfronthosting.co.za>
2012-10-11 23:08:17pirolinkissue16204 messages
2012-10-11 23:08:16pirocreate