| Index: third_party/sqlite/README.google
|
| ===================================================================
|
| --- third_party/sqlite/README.google (revision 8952)
|
| +++ third_party/sqlite/README.google (working copy)
|
| @@ -1,105 +0,0 @@
|
| -Instructions for importing a new release of sqlite from sqlite.org.
|
| -
|
| -First, you need to be on Linux.
|
| -
|
| -Find the release you want at:
|
| - http://www.sqlite.org/cvstrac/timeline
|
| -
|
| -Search for "Milestone", and find the appropriate release. Click
|
| -through, and snag the "Date" for use in DATE line below.
|
| -Unfortunately, the actual displayed date string on that page will not
|
| -work, you have to make it YYYY/MM/DD. [TODO(shess) Determine if the
|
| -fact that sqlite.org thinks it's running under UTC is relevant.]
|
| -
|
| -DATE='2007/01/24 09:54:56'
|
| -
|
| -# Get to the third_party/sqlite directory in your Chromium client.
|
| -cd ../third_party/sqlite
|
| -
|
| -# Run the super awesome automatic merge tool (requires kdiff3).
|
| -# NOTE(shess): The following (which runs google_generate_preprocessed.sh) will
|
| -# produce different output on grhat versus goobuntu; I've been running it on
|
| -# goobuntu.
|
| -./google_update_sqlite.sh "$DATE"
|
| -
|
| -# Resolve any conflicts. Figure out if we've got everything we should
|
| -# have (see below), or if we can omit any changes we no longer need.
|
| -
|
| -# TODO(shess) If we don't want the CVS dirs.
|
| -# find sqlite_vendor -name CVS -execdir rm -rf {} + -prune
|
| -
|
| -# Find a sucker. Send review.
|
| -# TODO(shess) Describe an appropriate comment style. Seems like it
|
| -# should include the DATE line, and the sqlite version number.
|
| -
|
| -
|
| ---------------------------------------------
|
| -
|
| -Why all this convolution? The problem being solved is that we want to
|
| -harvest changes from the sqlite CVS tree, and merge them with any
|
| -local changes we make. In CVS, you would do this using a "vendor
|
| -import", which is essentially a branch dedictated to the vendor
|
| -version which is merged with local changes.
|
| -
|
| -third_party/sqlite_vendor/... is the CVS checkout for a particular
|
| -build from sqlite.org. third_party/sqlite_google/... is the local
|
| -version, with our local modifications. So we update the sqlite_vendor
|
| -tree, then use perforce to downintegrate changes into our
|
| -locally-modified tree. The downintegrate will call out any
|
| -conflicting changes, but will otherwise just merge things together.
|
| -Basically, sqlite_vendor is a gateway between CVS and perforce.
|
| -
|
| -Scott Hess <shess@google.com>, April 9, 2007.
|
| -
|
| ---------------------------------------------
|
| -
|
| -How to run the SQLite tests for the Gears version of SQLite on Linux.
|
| -
|
| -cd ../third_party/sqlite_google/
|
| -mkdir build
|
| -cd build
|
| -make -f ../Makefile.linux-gcc testfixture
|
| -make -f ../Makefile.linux-gcc test > /tmp/test.log
|
| -egrep -v 'Ok$' /tmp/test.log
|
| -# When run on a locally-mounted disk, my output ends with:
|
| -# 0 errors out of 57887 tests
|
| -
|
| -Scott Hess <shess@google.com>, December 11, 2007
|
| -
|
| ---------------------------------------------
|
| -
|
| -As of September 12, 2008, these are our changes from sqlite_vendor:
|
| -
|
| - - fts2.c disables fts2_tokenizer().
|
| - - sqlite3Poison() in src/btree.c.
|
| - - BEGIN defaults to BEGIN IMMEDIATE in parse.y.
|
| - - Tweak to SQLITE_EXTENSION_INIT* in sqlite3ext.h.
|
| - - That implied a change in src/test_autoext.c for testing.
|
| - - Added fts.test and fts1.test in tests, modified quick.test.
|
| - - src/os_symbian.cc.
|
| - - Modifications to Makefile.linux-gcc and main.mk for compiling
|
| - SQLite tests.
|
| - - Compile warning fixed in func.c (check if this is still needed)
|
| - - Fixed a typo bug in fts2_icu.c: "strlen(nInput)" (filed upstream as
|
| - http://www.sqlite.org/cvstrac/tktview?tn=3543)
|
| -
|
| -Changes from Chrome:
|
| - - I marked all changes I made with "evanm", so you can find them with
|
| - "grep evanm *".
|
| - - Most files include sqlite3ext.h with SQLITE_CORE #defined, but two don't:
|
| - fts2_tokenizer.c and icu.c. Without this #define, the calls in
|
| - fts2_tokenizer.c try to go through some pointer to the sqlite API instead
|
| - of calling the functions directly (to work as a loadable module), but then
|
| - crash (because the other files never initialize that loadable module
|
| - support). As a hack I #defined it in these files, but it'd be nice to
|
| - figure out what really ought to happen here (perhaps this file is new and
|
| - hasn't been tested to verify it works right). Update: Seems this is an
|
| - issue we get because we're using fts2 instead of fts3.
|
| - - shell_icu.c is a Chrome-specific file used to load our ICU data. shell.c
|
| - has been modifed to call into shell_icu.c.
|
| - - fts2_icu.c has a critical bug. U8_NEXT is used over a UTF-16 string. It's
|
| - rep$ by U16_NEXT (jungshik)
|
| - - Added a new function sqlite3Preload we use to prime the database cache. It
|
| - allows much faster performance by reading the file in one contiguous
|
| - operation rather than bringing it in organically, which involves a lot of
|
| - seeking.
|
|
|
|
|