[Twisted-Python] SELECT returns no results without conn.commit()

Glyph Lefkowitz glyph at twistedmatrix.com
Tue Jun 3 12:57:45 MDT 2014


On Jun 3, 2014, at 6:31 AM, Franz Schwartau <franz at electromail.org> wrote:

> Hi!
> 
> I'm trying to extend ppolicy (http://bimbo.fjfi.cvut.cz/ppolicy) a bit. ppolicy uses the twisted framework. On CentOS 6.5 version 8.2.0 of twisted is installed.

I should note that Twisted 8.2.0 is 6 years old at this point, so if you can't upgrade Twisted there might not be much we can do for you :).

> I wrote a separate module called LookupSessionDB:
> 
> http://pastebin.com/u4TMNhpd
> 
> It looks up some values from a database table. It does some efforts to handle reconnect properly.
> 
> If called a second time and more the SELECT statement returns no rows (line 138) if "conn.commit()" is missing in line 125. If "conn.commit()" is called after obtaining a database connection "rows = cursor.fetchall()" (line 138) returns the expected results.
> 
> The module inserting the records calls "conn.commit()" after INSERT. If I execute the same SELECT statement in a separate mysql client the results are displayed.
> 
> This is quite confusing. Any idea what's going on?

Can you simplify this question somewhat?  There's a lot of SQL in here, it's missing a required dependency ("Base") and I suspect that this is really a MySQL question and not a Twisted question.  It would be helpful if you could provide a complete schema so we could run your code, in the style of http://sscce.org/.

-glyph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://twistedmatrix.com/pipermail/twisted-python/attachments/20140603/f95b4928/attachment.html>


More information about the Twisted-Python mailing list