/ Check-in [c6ba81fc]
Login

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

Overview
Comment:Fix a problem with IO error handling in the rebuild-index code.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | fts4-content
Files: files | file ages | folders
SHA1: c6ba81fcad32192674bd510e607f787adc1f7038
User & Date: dan 2011-10-05 06:07:00
Context
2011-10-05
15:11
Change FTS4 so that if both the content=xxx option and column names are specified, the virtual table assumes that the named columns correspond to columns of table xxx. check-in: 289ee431 user: dan tags: fts4-content
06:07
Fix a problem with IO error handling in the rebuild-index code. check-in: c6ba81fc user: dan tags: fts4-content
2011-10-04
19:41
Improve test coverage of fts3.c. check-in: 0f439944 user: dan tags: fts4-content
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ext/fts3/fts3_write.c.

2997
2998
2999
3000
3001
3002
3003
3004
3005



3006
3007
3008
3009
3010
3011
3012
    }
    if( p->bHasStat ){
      fts3UpdateDocTotals(&rc, p, aSzIns, aSzDel, nEntry);
    }
    sqlite3_free(aSz);

    if( pStmt ){
      assert( rc==SQLITE_OK );
      rc = sqlite3_finalize(pStmt);



    }
  }

  return rc;
}

/*







<
|
>
>
>







2997
2998
2999
3000
3001
3002
3003

3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
    }
    if( p->bHasStat ){
      fts3UpdateDocTotals(&rc, p, aSzIns, aSzDel, nEntry);
    }
    sqlite3_free(aSz);

    if( pStmt ){

      int rc2 = sqlite3_finalize(pStmt);
      if( rc==SQLITE_OK ){
        rc = rc2;
      }
    }
  }

  return rc;
}

/*

Changes to test/fts3fault2.test.

100
101
102
103
104
105
106
107


























108
} -body {
  execsql {
    CREATE VIRTUAL TABLE tt USING fts4(compress=zip, uncompress=unzip);
  }
} -test {
  faultsim_test_result {0 {}}
}



























finish_test








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
} -body {
  execsql {
    CREATE VIRTUAL TABLE tt USING fts4(compress=zip, uncompress=unzip);
  }
} -test {
  faultsim_test_result {0 {}}
}

do_test 4.0 {
  faultsim_delete_and_reopen
  execsql {
    CREATE VIRTUAL TABLE ft USING fts4(a, b);
    INSERT INTO ft VALUES('U U T C O', 'F N D E S');
    INSERT INTO ft VALUES('P H X G B', 'I D M R U');
    INSERT INTO ft VALUES('P P X D M', 'Y V N T C');
    INSERT INTO ft VALUES('Z L Q O W', 'D F U N Q');
    INSERT INTO ft VALUES('A J D U P', 'C H M Q E');
    INSERT INTO ft VALUES('P S A O H', 'S Z C W D');
    INSERT INTO ft VALUES('T B N L W', 'C A K T I');
    INSERT INTO ft VALUES('K E Z L O', 'L L Y C E');
    INSERT INTO ft VALUES('C R E S V', 'Q V F W P');
    INSERT INTO ft VALUES('S K H G W', 'R W Q F G');
  }
  faultsim_save_and_close
} {}
do_faultsim_test 4.1 -prep {
  faultsim_restore_and_reopen
  db eval {SELECT * FROM sqlite_master}
} -body {
  execsql { INSERT INTO ft(ft) VALUES('rebuild') }
} -test {
  faultsim_test_result {0 {}}
}

finish_test