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

Reply via email to