SQLite

Timeline
Login

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

100 check-ins occurring around d007bc339b9ea6d5.

2015-06-30
03:13
Change sqlite3ApiExit() so that its first argument is never NULL. (check-in: 791b706ec6 user: drh tags: trunk)
02:47
Put BtCursor objects on a singly-linked list instead of a doubly-linked list. Add the BTCF_Multiple flag. Only invoke saveAllCursors() when using a cursor that has BTCF_Multiple set. (check-in: 429ccef2b3 user: drh tags: trunk)
01:25
Convert several 5-year-old and older NEVER() macros into assert(). (check-in: ed54c14ea8 user: drh tags: trunk)
2015-06-29
23:01
From sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table inserts and go directly to sqlite3BtreeMovetoUnpacked(). (check-in: 53fe685d56 user: drh tags: trunk)
20:53
Add a bypass path in sqlite3PagerWrite() for pages with the PGHDR_WRITEABLE bit set, for about a 1% performance increase. (check-in: ba425a6abb user: drh tags: trunk)
19:08
Combine subjRequiresPage() and subjournalPage() into a single subjournalPageIfRequired() routine. (check-in: 3b65eb56c4 user: drh tags: trunk)
18:29
Add the PGHDR_WRITEABLE bit for PgHdr.flags which is used to distinguish between pages that are on the dirty list and pages that are safe to modify. (check-in: 7c4ef7b7c8 user: drh tags: trunk)
18:14
Fix over-length source code lines in pager.c. (check-in: 14de3d3926 user: drh tags: trunk)
15:41
Fix minor problems in the ota demo application. (check-in: 6aaaec6e63 user: dan tags: trunk)
14:11
Simplifications and performance improvement in pager_write(). (check-in: ab7aeeead3 user: drh tags: trunk)
04:21
Add the new PGHDR_CLEAN bit to PgHdr.flags in pcache.c. This bit is always the opposite of PGHDR_DIRTY. Use the extra bit to avoid a comparison for a small performance boost. (check-in: 8619fc346d user: drh tags: trunk)
03:28
Very small size reduction and performance increase in sqlite3BitvecTest(). (check-in: 9b3a7281bd user: drh tags: trunk)
00:52
Move an assert() and testcase() into their correct position within getAndInitPage(). (check-in: 18115164e1 user: drh tags: trunk)
00:21
Use tail recursion in pcache1Unpin() to get a small size reduction and speed improvement. (check-in: fde70472ae user: drh tags: trunk)
2015-06-28
17:33
Comment typo fix and minor cleanup in the pager. No logic changes. (check-in: 94ef170128 user: drh tags: trunk)
02:58
Avoid unnecessary calls to sqlite3VdbeSerialTypeLen() for integer serial types, for a small size reduction and a speed increase. (check-in: 9cd30d33b1 user: drh tags: trunk)
2015-06-27
23:55
Make greater use of BtCursor.curIntKey. (check-in: 63998471d0 user: drh tags: trunk)
22:49
Add the BtCursor.curIntKey field and use it for a small size reduction and performance boost. (check-in: 4a17df139a user: drh tags: trunk)
20:55
Enhancements to the previous check-in to make it a little smaller and faster. (check-in: 291d9e0c32 user: drh tags: trunk)
19:45
Performance improvements in moveToChild() by shifting some work over to getAndInitPage(). Net improvement is about 800K cycles at cost of 30 bytes. (check-in: 1956a4ce8e user: drh tags: trunk)
15:51
Manually inline the call from getAndInitPage() to btreeGetPage() for a savings of 2.5 million cycles at a cost of less than 100 bytes. (check-in: 7f65b96b40 user: drh tags: trunk)
14:59
Add releasePageNotNull() as an alternative to releasePage() when the argument is guaranteed to be non-NULL, and use it for a small performance gain. (check-in: 9383a68870 user: drh tags: trunk)
03:58
Add the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked() for about a 2 million cycle gain. (check-in: bee94dc351 user: drh tags: trunk)
2015-06-26
20:45
Treat compilation of FTS5 for the loadable extension specially with MSVC. (check-in: 7c610276bb user: mistachkin tags: trunk)
20:25
Merge fts5 branch into trunk. (check-in: d27d9965b5 user: dan tags: trunk)
20:14
Merge latest trunk with this branch. (Closed-Leaf check-in: 8671b9e137 user: dan tags: fts5)
20:13
Remove unnecessary lines from fts3.h and main.mk. (check-in: c1b268ced3 user: dan tags: fts5)
20:08
Fix a segfault that could follow an OOM error in fts5. (check-in: 713239b8cf user: dan tags: fts5)
19:43
Small size reduction and performance increase on the OP_IdxInsert opcode. (check-in: b6bedc2e9c user: drh tags: trunk)
19:33
Merge latest trunk changes with this branch. (check-in: 2a1af0f29e user: dan tags: fts5)
18:50
Fix some cases in the fts5 code where a corrupt database could cause a buffer overread. (check-in: 360c57bbb8 user: dan tags: fts5)
18:47
Further optimization of SQL function dispatch. Improvements to opcode documentation. (check-in: eaddbf296a user: drh tags: trunk)
18:16
Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. (check-in: 2abc44eb3b user: drh tags: trunk)
17:10
Merge changes to get FTS5 working with MSVC. (check-in: 954231d29d user: mistachkin tags: fts5)
16:55
Merge upstream changes. Get the test fixture working with FTS5. Fix compiler warnings. (Closed-Leaf check-in: bfcd16089c user: mistachkin tags: fts5Msvc)
16:42
Remove fts5 initialization code from core file main.c. (check-in: c91a93b343 user: dan tags: fts5)
16:17
Add FTS5 DLL target for MSVC. (check-in: be85b82499 user: mistachkin tags: fts5Msvc)
13:31
Cache the most recently sqlite3_context used by OP_Function and reuse it on subsequent calls, if appropriate. This gives a noticable performance boost. (Closed-Leaf check-in: 2f31bdd1b2 user: drh tags: function-ctx-cache)
04:34
Initial changes to get FTS5 working with MSVC. (check-in: ef2052f81e user: mistachkin tags: fts5Msvc)
03:12
Fix harmless compiler warning in assert statement. (check-in: 7097716cae user: mistachkin tags: trunk)
02:41
Simplify the pcache by not keeping continuous track of page 1 but instead just loading page 1 on the rare occasions when it is actually needed. (check-in: 015302f15e user: drh tags: trunk)
2015-06-25
23:52
Optimization to sqlite3_value_bytes() for the common case that does not require a data transformation. (check-in: 8d79f3a144 user: drh tags: trunk)
20:36
Fix Makefile.in to account for recent changes. Update fts5 test scripts so that they do not run if SQLITE_ENABLE_FTS5 is not defined. (check-in: 3175220747 user: dan tags: fts5)
20:16
Merge latest trunk changes into this branch. (check-in: fcd8f7ce60 user: dan tags: fts5)
20:10
Add a script to combine all fts5 code into a single file - fts5.c - that can be used to build an SQLite loadable extension. (check-in: 46e86b0637 user: dan tags: fts5)
19:53
Simplifications and performance improvements in insertCell(). (check-in: 7d02e6c992 user: drh tags: trunk)
18:36
More simplifications and performance improvements to cell allocation logic associated with allocateSpace(). (check-in: 78da0f69cb user: drh tags: trunk)
16:01
Reorder the terms of a conditional for a small performance gain. (check-in: d67b0ed105 user: drh tags: trunk)
15:44
Merge all the latest enhancements from trunk. (check-in: 924f471291 user: drh tags: sessions)
15:21
Remove a NEVER() that is in fact reachable. (check-in: f824e66b0d user: drh tags: trunk)
15:04
Minor optimization to allocateSpace(). (check-in: d007bc339b user: drh tags: trunk)
13:03
Enhance the Btree object to remember whether or not it is holding an Incrblob cursor. Use this knowledge to improve performance in the common case where it does not. (check-in: 476b11563c user: drh tags: trunk)
02:26
Remove a line of code that doesn't do any useful work. (check-in: 3ee888beb9 user: drh tags: trunk)
02:25
Increase the default timeout on fuzzcheck to 120 seconds - sufficient for running under valgrind on a slow workstation. (check-in: fad0eacc64 user: drh tags: trunk)
2015-06-24
23:44
Add the --timeout option to fuzzcheck. (check-in: a8f4f7fa99 user: drh tags: trunk)
23:17
Fix fuzzcheck so that it works with SQLITE_OMIT_PROGRESS_CALLBACK. (check-in: 7a9c4eb30e user: drh tags: trunk)
18:22
Add "ON CONFLICT" handling to the spellfix module. (check-in: 07937a81c6 user: drh tags: trunk)
17:21
Add "ON CONFLICT" handling to the spellfix module. (Closed-Leaf check-in: 1d04def785 user: dan tags: spellfix-constraints)
14:45
In the fuzzcheck test program, use the progress handler to limit the number of VDBE cycles to avoid getting stuck if the SQL under test contains an infinite CTE loop. Add the --limit-vdbe command-line option. (check-in: fbf9c4325e user: drh tags: trunk)
14:36
Fix the progress handler so that it does not fire too soon during an sqlite3_step() call other than the first. (check-in: b41ef5d6db user: drh tags: trunk)
13:32
Fix a harmless compiler warning. (check-in: 3b6fa95eeb user: drh tags: trunk)
13:25
Rig the fuzzcheck test program so that it times out after 10 seconds in case of an infinite loop in the test case. (check-in: 659cfc9d1e user: drh tags: trunk)
13:05
Update the database fuzz test cases to cover all recent findings. (check-in: 47ba7d96b1 user: drh tags: trunk)
12:44
Add the --rebuild object to fuzzcheck. (check-in: db87664a22 user: drh tags: trunk)
12:24
Prevent an infinite loop while searching a corrupt freelist. (check-in: 4e5424fe89 user: drh tags: trunk)
12:07
Strengthen the new balance_nonroot() code against various corrupt database problems. (check-in: 5ba9834320 user: drh tags: trunk)
10:46
Adjustment to a malloc test so that it accepts a narrow range of values to account for variations in malloc subsystems. (check-in: e0195070f8 user: drh tags: trunk)
01:07
Remove an invalid NEVER() and add a test case to cover it. (check-in: 14b73d2015 user: drh tags: trunk)
00:05
Performance optimization on balance_nonroot() and related routines. 2.6% faster overall with a size increase of less than 750 bytes. (check-in: 25131e7062 user: drh tags: trunk)
2015-06-23
23:31
Mark some branches as unreachable after the recent change that recognizes mismatch result set sizes on compound SELECT statements sooner. (check-in: c8d1f305b6 user: drh tags: trunk)
21:35
Testability improvement. (Closed-Leaf check-in: eed6a33145 user: drh tags: btree-opt2)
18:47
Improve test coverage of fts5. (check-in: df5ccea80e user: dan tags: fts5)
18:24
Multiple overflow cells are always adjacent and sequential. Exploit this invariant for a small size reduction and performance increase and add assert()s to prove the invariant. (check-in: f77f2f48f4 user: drh tags: btree-opt2)
17:09
Faster loading of cell pointers into the b.apCell array in balance_nonroot. (check-in: fda89b0512 user: drh tags: btree-opt2)
16:00
Avoid unnecessary cachedCellSize() calls in the cell partition adjustment phase of balance_nonroot(). (check-in: 6319ee1256 user: drh tags: btree-opt2)
15:36
Change pageInsertArray() and pageFreeArray() so that they use the CellArray object and compute cell sizes as needed, resulting in smaller and faster code. (check-in: f7f4181811 user: drh tags: btree-opt2)
15:06
Merge latest trunk changes with this branch. Add tests for columnsize=0. (check-in: ef44c71a22 user: dan tags: fts5)
14:49
Improvements to the way balance_nonroot() constructs the b.apCell array of pointers to cells. (check-in: ee44bb25b2 user: drh tags: btree-opt2)
13:02
Merge the compound SELECT operator fix from trunk. (check-in: a7be554f4b user: drh tags: btree-opt2)
12:19
Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code. (check-in: 4df852ce26 user: dan tags: trunk)
02:37
Avoid computing cell sizes in balance_nonroot() until they are really needed. This gives an overall 1.7% performance gain for about 1000 extra bytes of code space. (check-in: 43844537e8 user: drh tags: btree-opt2)
2015-06-22
20:02
Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. (check-in: 1687287151 user: drh tags: btree-opt2)
2015-06-20
18:13
Split out all four cases of cellSizePtr() into different methods, each optimized for the specific page type. This gives a 0.36% performance increase at a cost of about 300 bytes of code. (Leaf check-in: 522502ec18 user: drh tags: btree-opt)
14:11
Update the fuzztest data using the latest test vectors discovered by AFL. (check-in: b97f9cf73e user: drh tags: trunk)
13:18
Make sure that the likelihood() function does not mess up generation of result-set code when it is used (inappropropriately) in a result-set expression. (check-in: 7cdbae625e user: drh tags: trunk)
2015-06-19
20:31
Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: 172a864d14 user: drh tags: trunk)
20:08
Fix corner cases involving corrupt varint values in record headers. (Closed-Leaf check-in: 3189116b42 user: drh tags: btree-opt)
18:24
Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: faab0ed928 user: drh tags: btree-opt)
17:19
Add the MemPage.xParseCell method and provide various implementations (variations on the former btreeParseCellPtr()) depending on the page type. (check-in: 41d03d883c user: drh tags: trunk)
15:07
Make cellSizePtr() a method on the MemPage object, with alternative implementations depending on the page type. This results is a small performance improvement and size reduction. (check-in: 02f7e9d7d7 user: drh tags: trunk)
2015-06-18
15:26
Further #ifdef changes in speedtest1.c in order to support SQLite back to version 3.3.9 and perhaps even earlier. (check-in: 9246eca54a user: drh tags: trunk)
14:32
Pervent the likelihood() function from moving ON clause terms of a LEFT JOIN into the WHERE clause. Fix for ticket [5f60b11fc8e23490e2] (check-in: ed96e14adc user: drh tags: trunk)
14:09
Show the values of Expr.flag in the AST of ".selecttrace" (check-in: a84d1004cb user: drh tags: trunk)
12:37
Add #ifdefs to some features speedtest1.c so that it compiles with older versions of SQLite, going back to version 3.5.1. (check-in: f50dd154d3 user: drh tags: trunk)
2015-06-17
23:28
Performance improvement in sqlite3VdbeMemShallowCopy() for the common case where the receiver does not require prior resource deallocation. (check-in: d718ea36dc user: drh tags: trunk)
19:06
Use 'binary' mode for popen with MSVC. (Closed-Leaf check-in: 7b84641e55 user: mistachkin tags: popenMsvc)
18:57
Improve spacing and comment style for the shell. No changes to code. (check-in: 5b547da00d user: mistachkin tags: trunk)
18:24
Improved comments on the fuzzcheck.c test program. No changes to code. (check-in: a7e27d1928 user: drh tags: trunk)
18:18
Merge all recent enhancements and fixes from trunk. (check-in: 199bfb67fd user: drh tags: sessions)
17:08
Fix a uninitialized variable use in the command-line shell when the ".open" command is invoked without any arguments. (check-in: fc4f4d1ecc user: drh tags: trunk)