1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-21 09:00:59 +03:00
Commit Graph

13138 Commits

Author SHA1 Message Date
drh
65106c77bb Update to the 3.8.2 release.
FossilOrigin-Name: e579661a7950fe9f8eb10012946100c874ba54b0
2013-12-06 15:49:45 +00:00
drh
1b1f30bb5e Add code to detect if the database file is moved or deleted out from under
SQLite and return an SQLITE_IOERR_NODB.

FossilOrigin-Name: 8759a8e4d83b163e315eff316cf163f6ea42f2bb
2013-12-06 15:37:35 +00:00
drh
224f66fba3 Fix harmless compiler warnings and improve the MSVC makefile.
FossilOrigin-Name: c632567063d81c4be404ce58cbac0eff7412f565
2013-12-05 17:12:47 +00:00
drh
47676fedf6 Fix two potential (and apparently harmless) shift overflows discovered by
the -fcatch-undefined-behavior option of clang.

FossilOrigin-Name: e19eead8c9977ed4f00eac54c5bc7e90db78caa8
2013-12-05 16:41:55 +00:00
mistachkin
3f9cd2ae75 Fix harmless compiler warnings.
FossilOrigin-Name: a12d214ecccc5d3372dbcedc88705b0092363971
2013-12-03 22:33:35 +00:00
mistachkin
1fa85a15df Add memory subsystem related defines to the compile-time options list.
FossilOrigin-Name: 52a44146dd7c5a7662545042045e23deab302c96
2013-12-03 22:32:48 +00:00
drh
27964431ea Merge in trunk changes.
FossilOrigin-Name: a2914d6b17358de05eb39f764c0c13d2d4cf8f3b
2013-12-03 20:51:33 +00:00
drh
7f59475fda Remove a branch in STAT4 logic that is no longer reachable after
the previous change.

FossilOrigin-Name: eca7d3f1612c7a009a9e4ef89f76f9b7e275d1e6
2013-12-03 19:49:55 +00:00
drh
7190e07fc0 Fix a possible (and probably harmless) uninitialized variable in STAT3/4.
FossilOrigin-Name: 33ad4f91477907b7b3e5808c7ba11aacc9a83ba6
2013-12-03 19:16:06 +00:00
dan
b5f68b0c8c Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms.
FossilOrigin-Name: 14f9bc79014e5762b88b9f0b98f4d47a8092d127
2013-12-03 18:26:56 +00:00
drh
9a01c16df8 Remove an unnecessary branch from the UPDATE logic - one that was also
unreachable except following an OOM on x64.

FossilOrigin-Name: 72f972771457b8c8d9f859238d6a72b43f41d2c3
2013-12-03 10:14:28 +00:00
dan
89bc021850 Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer.
FossilOrigin-Name: 9d8a0e132163f7adeaabbf6baba119e159addd41
2013-12-03 09:49:52 +00:00
drh
d5e4547084 Change some unreachable test conditions to NEVER().
FossilOrigin-Name: 7d99858bec699dface548c77649dfc50e7fb50d8
2013-12-03 02:52:11 +00:00
drh
47b927d2c3 Fix a harmless compiler warning on MacOS.
FossilOrigin-Name: 74328de1d720fb35a97b476034406ca17d35ff5f
2013-12-03 00:11:40 +00:00
drh
52208a6332 Merge all recent 3.8.2 beta changes from trunk.
FossilOrigin-Name: 67c34ccfa9596a923695dc4994ec87b331f8326c
2013-12-02 21:58:19 +00:00
drh
a256c1a4b3 Fix typos in the header comment on the sqlite3Atoi64() routine.
FossilOrigin-Name: c85e0c546ea6c6be46deea5c7a716b5fb553c7b4
2013-12-01 01:18:29 +00:00
drh
094b7587fc Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling
sqlite3BtreeMovetoUnpacked().

FossilOrigin-Name: 55ec474db8935ef36fae30da5d11f5701c60c088
2013-11-30 12:49:28 +00:00
drh
b202366509 Change the name of the CORRUPTIBLE macro to CORRUPT_DB.
FossilOrigin-Name: f865be10e85a4063394a21827db2d854fc25960c
2013-11-29 15:39:36 +00:00
drh
09fe614372 Add a new sqlite3_test_control() that indicates that database files are
always well-formed.  Use this during testing to enable assert() statements
that prove conditions that are always true for well-formed databases.

FossilOrigin-Name: 15e4f63d1f3cbcd0aa789fd3e460cd6e4d3338f9
2013-11-29 15:06:27 +00:00
dan
0d4a0cdf18 Remove an assert() condition that may not be true if the database file is corrupt. Update a test case in corruptC.test.
FossilOrigin-Name: 0bcf75516f59e49536f9e5c5cd542058ab61e2fc
2013-11-28 14:14:31 +00:00
drh
5b8d1ab454 Merge all recent trunk changes.
FossilOrigin-Name: 3a2a1bd47875e114d8e6f31c1768908f401d2861
2013-11-27 21:53:51 +00:00
drh
2c77be054a Remove unnecessary local variables from sqlite3VdbeExec() in order to
reduce stack-space requirements of that routine.

FossilOrigin-Name: 81891288d9f281cf2ceb4cd701c0c3231b1bab19
2013-11-27 21:07:03 +00:00
drh
9338642ca6 Update documentation of sqlite3_column() for clarity. Update evidence marks
on test cases.

FossilOrigin-Name: ec2d47a1db2349d5c9b4fe465506e0e347f77921
2013-11-27 19:17:49 +00:00
drh
ac68ced162 Make sure the colWidth array is correctly initialized in the ".explain"
command of the shell.

FossilOrigin-Name: ceebcdcaf1acf409b77b4cc2903b4570001f098a
2013-11-27 13:24:18 +00:00
drh
c964c39fb0 Lower the threshold for using skip-scan from 50 to 18, based on experiments
that show that 18 is the approximate break-even point for a variety of
schemas.

FossilOrigin-Name: 83c0bb9913838d18ba355033afde6e38b4690842
2013-11-27 04:22:27 +00:00
mistachkin
0f7e08e0e2 Avoid using the GetVersionEx functions if they are considered deprecated.
FossilOrigin-Name: 0ea9e4722be10221c99cce5bc48d13c7b34e739f
2013-11-27 03:01:34 +00:00
drh
bbbb0e8053 Make sure the update hook is not invoked for WITHOUT ROWID tables, as
the documentation specifies.  This bug was found while adding requirements
marks, so a few extraneous requirements marks are included in this
check-in.

FossilOrigin-Name: 0978bac6b8aee229d7a0d148546f50d380d06a06
2013-11-26 23:27:07 +00:00
dan
aa1776f093 Reduce the amount of code used to implement OP_SeekGe and similar.
FossilOrigin-Name: 8b12a15a2a8139d75f56a099f3f6af844da3ac9c
2013-11-26 18:22:59 +00:00
drh
1b2ee4fe1a Merge in performance enhancements from trunk.
FossilOrigin-Name: fc9ae839569eb28eb734c52d95676c59b2e27494
2013-11-26 18:00:29 +00:00
drh
0425f18959 Change tclsqlite3.c so that it never invokes ctype macros with signed
character arguments.

FossilOrigin-Name: c07caabf2396c84b2ccb0e9f98ae6279ce41c59d
2013-11-26 16:48:04 +00:00
drh
de1a8b8c69 Change the REAL-to-INTEGER casting behavior so that if the REAL value
is greater than 9223372036854775807.0 then it is cast to the latest
possible integer, 9223372036854775807.  This is sensible and the way
most platforms work in hardware.  The former behavior was that oversize
REALs would be cast to the smallest possible integer, -9223372036854775808,
which is the way Intel hardware works.

FossilOrigin-Name: 6f53fc7106658d44edf63068f9a8522fa5a7688b
2013-11-26 15:45:02 +00:00
mistachkin
2e72791781 Fix comment.
FossilOrigin-Name: 8364af392da2946acd84633b45684e6fba5c39ed
2013-11-26 01:13:18 +00:00
mistachkin
f74b9e0965 Further work on Windows header file reform.
FossilOrigin-Name: 540f5525160b516de282136ca77f909115a51630
2013-11-26 01:00:31 +00:00
mistachkin
9598ae2c11 Merge updates from trunk.
FossilOrigin-Name: c5ab4378756965b0c2ab218e5ec59c40898b89ea
2013-11-26 00:33:25 +00:00
mistachkin
dad19c3204 Better support for UTF-8 paths on Cygwin.
FossilOrigin-Name: 9954327c0febc0ece46f62e05976330a1b82b48f
2013-11-26 00:28:50 +00:00
mistachkin
202ca3e06b Add SQLITE_CONFIG_WIN32_HEAPSIZE option to configure the maximum isolated heap size on Windows.
FossilOrigin-Name: 914e6c9d88828b66e8385c4a264702471faa34cf
2013-11-25 23:42:21 +00:00
drh
0b9dadacd8 Change a while-loop into a do-loop in sqlite3VdbeRecordCompare() and add
an assert() to verify that the do-loop really is appropriate.  This gives
about a 10% performance boost in that routine, or a 0.9% boost overall.

FossilOrigin-Name: 011a6be439eb884c944a3318bf631bed3135f8ec
2013-11-25 22:24:36 +00:00
mistachkin
af8641bd45 Clarify docs for the SQLITE_CONFIG_WIN32_HEAPSIZE option.
FossilOrigin-Name: 51e876074af4e34ba01ed122e3bcc042243c9e88
2013-11-25 21:49:04 +00:00
drh
d16546da78 Remove a NEVER() from a branch that is now reachable during OOM faults.
FossilOrigin-Name: 18bdcb05c26860643f53a6b9e85f84109a3ebe5a
2013-11-25 21:41:24 +00:00
drh
9b2fc61d25 Return an SQLITE_CORRUPT error if the content size field of a table record
extends off the end of a page.

FossilOrigin-Name: b48c4e402125fb8d2208d358f6e9bbc351f3a49d
2013-11-25 20:14:13 +00:00
drh
ebf10b1fb4 Uses shifts rather than division for arithmetic on the cell indices, since
those indices are always non-negative.

FossilOrigin-Name: 5bf2a3feeb2c83671bf3edeb20a549239e6873bf
2013-11-25 17:38:26 +00:00
drh
17566ee243 Optimize the skipping of the payload size field when doing a binary search
for a rowid.

FossilOrigin-Name: 55e5bfa231dd52a7cf9ec982967da4963867b9e5
2013-11-25 16:52:59 +00:00
drh
d2022b0118 Arrange for sqlite3BtreeMovetoUnpacked() to always leave the cursor cell
parse cache invalidated.  This fixes issues with previous check-ins on this
branch and also runs faster.

FossilOrigin-Name: a74675607fe041e37a58a3ec287131de0e5090c3
2013-11-25 16:23:52 +00:00
drh
bb933ef6e7 More optimizations to sqlite3BtreeMovetoUnpacked(). But there are failures
in TH3.  Committing this intermediate state to facilitate bisecting.

FossilOrigin-Name: f80497be446f84d2000e454e32d717887a7d0cee
2013-11-25 15:01:38 +00:00
drh
d793f44723 More improvements to sqlite3BtreeMovetoUnpacked() performance.
FossilOrigin-Name: 88680698231b7141401f7166e3aff8dbc6008030
2013-11-25 14:10:15 +00:00
mistachkin
f3a4c7c2c7 Correct line-endings in the new header file.
FossilOrigin-Name: 94219b9f1ff59ea408c7ded167ee28b00c0f38c1
2013-11-25 09:37:24 +00:00
mistachkin
8bc5262915 Initial work on isolating usage of the Windows header file.
FossilOrigin-Name: 0d42c6b830ee50f45539d73e3948ed3bc50a11d1
2013-11-25 09:36:07 +00:00
drh
ec3e6b10f4 Performance improvements in sqlite3BtreeMovetoUnpacked().
FossilOrigin-Name: d0fb7acea7cbfe6f2d84782a28bb51675a06576f
2013-11-25 02:38:55 +00:00
mistachkin
5bbb7198d1 Better support for UTF-8 paths on Cygwin.
FossilOrigin-Name: 484162b6e5a8ad9385fe2eb2a5254d13d7b0bc36
2013-11-24 23:18:21 +00:00
drh
0c2df17691 The MEMSYS5 algorithm does not have to return the block with the lowest
address.  Any block of the appropriate size will do.  Use the first block
found on the freelist for the appropriate size for a performance improvement.

FossilOrigin-Name: 12e612e8e7c4a6f83acf0daf5608151fb5ec1575
2013-11-24 00:46:00 +00:00