Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: third_party/sqlite/README.chromium

Issue 901033002: Import SQLite 3.8.7.4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Chromium changes to support SQLite 3.8.7.4. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 Name: sqlite 1 Name: sqlite
2 URL: http://sqlite.org/ 2 URL: http://sqlite.org/
3 Version: 3.7.6.3 3 Version: 3.8.7.4
4 Included In Release: Yes 4 Included In Release: Yes
5 Security Critical: Yes 5 Security Critical: Yes
6 License: Public domain 6 License: Public domain
7 7
8 1) Managing differences between SQLite core and Chromium's version. 8 1) Managing differences between SQLite core and Chromium's version.
9 2) Making changes to Chromium SQLite. 9 2) Making changes to Chromium SQLite.
10 3) Import new release of SQLite. 10 3) Import new release of SQLite.
11 4) Running SQLite's test suite within the Chromium checkout. 11 4) Running SQLite's test suite within the Chromium checkout.
12 12
13 --- 13 ---
(...skipping 29 matching lines...) Expand all
43 43
44 Once your patch is complete, squash it down into a reasonable CL, then 44 Once your patch is complete, squash it down into a reasonable CL, then
45 re-generate the patches. This is a truncated version of the import flow. The 45 re-generate the patches. This is a truncated version of the import flow. The
46 following is written like a shell script to allow copy/paste to a shell, ignore 46 following is written like a shell script to allow copy/paste to a shell, ignore
47 comments and change the obvious lines. These instructions should work on Linux 47 comments and change the obvious lines. These instructions should work on Linux
48 or OSX. They may assume a modern version of git (I'm using 2.2.1). 48 or OSX. They may assume a modern version of git (I'm using 2.2.1).
49 49
50 # Everything based in sqlite subdir. 50 # Everything based in sqlite subdir.
51 cd third_party/sqlite 51 cd third_party/sqlite
52 52
53 BASE=3070603 53 BASE=3080704
54 54
55 #### Create a reference branch. 55 #### Create a reference branch.
56 git checkout -b sqlite_${BASE} master 56 git checkout -b sqlite_${BASE} master
57 git rm -rf src 57 git rm -rf src
58 cp -a sqlite-src-${BASE} src 58 cp -a sqlite-src-${BASE} src
59 # -f includes ignored files, of which there are a couple. 59 # -f includes ignored files, of which there are a couple.
60 git add -f src/ 60 git add -f src/
61 git commit -m "Reset to sqlite-src-${BASE}" 61 git commit -m "Reset to sqlite-src-${BASE}"
62 # This branch is unlikely to build. 62 # This branch is unlikely to build.
63 63
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 rm -rf src 119 rm -rf src
120 cp -a sqlite-src-${BASE} src 120 cp -a sqlite-src-${BASE} src
121 # -f includes ignored files, of which there are a couple. 121 # -f includes ignored files, of which there are a couple.
122 git add -f src/ 122 git add -f src/
123 git commit -m "Reset to sqlite-src-${BASE}" 123 git commit -m "Reset to sqlite-src-${BASE}"
124 # This branch is unlikely to build. 124 # This branch is unlikely to build.
125 125
126 #### Convert patches into CLs. 126 #### Convert patches into CLs.
127 git checkout -b sqlite_${BASE}_patched master 127 git checkout -b sqlite_${BASE}_patched master
128 git rebase sqlite_${BASE} 128 git rebase sqlite_${BASE}
129 git am patches/*.patch 129 git am --keep-non-patch patches/*.patch
130 git diff master 130 git diff master
131 # This branch should be identical to master. 131 # This branch should be identical to master.
132 132
133 #### Create new-SQLite reference branch. 133 #### Create new-SQLite reference branch.
134 git checkout -b sqlite_${VERSION} master 134 git checkout -b sqlite_${VERSION} master
135 git rebase sqlite_${BASE} 135 git rebase sqlite_${BASE}
136 # SQLite's download page is at <http://www.sqlite.org/download.html>. Scroll to 136 # SQLite's download page is at <http://www.sqlite.org/download.html>. Scroll to
137 # "Legacy Source Code Distribution Formats", and grab sqlite-src-<VERSION>.zip. 137 # "Legacy Source Code Distribution Formats", and grab sqlite-src-<VERSION>.zip.
138 # Unzip it and pull it into the repo. 138 # Unzip it and pull it into the repo.
139 wget http://www.sqlite.org/2014/sqlite-src-${VERSION}.zip 139 wget http://www.sqlite.org/2014/sqlite-src-${VERSION}.zip
140 unzip sqlite-src-${VERSION}.zip 140 unzip sqlite-src-${VERSION}.zip
141 rm sqlite-src-${VERSION}.zip 141 rm sqlite-src-${VERSION}.zip
142 # -f includes ignored files, of which there are a couple. 142 # -f includes ignored files, of which there are a couple.
143 git add -f sqlite-src-${VERSION}/ 143 git add -f sqlite-src-${VERSION}/
144 # Sometimes DOS line endings sneak into the source code. This command works on 144 # Sometimes DOS line endings sneak into the source code. This command works on
145 # OSX and Linux and fixes those files, but double-check the results before 145 # OSX and Linux and fixes those files, but double-check the results before
146 # committing: 146 # committing:
147 egrep --exclude="*.eps" --exclude="*.ico" --exclude="*.jpg" \ 147 egrep --exclude="*.eps" --exclude="*.ico" --exclude="*.jpg" \
148 --exclude="*.gif" --exclude="*.tiff" --exclude="*.vsix" -URl '\r' . | \ 148 --exclude="*.gif" --exclude="*.tiff" --exclude="*.vsix" -URl '\r' . | \
149 LANG=C xargs sed -i~ -e $'s/\r$//' 149 LANG=C xargs sed -i~ -e $'s/\r$//'
150 git commit -m "Begin import of sqlite-src-${VERSION}"es 150 git commit -m "Begin import of sqlite-src-${VERSION}" sqlite-src-${VERSION}
151 sqlite-src-${VERSION}
152 rm -rf src 151 rm -rf src
153 cp -a sqlite-src-${VERSION} src 152 cp -a sqlite-src-${VERSION} src
154 # -f includes ignored files, of which there are a couple. 153 # -f includes ignored files, of which there are a couple.
155 git add -f src/ 154 git add -f src/
156 git commit -m "Update src to sqlite-src-${VERSION}" src/ 155 git commit -m "Update src to sqlite-src-${VERSION}" src/
157 # This branch is unlikely to build. 156 # This branch is unlikely to build.
158 157
159 #### Create a branch for merging the CLs to the new SQLite. 158 #### Create a branch for merging the CLs to the new SQLite.
160 git checkout -b sqlite_${VERSION}_patched master 159 git checkout -b sqlite_${VERSION}_patched master
161 git rebase sqlite_${VERSION} 160 git rebase sqlite_${VERSION}
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 sudo port install tcl 214 sudo port install tcl
216 TODO(shess): OSX works fine with either tcl8.5 or tcl8.6, but on Ubuntu 14.04.1 215 TODO(shess): OSX works fine with either tcl8.5 or tcl8.6, but on Ubuntu 14.04.1
217 with tcl8.6, I see crashes in some of the WAL tests. Revisit using tcl8.6 on 216 with tcl8.6, I see crashes in some of the WAL tests. Revisit using tcl8.6 on
218 next import of SQLite. 217 next import of SQLite.
219 TODO(shess): That Homebrew command has installed tcl8.6 for a few years, so the 218 TODO(shess): That Homebrew command has installed tcl8.6 for a few years, so the
220 above may require some adaptation of the build files. 219 above may require some adaptation of the build files.
221 220
222 cd third_party/sqlite/src 221 cd third_party/sqlite/src
223 mkdir build 222 mkdir build
224 cd build 223 cd build
225 make -f ../Makefile.linux-gcc testfixture sqlite3 224 make -j -f ../Makefile.linux-gcc testfixture sqlite3
226 # NOTE(shess): 64-bit builds under 3.7.6.3 show various warnings. AFAICT they
227 # don't impact test operation. Later versions are better so I'm not fixing it.
228 make -f ../Makefile.linux-gcc test > /tmp/test.log 225 make -f ../Makefile.linux-gcc test > /tmp/test.log
229 egrep 'errors out of' /tmp/test.log 226 egrep 'errors out of' /tmp/test.log
230 # Show broken tests: 227 # Show broken tests:
231 egrep 'Failures on these tests:' /tmp/test.log 228 egrep 'Failures on these tests:' /tmp/test.log
232 # Broken tests will also show lines ending in "..." instead of "... Ok". 229 # Broken tests will also show lines ending in "..." instead of "... Ok".
233 230
234 In version Right now on OSX, I see no failures: 231 In version 3.8.7.4 on OSX 10.9.5, I see:
235 0 errors out of 77849 tests 232 6 errors out of 138390 tests
233 The failed tests are:
234 pager4-1.3 pager4-1.4 pager4-1.5 pager4-1.9 pager4-1.10 pager4-1.11
235 This is due to the change in os_unix.c fileHasMoved() to support WebDatabase.
236 Commenting out the early return allows them to succeed.
236 237
237 In version 3.7.6.3 on Ubuntu 14.04 I see some failures: 238 In version 3.8.7.4 on Ubuntu 14.04 I see:
238 83 errors out of 78604 tests 239 9 errors out of 138920 tests
239 - precision in formatting numbers in enc4.test. 240 The failed tests are:
240 - case sensitivity in nan.test. 241 oserror-1.1.1 oserror-1.1.2 oserror-1.1.3
241 - oserror-1.1.[1-3] fail because there are too many fds available. Fixed with 242 pager4-1.3 pager4-1.4 pager4-1.5 pager4-1.9 pager4-1.10 pager4-1.11
242 "ulimit -n 1024". 243 The oserror tests fail because there are too many fds available, and can be
244 fixed by running "ulimit -n 1024" before the test. The pager4 tests are failing
245 for the same reason as above.
243 246
244 -- 247 --
245 248
246 NOTE(shess): On Ubuntu it is possible to run the tests in a tmpfs something 249 NOTE(shess): On Ubuntu it is possible to run the tests in a tmpfs something
247 like: 250 like:
248 251
249 TMPFS=/dev/shm/sqlite_build 252 TMPFS=/dev/shm/sqlite_build
250 BUILD=$PWD 253 BUILD=$PWD
251 mkdir $TMPFS 254 mkdir $TMPFS
252 (cd $TMPFS ; $BUILD/testfixture $BUILD/../test/veryquick.test >/tmp/test.log) 255 (cd $TMPFS ; $BUILD/testfixture $BUILD/../test/veryquick.test >/tmp/test.log)
253 256
254 This is faster, but it is plausible that different things are being tested than 257 This is faster, but it is plausible that different things are being tested than
255 real-world use. 258 real-world use.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698