SQLite

Check-in [4ccc18e999]
Login

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

Overview
Comment:Fix an incorrect assert in the virtual table logic - it could fire following an I/O error after sqlite3_close_v2() was added.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4ccc18e999c51f7f6637ee48ccca35c7706bfe6d
User & Date: drh 2012-08-27 14:39:47.359
Context
2012-08-27
21:19
Add to #undef statements to the command-line shell, go make sure that the macros definitions that follow do not collide with system definitions. (check-in: 24420d6d20 user: drh tags: trunk)
14:39
Fix an incorrect assert in the virtual table logic - it could fire following an I/O error after sqlite3_close_v2() was added. (check-in: 4ccc18e999 user: drh tags: trunk)
2012-08-25
10:01
Fix all known instances of 'repeated the' style typos in comments. No changes to code. (check-in: 9b19b84753 user: mistachkin tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/vtab.c.
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
** reaches zero, call the xDisconnect() method to delete the object.
*/
void sqlite3VtabUnlock(VTable *pVTab){
  sqlite3 *db = pVTab->db;

  assert( db );
  assert( pVTab->nRef>0 );
  assert( sqlite3SafetyCheckOk(db) );

  pVTab->nRef--;
  if( pVTab->nRef==0 ){
    sqlite3_vtab *p = pVTab->pVtab;
    if( p ){
      p->pModule->xDisconnect(p);
    }







|







127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
** reaches zero, call the xDisconnect() method to delete the object.
*/
void sqlite3VtabUnlock(VTable *pVTab){
  sqlite3 *db = pVTab->db;

  assert( db );
  assert( pVTab->nRef>0 );
  assert( db->magic==SQLITE_MAGIC_OPEN || db->magic==SQLITE_MAGIC_ZOMBIE );

  pVTab->nRef--;
  if( pVTab->nRef==0 ){
    sqlite3_vtab *p = pVTab->pVtab;
    if( p ){
      p->pModule->xDisconnect(p);
    }