Torsten Landschoff <t.landsch...@gmx.net> added the comment:

> - you need to document the new API in Doc/library/sqlite3.rst

Included in the updated patch.

> +        self.assertTrue([x for x in traced_statements if x.find("create 
> table foo") != -1])
>
> This looks a bit complicated, why not something like
> `any("create table foo" in x for x in traced_statements)`?

Fixed.

> +        sqlite3_trace(self->db, _trace_callback, trace_callback);
> +        if (PyDict_SetItem(self->function_pinboard, trace_callback, Py_None) 
> == -1)
> +            return NULL;
>
> Shouldn't sqlite3_trace() be called only after PyDict_SetItem() succeeds?

Fixed as well. I just reversed the calls. What I dislike about this function 
pinboard approach is that every function registered as a callback stays pinned 
to the SQLite connection for the lifetime of the latter. But that belongs into 
another patch, I guess.

----------
Added file: http://bugs.python.org/file21468/sqlite_trace.diff

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue11688>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to