Thread: [psycopg] Fetching data from binary cursor
Hi, I am using Psycopg 2.7.1 from a Django application. To improve the performance of some very large queries I want to test server-side binary cursors and when I try to fetch results from it, I run into this error: rows = cursor.fetchall() ValueError: invalid literal for long() with base 10: '' This is what I do: from django.db import connection cursor = connection.connection.cursor() cursor.execute(''' DECLARE test_cursor BINARY CURSOR FOR SELECT * FROM treenode ''') cursor.execute("""FETCH 1 FROM test_cursor""") rows = cursor.fetchall() The cursor I get from Django (connection.connection.cursor()) is a genuine Psycopg2 cursor: > type(cursor) psycopg2.extensions.cursor Is there something I am doing wrong? Thanks, Tom
On Fri, Jul 21, 2017 at 7:49 PM, Tom Kazimiers <tom@voodoo-arts.net> wrote: > Hi, > > I am using Psycopg 2.7.1 from a Django application. To improve the > performance of some very large queries I want to test server-side binary > cursors and when I try to fetch results from it, I run into this error: > > rows = cursor.fetchall() > ValueError: invalid literal for long() with base 10: '' > > This is what I do: > > from django.db import connection > > cursor = connection.connection.cursor() > cursor.execute(''' > DECLARE test_cursor BINARY CURSOR FOR > SELECT * FROM treenode > ''') > cursor.execute("""FETCH 1 FROM test_cursor""") > rows = cursor.fetchall() > > The cursor I get from Django (connection.connection.cursor()) is a genuine > Psycopg2 cursor: > > > type(cursor) > psycopg2.extensions.cursor > > Is there something I am doing wrong? Psycopg doesn't support binary cursors. -- Daniele
On Sat, Jul 22, 2017 at 01:26:23AM +0100, Daniele Varrazzo wrote: >On Fri, Jul 21, 2017 at 7:49 PM, Tom Kazimiers <tom@voodoo-arts.net> wrote: >> Is there something I am doing wrong? > >Psycopg doesn't support binary cursors. Oh well… Sorry for the noise! Thanks for clearing this up! Tom