if( pMod==0 || pMod->pModule->xCreate==0 || pMod->pModule->xDestroy==0 ){ *pzErr = sqlite3MPrintf(db, "no such module: %s", zMod); rc = SQLITE_ERROR; }else{ rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xCreate, pzErr); }
That code doesn't tell me I have not implemented xDestroy.. I forgot to implement xDestroy and was wondering for a while why it was returning no such module. It would be better to add another check for xCreate & xDestroy separately to report that the module is found but doesn't have the requirement methods. Same goes for other mandatory methods. I haven't tested if other mandatory methods are checked but for sqlite3_create_module it should ideally check that the module has all the mandatory methods implemented and report it to the log. xDestroy in version 3.18 is not reported. I didn't check latest version of sqlite, but I looked at the release notes all the way up to latest and didn't see anything mentioned regarding this. Thank you. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users