/ Check-in [4ccc18e9]
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 | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:4ccc18e999c51f7f6637ee48ccca35c7706bfe6d
User & Date: drh 2012-08-27 14:39:47
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: 24420d6d 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: 4ccc18e9 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: 9b19b847 user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs 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);
    }