/ Check-in [fc5c1876]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Missed a couple Tcl command deletion callbacks.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | callbackConv
Files: files | file ages | folders
SHA1: fc5c187602acceedf7152b6927616d134f779a8f
User & Date: mistachkin 2016-07-28 23:58:25
Context
2016-07-29
01:31
Add macro necessary for building several extensions when the __stdcall calling convention is not in use. check-in: bc8c9b55 user: mistachkin tags: callbackConv
2016-07-28
23:58
Missed a couple Tcl command deletion callbacks. check-in: fc5c1876 user: mistachkin tags: callbackConv
23:54
Use the SQLITE_TCLAPI macro in several extensions that were missed in the previous check-in. check-in: df254365 user: mistachkin tags: callbackConv
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ext/fts5/fts5_tcl.c.

164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
...
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
  if( rc==TCL_OK ){
    rc = f5tResultToErrorCode(Tcl_GetStringResult(p->interp));
  }

  return rc;
}

static int xF5tApi(void*, Tcl_Interp*, int, Tcl_Obj *CONST []);

static int xQueryPhraseCb(
  const Fts5ExtensionApi *pApi, 
  Fts5Context *pFts, 
  void *pCtx
){
  F5tFunction *p = (F5tFunction*)pCtx;
................................................................................
    Tcl_AppendResult(interp, "error in fts5_api.xCreateTokenizer()", 0);
    return TCL_ERROR;
  }

  return TCL_OK;
}

static void xF5tFree(ClientData clientData){
  ckfree(clientData);
}

/*
**      sqlite3_fts5_may_be_corrupt BOOLEAN
**
** Set or clear the global "may-be-corrupt" flag. Return the old value.







|







 







|







164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
...
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
  if( rc==TCL_OK ){
    rc = f5tResultToErrorCode(Tcl_GetStringResult(p->interp));
  }

  return rc;
}

static int SQLITE_TCLAPI xF5tApi(void*, Tcl_Interp*, int, Tcl_Obj *CONST []);

static int xQueryPhraseCb(
  const Fts5ExtensionApi *pApi, 
  Fts5Context *pFts, 
  void *pCtx
){
  F5tFunction *p = (F5tFunction*)pCtx;
................................................................................
    Tcl_AppendResult(interp, "error in fts5_api.xCreateTokenizer()", 0);
    return TCL_ERROR;
  }

  return TCL_OK;
}

static void SQLITE_TCLAPI xF5tFree(ClientData clientData){
  ckfree(clientData);
}

/*
**      sqlite3_fts5_may_be_corrupt BOOLEAN
**
** Set or clear the global "may-be-corrupt" flag. Return the old value.

Changes to ext/session/test_session.c.

240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
      break;
    }
  }

  return TCL_OK;
}

static void test_session_del(void *clientData){
  TestSession *p = (TestSession*)clientData;
  if( p->pFilterScript ) Tcl_DecrRefCount(p->pFilterScript);
  sqlite3session_delete(p->pSession);
  ckfree((char*)p);
}

/*







|







240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
      break;
    }
  }

  return TCL_OK;
}

static void SQLITE_TCLAPI test_session_del(void *clientData){
  TestSession *p = (TestSession*)clientData;
  if( p->pFilterScript ) Tcl_DecrRefCount(p->pFilterScript);
  sqlite3session_delete(p->pSession);
  ckfree((char*)p);
}

/*