Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Change sqlite3_create_module() so that it avoids resetting the schema as long as preexisting modules are unchanged. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
8485855afc71fb8078d53719c3da7502 |
User & Date: | drh 2011-05-05 13:54:28.663 |
Context
2011-05-05
| ||
15:39 | Bump the version number to 3.7.7 on account of the new sqlite3_vtab_config() and sqlite3_vtab_on_conflict() interfaces. Updates to the documentation on those interfaces. (check-in: 930be6a1bd user: drh tags: trunk) | |
13:54 | Change sqlite3_create_module() so that it avoids resetting the schema as long as preexisting modules are unchanged. (check-in: 8485855afc user: drh tags: trunk) | |
13:53 | Add a #include to test_demovfs.c in an effort to get it to compile on Solaris. (check-in: 8f06ea33c9 user: drh tags: trunk) | |
Changes
Changes to src/vtab.c.
︙ | ︙ | |||
50 51 52 53 54 55 56 57 58 59 60 61 62 | memcpy(zCopy, zName, nName+1); pMod->zName = zCopy; pMod->pModule = pModule; pMod->pAux = pAux; pMod->xDestroy = xDestroy; pDel = (Module *)sqlite3HashInsert(&db->aModule, zCopy, nName, (void*)pMod); if( pDel && pDel->xDestroy ){ pDel->xDestroy(pDel->pAux); } sqlite3DbFree(db, pDel); if( pDel==pMod ){ db->mallocFailed = 1; } | > < | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | memcpy(zCopy, zName, nName+1); pMod->zName = zCopy; pMod->pModule = pModule; pMod->pAux = pAux; pMod->xDestroy = xDestroy; pDel = (Module *)sqlite3HashInsert(&db->aModule, zCopy, nName, (void*)pMod); if( pDel && pDel->xDestroy ){ sqlite3ResetInternalSchema(db, -1); pDel->xDestroy(pDel->pAux); } sqlite3DbFree(db, pDel); if( pDel==pMod ){ db->mallocFailed = 1; } }else if( xDestroy ){ xDestroy(pAux); } rc = sqlite3ApiExit(db, SQLITE_OK); sqlite3_mutex_leave(db->mutex); return rc; } |
︙ | ︙ |