Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | If a virtual table constructor returns SQLITE_NOMEM, set the mallocFailed flag in the corresponding database connection to insure that the error is propagated back to the top layer. (CVS 6627) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5635666f20358e854a76d24476819873 |
User & Date: | drh 2009-05-11 23:38:00.000 |
Context
2009-05-12
| ||
00:40 | Tweaks to build.c to facilitate coverage testing. (CVS 6628) (check-in: 6572b438a0 user: drh tags: trunk) | |
2009-05-11
| ||
23:38 | If a virtual table constructor returns SQLITE_NOMEM, set the mallocFailed flag in the corresponding database connection to insure that the error is propagated back to the top layer. (CVS 6627) (check-in: 5635666f20 user: drh tags: trunk) | |
20:53 | Rework the logic that generates a schema for tables created using "CREATE TABLE ... AS SELECT ...". Instead of trying to copy the raw datatype string from the right-hand side, just make the type one of TEXT, INT, REAL, NUM, or nothing. This is much simpler than trying to parse and quote datatype strings. Other minor implifications to build.c are bundled with this change. (CVS 6626) (check-in: 33cf83591e user: drh tags: trunk) | |
Changes
Changes to src/vtab.c.
1 2 3 4 5 6 7 8 9 10 11 12 13 | /* ** 2006 June 10 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains code used to help implement virtual tables. ** | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /* ** 2006 June 10 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains code used to help implement virtual tables. ** ** $Id: vtab.c,v 1.87 2009/05/11 23:38:00 drh Exp $ */ #ifndef SQLITE_OMIT_VIRTUALTABLE #include "sqliteInt.h" /* ** The actual function that does the work of creating a new module. ** This function implements the sqlite3_create_module() and |
︙ | ︙ | |||
373 374 375 376 377 378 379 380 381 382 383 384 385 386 | assert( xConstruct ); db->pVTab = pTab; rc = sqlite3SafetyOff(db); assert( rc==SQLITE_OK ); rc = xConstruct(db, pMod->pAux, nArg, azArg, &pVtab, &zErr); rc2 = sqlite3SafetyOn(db); if( rc==SQLITE_OK && pVtab ){ pVtab->pModule = pMod->pModule; pVtab->nRef = 1; pTab->pVtab = pVtab; } if( SQLITE_OK!=rc ){ | > | 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 | assert( xConstruct ); db->pVTab = pTab; rc = sqlite3SafetyOff(db); assert( rc==SQLITE_OK ); rc = xConstruct(db, pMod->pAux, nArg, azArg, &pVtab, &zErr); rc2 = sqlite3SafetyOn(db); if( rc==SQLITE_NOMEM ) db->mallocFailed = 1; if( rc==SQLITE_OK && pVtab ){ pVtab->pModule = pMod->pModule; pVtab->nRef = 1; pTab->pVtab = pVtab; } if( SQLITE_OK!=rc ){ |
︙ | ︙ |