← Back to team overview

agesys-dev team mailing list archive

[Bug 718860] Re: Call to fetchone after LAST_INSERT_ID() does not clear cursor

 

This is not a bug. Read the DB-API spec:
http://www.python.org/dev/peps/pep-0249/

 .fetchone() 
          
            Fetch the next row of a query result set, returning a
            single sequence, or None when no more data is
            available.

** Changed in: oursql
       Status: New => Invalid

-- 
You received this bug notification because you are a member of Agesys
Team, which is subscribed to oursql.
https://bugs.launchpad.net/bugs/718860

Title:
  Call to fetchone after LAST_INSERT_ID() does not clear cursor

Status in oursql:
  Invalid

Bug description:
  Client: mysql  Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
  Server: Server version: 5.0.77 Source distribution
  Python 2.7
  oursql-0.9.2-py2.7-linux-i686

  When calling LAST_INSERT_ID() cursor.fetchone() must be called twice,
  or else a new call to cursor.fetchone() will return None:

  >>> cursor.execute("INSERT INTO users (username) VALUES ('test')")
  >>> cursor.execute("SELECT LAST_INSERT_ID()")
  >>> print cursor.fetchone()
  {'LAST_INSERT_ID()': 7L}
  >>> cursor.execute("INSERT INTO users (username) VALUES ('test2')")
  >>> cursor.execute("SELECT LAST_INSERT_ID()")
  >>> print cursor.fetchone()
  Expected:
  {'LAST_INSERT_ID()': 8L}
  Actual:
  None





Follow ups

References