Posted to tcl by apn at Wed Oct 27 15:12:39 GMT 2010view raw
- static void DbUpdateHandler(
- void *p,
- int op,
- const char *zDb,
- const char *zTbl,
- sqlite_int64 rowid
- ){
- SqliteDb *pDb = (SqliteDb *)p;
- Tcl_Obj *pCmd;
- assert( pDb->pUpdateHook );
- assert( op==SQLITE_INSERT || op==SQLITE_UPDATE || op==SQLITE_DELETE );
- pCmd = Tcl_DuplicateObj(pDb->pUpdateHook);
- Tcl_IncrRefCount(pCmd);
- Tcl_ListObjAppendElement(0, pCmd, Tcl_NewStringObj(
- ( (op==SQLITE_INSERT)?"INSERT":(op==SQLITE_UPDATE)?"UPDATE":"DELETE"), -1));
- Tcl_ListObjAppendElement(0, pCmd, Tcl_NewStringObj(zDb, -1));
- Tcl_ListObjAppendElement(0, pCmd, Tcl_NewStringObj(zTbl, -1));
- Tcl_ListObjAppendElement(0, pCmd, Tcl_NewWideIntObj(rowid));
- Tcl_EvalObjEx(pDb->interp, pCmd, TCL_EVAL_DIRECT);
- }