SQLite

Timeline
Login

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

100 check-ins occurring around ce70803f5e1bfb4d.

2013-12-09
00:47
Use putVarint32() instead of putVarint() for a quantity that can never exceed 2GiB - 1. (check-in: 6996fb3444 user: drh tags: trunk)
2013-12-08
23:33
Another simplification to the OP_MakeRecord opcode, making it slightly faster and very slightly smaller. (check-in: f2f5a3ce9d user: drh tags: trunk)
22:59
Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode. (check-in: 7a234fc3c5 user: drh tags: trunk)
19:54
Interchange two conditions in an "if" statment in sqlite3PagerAcquire() for very slight (0.06%) overall performance increase. (check-in: fbcc1a3ebb user: drh tags: trunk)
2013-12-07
23:35
Do not allow cursor hints to use expressions containing subqueries. This change fixes the problem seen in the previous check-in. (check-in: bfefc57554 user: drh tags: cursor-hints)
20:39
If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. (check-in: 3a9bec524e user: drh tags: cursor-hints)
17:01
Increase the version number to 3.8.3. (check-in: 23d00f2287 user: drh tags: trunk)
16:56
At the start of each journaled write transaction, check to see if the database file has been moved, and if it has refuse to start the transaction, returning an SQLITE_READONLY_DBMOVED error code. Writing to a moved or renamed database is still allowed when journal_mode is OFF or MEMORY. (check-in: 369a23e006 user: drh tags: trunk)
16:45
Back out the new device capability. The determination of whether or not a file has moved is now done strictly using a file-control. (Closed-Leaf check-in: 9c59f5af7a user: drh tags: detect-moved-db)
12:29
Actually look at i-node numbers to determine whether or not the database file has moved. (check-in: 2b1884dc14 user: drh tags: detect-moved-db)
2013-12-06
23:25
Performance optimization to the moveToRoot() subroutine in btree.c. (check-in: b5842a70f8 user: drh tags: trunk)
22:45
Use memcmp() instead of the BINARY collating function where possible, for a performance boost. (check-in: c5a3a1af3c user: drh tags: trunk)
22:44
Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make it more readable. (check-in: 2d62d1131f user: drh tags: trunk)
19:58
Add the SQLITE_READONLY_DBMOVED error code to the sqlite3ErrName() function. (check-in: 7789f801d7 user: mistachkin tags: detect-moved-db)
17:23
Only error out on a database file move when attempting to start a write transaction. Assume read transactions are still safe. And make the error SQLITE_READONLY_DBMOVED instead of SQLITE_IOERR_NODB. (check-in: 28348f2ada user: drh tags: detect-moved-db)
15:49
Update to the 3.8.2 release. (check-in: e579661a79 user: drh tags: sessions)
15:37
Add code to detect if the database file is moved or deleted out from under SQLite and return an SQLITE_IOERR_NODB. (check-in: 8759a8e4d8 user: drh tags: detect-moved-db)
14:53
Version 3.8.2 (check-in: 27392118af user: dan tags: trunk, release, version-3.8.2)
2013-12-05
17:12
Fix harmless compiler warnings and improve the MSVC makefile. (check-in: c632567063 user: drh tags: trunk)
16:41
Fix two potential (and apparently harmless) shift overflows discovered by the -fcatch-undefined-behavior option of clang. (check-in: e19eead8c9 user: drh tags: trunk)
2013-12-03
23:33
Make use of the CC nmake macro even when cross-compiling (with MSVC). (Closed-Leaf check-in: aae7b30ebd user: mistachkin tags: memTests)
22:33
Fix harmless compiler warnings. (check-in: a12d214ecc user: mistachkin tags: memTests)
22:32
Add memory subsystem related defines to the compile-time options list. (check-in: 52a44146dd user: mistachkin tags: memTests)
20:51
Merge in trunk changes. (check-in: a2914d6b17 user: drh tags: sessions)
19:49
Remove a branch in STAT4 logic that is no longer reachable after the previous change. (check-in: eca7d3f161 user: drh tags: trunk)
19:16
Fix a possible (and probably harmless) uninitialized variable in STAT3/4. (check-in: 33ad4f9147 user: drh tags: trunk)
18:26
Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms. (check-in: 14f9bc7901 user: dan tags: trunk)
17:09
Fix a typo in fts3varint.test preventing the valgrind permutation test from running. (check-in: b654a4ec72 user: dan tags: trunk)
10:35
Modify test file conflict2.test so that it works with the "inmemory_journal" permutation. (check-in: e4164fd8f7 user: dan tags: trunk)
10:14
Remove an unnecessary branch from the UPDATE logic - one that was also unreachable except following an OOM on x64. (check-in: 72f9727714 user: drh tags: trunk)
09:49
Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer. (check-in: 9d8a0e1321 user: dan tags: trunk)
02:52
Change some unreachable test conditions to NEVER(). (check-in: 7d99858bec user: drh tags: trunk)
00:11
Fix a harmless compiler warning on MacOS. (check-in: 74328de1d7 user: drh tags: trunk)
2013-12-02
21:58
Merge all recent 3.8.2 beta changes from trunk. (check-in: 67c34ccfa9 user: drh tags: sessions)
21:25
Another #if SQLITE_VERSION_NUMBER macro in speedtest1.c for compatibility with older versions of SQLite. (check-in: bc8eacc7f7 user: drh tags: trunk)
01:24
Still more #if SQLITE_VERSION_NUMBER macros in test/speedtest1.c to enable compilation against older versions of SQLite. (check-in: 4b20cf4206 user: drh tags: trunk)
2013-12-01
18:10
Add some #if SQLITE_VERSION_NUMBER macros to test/speedtest1.c in order to make it compatible with older versions of SQLite so that it can be used for historical speed comparisons. (check-in: a9e1627ae7 user: drh tags: trunk)
01:18
Fix typos in the header comment on the sqlite3Atoi64() routine. (check-in: c85e0c546e user: drh tags: trunk)
2013-11-30
12:49
Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling sqlite3BtreeMovetoUnpacked(). (check-in: 55ec474db8 user: drh tags: trunk)
2013-11-29
15:39
Change the name of the CORRUPTIBLE macro to CORRUPT_DB. (check-in: f865be10e8 user: drh tags: trunk)
15:06
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. (check-in: 15e4f63d1f user: drh tags: trunk)
2013-11-28
19:28
Update a few test cases to account for the new error message formats. (check-in: 65a5bce3ff user: dan tags: trunk)
14:14
Remove an assert() condition that may not be true if the database file is corrupt. Update a test case in corruptC.test. (check-in: 0bcf75516f user: dan tags: trunk)
06:17
Fix a test case in temptrigger.test so that it works in auto-vacuum mode. (check-in: c3b7a0e61f user: dan tags: trunk)
2013-11-27
21:53
Merge all recent trunk changes. (check-in: 3a2a1bd478 user: drh tags: sessions)
21:07
Remove unnecessary local variables from sqlite3VdbeExec() in order to reduce stack-space requirements of that routine. (check-in: 81891288d9 user: drh tags: trunk)
19:17
Update documentation of sqlite3_column() for clarity. Update evidence marks on test cases. (check-in: ec2d47a1db user: drh tags: trunk)
18:00
Fix spelling typo in speedtest1.exe. (check-in: ae90300e8e user: mistachkin tags: trunk)
14:50
Fix some harmless compiler warnings in speedtest1.exe. (check-in: c75f561f33 user: drh tags: trunk)
13:48
Additional test cases for skip-scan. (check-in: ce70803f5e user: drh tags: trunk)
13:24
Make sure the colWidth array is correctly initialized in the ".explain" command of the shell. (check-in: ceebcdcaf1 user: drh tags: trunk)
04:22
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. (check-in: 83c0bb9913 user: drh tags: trunk)
04:00
Avoid using the GetVersionEx functions if they are considered deprecated. (check-in: afdca29966 user: mistachkin tags: trunk)
03:01
Avoid using the GetVersionEx functions if they are considered deprecated. (Closed-Leaf check-in: 0ea9e4722b user: mistachkin tags: vs2013)
01:23
Add additional test cases for skip-scan. (check-in: 1ae4915d4d user: drh tags: trunk)
00:45
Add additional test cases and requirements evidence marks for WITHOUT ROWID. (check-in: b408d78810 user: drh tags: trunk)
2013-11-26
23:27
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. (check-in: 0978bac6b8 user: drh tags: trunk)
22:46
Add requirements test cases for determining when an expression is true and when it is false. (check-in: 838654e563 user: drh tags: trunk)
21:18
Changing the CAST behavior of REAL values actually changed a documented requirement. So we also have to change the requirement evidence text to match. (check-in: d84aa44e39 user: drh tags: trunk)
18:22
Reduce the amount of code used to implement OP_SeekGe and similar. (check-in: 8b12a15a2a user: dan tags: trunk)
18:00
Merge in performance enhancements from trunk. (check-in: fc9ae83956 user: drh tags: sessions)
16:51
Fix a possible NULL pointer deference in the wordcount test program. (check-in: 6f91dca0de user: drh tags: trunk)
16:48
Change tclsqlite3.c so that it never invokes ctype macros with signed character arguments. (check-in: c07caabf23 user: drh tags: trunk)
16:20
Do not try to run the atof1.test test script on ARM hardware which lacks the "long double" type. (check-in: fafca560f2 user: drh tags: trunk)
15:45
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. (check-in: 6f53fc7106 user: drh tags: trunk)
01:13
Fix comment. (check-in: 8364af392d user: mistachkin tags: winHdr)
01:00
Further work on Windows header file reform. (check-in: 540f552516 user: mistachkin tags: winHdr)
00:33
Merge updates from trunk. (check-in: c5ab437875 user: mistachkin tags: winHdr)
00:28
Better support for UTF-8 paths on Cygwin. (check-in: 9954327c0f user: mistachkin tags: trunk)
2013-11-25
23:42
Add SQLITE_CONFIG_WIN32_HEAPSIZE option to configure the maximum isolated heap size on Windows. (check-in: 914e6c9d88 user: mistachkin tags: trunk)
22:24
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. (check-in: 011a6be439 user: drh tags: trunk)
21:49
Clarify docs for the SQLITE_CONFIG_WIN32_HEAPSIZE option. (Closed-Leaf check-in: 51e876074a user: mistachkin tags: winHeapSize)
21:41
Remove a NEVER() from a branch that is now reachable during OOM faults. (check-in: 18bdcb05c2 user: drh tags: trunk)
20:50
Optimizations to the sqlite3BtreeMovetoUnpacked() routine in storage engine making it about 17.8% faster, which in turn makes SQLite over 1.2% faster overall. (check-in: 032e89934f user: drh tags: trunk)
20:14
Return an SQLITE_CORRUPT error if the content size field of a table record extends off the end of a page. (Closed-Leaf check-in: b48c4e4021 user: drh tags: btree-optimization)
17:38
Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. (check-in: 5bf2a3feeb user: drh tags: btree-optimization)
16:52
Optimize the skipping of the payload size field when doing a binary search for a rowid. (check-in: 55e5bfa231 user: drh tags: btree-optimization)
16:23
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. (check-in: a74675607f user: drh tags: btree-optimization)
15:01
More optimizations to sqlite3BtreeMovetoUnpacked(). But there are failures in TH3. Committing this intermediate state to facilitate bisecting. (check-in: f80497be44 user: drh tags: btree-optimization)
14:10
More improvements to sqlite3BtreeMovetoUnpacked() performance. (check-in: 8868069823 user: drh tags: btree-optimization)
09:37
Correct line-endings in the new header file. (check-in: 94219b9f1f user: mistachkin tags: winHdr)
09:36
Initial work on isolating usage of the Windows header file. (check-in: 0d42c6b830 user: mistachkin tags: winHdr)
02:38
Performance improvements in sqlite3BtreeMovetoUnpacked(). (check-in: d0fb7acea7 user: drh tags: btree-optimization)
2013-11-24
23:18
Better support for UTF-8 paths on Cygwin. (Closed-Leaf check-in: 484162b6e5 user: mistachkin tags: cygUtf8)
01:14
Add the --scratch parameter to speedtest1. Improved error messages when misconfiguring memory parameters in speedtest1. (check-in: 8f3c767a30 user: drh tags: trunk)
00:46
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. (check-in: 12e612e8e7 user: drh tags: trunk)
2013-11-23
22:45
A much simpler fix is to simply change MEMSYS5 so that it takes any free block of the appropriate size (the first on the list of free blocks) rather than searching for the one with the smallest address. This is also faster than using the min-heap algorithm. Need to research to verify that the allocator still satisfies the Robson proof, however. (Closed-Leaf check-in: 8191b51212 user: drh tags: memsys5-performance)
21:30
Use a heap-based primary queue rather than a linked list to store the available free blocks of each size in MEMSYS5, since this provides faster access to the first available block. (Closed-Leaf check-in: 7d2cdfad0e user: drh tags: memsys5-performance)
21:29
Add newlines at the end of some error messages in speedtest1. (check-in: 6b98f0af7a user: drh tags: trunk)
11:45
Report errors from sqlite3_exec() and sqlite3_config() in speedtest1. Fix a bug in the main testing logic that was found by these error reports. (check-in: 659f1a98ae user: drh tags: trunk)
04:32
Fix the order of parameters to SQLITE_CONFIG_PAGECACHE in the speedtest1.exe program. (check-in: dbe85ef6d2 user: drh tags: trunk)
04:22
Adjust MSVC makefile to avoid using forward slashes in file names. (check-in: facf6deaa6 user: mistachkin tags: trunk)
04:16
Add the "speedtest1.exe" test program. (check-in: fb6f0c6d77 user: drh tags: trunk)
00:27
Add experimental sqlite3_config option to control the native Win32 heap size. (check-in: f09f11e94b user: mistachkin tags: winHeapSize)
2013-11-22
21:32
Fix harmless compiler warning. (check-in: f336c18fb7 user: mistachkin tags: trunk)
00:49
Minor correction to the batch build tool for MSVC. (check-in: 22144c9df2 user: mistachkin tags: trunk)
2013-11-21
23:37
Fix a harmless clang warning in the command-line shell. (check-in: 3d47a556f0 user: drh tags: trunk)
22:02
Slight change to the --timer output on wordcount for better display on windows: Avoid showing the full pathname of the executable. (check-in: b9e047b9e3 user: drh tags: trunk)
21:59
Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: 4e8c5d0795 user: drh tags: trunk)
21:40
Modify wordcount so that timer information appears on standard error instead of standard output. Rename the run-wordcount.bash script to run-wordcount.sh and simplify it so that it stands a better chance of running on non-GNU systems. (check-in: 586c11ed7c user: drh tags: trunk)