1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-27 20:41:58 +03:00

Remove two incorrect calls to structType.dipose() which prematurely freed objects in use by the virtual table test/demo code.

FossilOrigin-Name: 060eb2848975a24ff6683a8a9c4d7546ae36147323b0edae01fb42f52d9bb2d6
This commit is contained in:
stephan
2022-12-10 15:41:47 +00:00
parent 9cb6ff2792
commit 8c0041f5bf
4 changed files with 70 additions and 69 deletions

View File

@ -319,16 +319,6 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
return this;
};
/**
Expects to be passed the (argc,argv) arguments of
sqlite3_module::xFilter(), or an equivalent API. This function
transforms the arguments (an array of (sqlite3_value*)) into a JS
array of equivalent JS values. It uses the same type conversions
as sqlite3_create_function_v2() and friends. Throws on error,
e.g. if it cannot figure out a sensible data conversion.
*/
vtab.sqlite3ValuesToJs = capi.sqlite3_create_function_v2.udfConvertArgs;
/**
Internal factory function for xVtab and xCursor impls.
*/
@ -401,6 +391,9 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
sqlite3_vtab_cursor: to be called from any sqlite3_module methods
which take a `sqlite3_vtab_cursor*` argument except xClose(),
in which case use unget() or dispose().
Rule to remember: _never_ call dispose() on an instance
returned by this function.
*/
get: (pCObj)=>__xWrap(pCObj),
/**
@ -416,6 +409,9 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
sqlite3_vtab_cursor: to be called from xClose() or during
cleanup in a failed xOpen().
Calling this method obligates the caller to call dispose() on
the returned object when they're done with it.
*/
unget: (pCObj)=>__xWrap(pCObj,true),
/**