And yes - i failed at another point: hangup() must work so: PyObject *LiteLineUp_HangUp(litelineup *self) { Py_ssize_t i = 0; if (self->COMMIT_stmt) { sqlite3_finalize(self->COMMIT_stmt); self->COMMIT_stmt = NULL; } while (L3LSELF->update_stmts[i++]) sqlite3_finalize(self- >update_stmts[i]); PyMem_Resize(self->update_stmts, sqlite3_stmt*, 1); self->update_stmts[0] = NULL;
if (self->select_keys) { sqlite3_finalize(self->select_keys); self->select_keys = NULL; } if (self->select_glob) { sqlite3_finalize(self->select_glob); self->select_glob = NULL; } if (self->insert_keys) { sqlite3_finalize(self->insert_keys); self->insert_keys = NULL; } if (self->BEGIN_stmt) { sqlite3_finalize(self->BEGIN_stmt); self->BEGIN_stmt = NULL; } if (self->conn) { sqlite3_close(self->conn); self->conn=NULL; } Py_RETURN_NONE; } setting the pointers to the prepared statements to NULL for making further new initializations possible. Now this works - after some testing and eventual debugging of update() i can publish the module today or tomorrow. Thanks again, Joost _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users