Merge branch 'py33' into devel

This commit is contained in:
Daniele Varrazzo 2012-12-22 00:58:17 +01:00
commit 16d96fd43c
4 changed files with 13 additions and 6 deletions

1
NEWS
View File

@ -3,6 +3,7 @@ What's new in psycopg 2.5
- Added JSON adaptation. - Added JSON adaptation.
- Added support for PostgreSQL 9.2 range types. - Added support for PostgreSQL 9.2 range types.
- Added support for Python 3.3.
- 'connection' and 'cursor' objects can be used in 'with' statements - 'connection' and 'cursor' objects can be used in 'with' statements
as context managers as specified by recent DBAPI extension. as context managers as specified by recent DBAPI extension.
- Added support for backward scrollable cursors. Thanks to Jon Nelson - Added support for backward scrollable cursors. Thanks to Jon Nelson

View File

@ -55,7 +55,6 @@ chunk_repr(chunkObject *self)
#if PY_MAJOR_VERSION < 3 #if PY_MAJOR_VERSION < 3
/* XXX support 3.0 buffer protocol */
static Py_ssize_t static Py_ssize_t
chunk_getreadbuffer(chunkObject *self, Py_ssize_t segment, void **ptr) chunk_getreadbuffer(chunkObject *self, Py_ssize_t segment, void **ptr)
{ {
@ -90,9 +89,15 @@ static PyBufferProcs chunk_as_buffer =
/* 3.0 buffer interface */ /* 3.0 buffer interface */
int chunk_getbuffer(PyObject *_self, Py_buffer *view, int flags) int chunk_getbuffer(PyObject *_self, Py_buffer *view, int flags)
{ {
int rv;
chunkObject *self = (chunkObject*)_self; chunkObject *self = (chunkObject*)_self;
return PyBuffer_FillInfo(view, _self, self->base, self->len, 1, flags); rv = PyBuffer_FillInfo(view, _self, self->base, self->len, 1, flags);
if (rv == 0) {
view->format = "c";
}
return rv;
} }
static PyBufferProcs chunk_as_buffer = static PyBufferProcs chunk_as_buffer =
{ {
chunk_getbuffer, chunk_getbuffer,

View File

@ -347,14 +347,15 @@ class psycopg_build_ext(build_ext):
self.libraries.append('ssl') self.libraries.append('ssl')
self.libraries.append('crypto') self.libraries.append('crypto')
def finalize_linux2(self): def finalize_linux(self):
"""Finalize build system configuration on GNU/Linux platform.""" """Finalize build system configuration on GNU/Linux platform."""
# tell piro that GCC is fine and dandy, but not so MS compilers # tell piro that GCC is fine and dandy, but not so MS compilers
for extension in self.extensions: for extension in self.extensions:
extension.extra_compile_args.append( extension.extra_compile_args.append(
'-Wdeclaration-after-statement') '-Wdeclaration-after-statement')
finalize_linux3 = finalize_linux2 finalize_linux2 = finalize_linux
finalize_linux3 = finalize_linux
def finalize_options(self): def finalize_options(self):
"""Complete the build system configuation.""" """Complete the build system configuation."""

View File

@ -126,7 +126,7 @@ class TypesBasicTests(unittest.TestCase):
s = bytes(range(256)) s = bytes(range(256))
b = psycopg2.Binary(s) b = psycopg2.Binary(s)
buf = self.execute("SELECT %s::bytea AS foo", (b,)) buf = self.execute("SELECT %s::bytea AS foo", (b,))
self.assertEqual(s, buf) self.assertEqual(s, buf.tobytes())
def testBinaryNone(self): def testBinaryNone(self):
b = psycopg2.Binary(None) b = psycopg2.Binary(None)
@ -154,7 +154,7 @@ class TypesBasicTests(unittest.TestCase):
s = bytes(range(256)) s = bytes(range(256))
buf = self.execute("SELECT %s::bytea AS foo", (psycopg2.Binary(s),)) buf = self.execute("SELECT %s::bytea AS foo", (psycopg2.Binary(s),))
buf2 = self.execute("SELECT %s::bytea AS foo", (buf,)) buf2 = self.execute("SELECT %s::bytea AS foo", (buf,))
self.assertEqual(s, buf2) self.assertEqual(s, buf2.tobytes())
def testArray(self): def testArray(self):
s = self.execute("SELECT %s AS foo", ([[1,2],[3,4]],)) s = self.execute("SELECT %s AS foo", ([[1,2],[3,4]],))