| OLD | NEW |
| (Empty) |
| 1 This directory contains a partial snapshot of the sqlite library from | |
| 2 http://sqlite.org. | |
| 3 | |
| 4 Current version: 3.5.3, released 23-Nov-2007. | |
| 5 | |
| 6 (This was built as 3.4.2 [13-Aug-2007] as described below, with the four | |
| 7 intervening patches 4315, 4427, 4546, and 4556 applied by hand.) | |
| 8 | |
| 9 To import a new snapshot of sqlite: | |
| 10 | |
| 11 - Visit http://sqlite.org/download.html and download the latest source | |
| 12 distribution. | |
| 13 - Unpack the source on a Linux machine. | |
| 14 - Change to the source directory and run: | |
| 15 $ ./configure --disable-tcl # build headers | |
| 16 $ make # build some generated files | |
| 17 - Copy the generated .c/.h files from the sqlite directory to this directory, | |
| 18 as well as those in src/ and ext/fts2/. Omit files which have been omitted | |
| 19 here. Here's an easy way to be sure you get everything: | |
| 20 $ cp /path/to/source/*.[ch] . # don't forget subdirs, too | |
| 21 $ gvn status | grep -v ^M # print the names of all new files | |
| 22 $ mkdir new; mv each new file to new | |
| 23 Then rebuild, and if any of the files in new/ are needed, move them | |
| 24 back into this directory, add them to the project, and "gvn add" them. | |
| 25 - Apply the preload-cache.diff (see below) | |
| 26 - Update this README to reflect the new version number. | |
| 27 | |
| 28 Modifications for this release: | |
| 29 - I marked all changes I made with "evanm", so you can find them with | |
| 30 "grep evanm *". | |
| 31 - Most files include sqlite3ext.h with SQLITE_CORE #defined, but two don't: | |
| 32 fts2_tokenizer.c and icu.c. Without this #define, the calls in | |
| 33 fts2_tokenizer.c try to go through some pointer to the sqlite API instead of | |
| 34 calling the functions directly (to work as a loadable module), but then crash | |
| 35 (because the other files never initialize that loadable module support). As | |
| 36 a hack I #defined it in these files, but it'd be nice to figure out what | |
| 37 really ought to happen here (perhaps this file is new and hasn't been tested | |
| 38 to verify it works right). | |
| 39 - shell_icu.c is a Chrome-specific file used to load our ICU data. shell.c | |
| 40 has been modifed to call into shell_icu.c. | |
| 41 - fts2_icu.c has a critical bug. U8_NEXT is used over a UTF-16 string. It's repl
aced | |
| 42 by U16_NEXT (jungshik) | |
| 43 | |
| 44 Patch | |
| 45 ----- | |
| 46 The file preload-cache.diff patch must be applied to add a new function we use | |
| 47 to prime the database cache. It allows much faster performance by reading the | |
| 48 file in one contiguous operation rather than bringing it in organically, which | |
| 49 involves a lot of seeking. | |
| 50 | |
| 51 FTS2 modification | |
| 52 ----------------- | |
| 53 In fts2.c, we added an additional check from fts3 to try to catch some | |
| 54 additional problems. In buildTerms on line 3807, we replaced | |
| 55 if( iPosition<0 ){ | |
| 56 with: | |
| 57 if( iPosition<0 || pToken == NULL || nTokenBytes == 0 ){ | |
| 58 It is from this change to sqlite: | |
| 59 http://www.sqlite.org/cvstrac/chngview?cn=4514 | |
| OLD | NEW |