]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
10 years agoRework the PRAGMA integrity_check logic. Simplify the checkTreePage() routine integrity-check-refactor
drh [Wed, 1 Jul 2015 17:13:45 +0000 (17:13 +0000)] 
Rework the PRAGMA integrity_check logic.  Simplify the checkTreePage() routine
and clean up the error messages generated.

FossilOrigin-Name: 1c52212369692ca7c0b16a14e3a403cd4c5fbffc

10 years agoFix some harmless compiler warnings.
drh [Wed, 1 Jul 2015 04:08:40 +0000 (04:08 +0000)] 
Fix some harmless compiler warnings.

FossilOrigin-Name: 307195c8709d7fd2a642baa8011eb0c88cfdc0ac

10 years agoChange integrity_check to analyze the cells of a page in reverse order, as
drh [Wed, 1 Jul 2015 01:31:14 +0000 (01:31 +0000)] 
Change integrity_check to analyze the cells of a page in reverse order, as
this will tend to insert the cells into the analysis heap in increasing order
by address, which is the most efficient way to load a min-heap.

FossilOrigin-Name: 59ad912c4c1f858e04d27b1b8f25581a5f6e5daf

10 years agoMake use of the _byteswap_ushort() and _byteswap_ulong() compiler intrinsics for...
mistachkin [Tue, 30 Jun 2015 17:28:40 +0000 (17:28 +0000)] 
Make use of the _byteswap_ushort() and _byteswap_ulong() compiler intrinsics for MSVC, when available.

FossilOrigin-Name: fe144dd73f7097a17c24c7812c2a1cc40466e6da

10 years agoMake use of built-in bswap32() and bswap16() functions in GCC/Clang for a
drh [Tue, 30 Jun 2015 15:10:29 +0000 (15:10 +0000)] 
Make use of built-in bswap32() and bswap16() functions in GCC/Clang for a
significant performance improvement there.

FossilOrigin-Name: 8bfcda3d10aec864d71d12a1248c37e4db6f8899

10 years agoOnly use <nowiki>__builtin_bswap16()</nowiki> with GCC 4.8 and later. bswap-functions
drh [Tue, 30 Jun 2015 14:01:20 +0000 (14:01 +0000)] 
Only use <nowiki>__builtin_bswap16()</nowiki> with GCC 4.8 and later.

FossilOrigin-Name: ce8177e3e64d2ac4cd5d9e7757cdd5fcecd7d0ea

10 years agoRemove the use of htonl() in the previous check-in due to linkage issues.
drh [Tue, 30 Jun 2015 13:28:18 +0000 (13:28 +0000)] 
Remove the use of htonl() in the previous check-in due to linkage issues.
Add the get2byteAligned() macro and use it for access to the cell offsets
on btree pages for about a 1% performance gain.

FossilOrigin-Name: 79ff36b7170c9e7e7a9935c8b9d1665867771087

10 years agoMake use of htonl() and <nowiki>__builtin_bswap32()</nowiki> for faster
drh [Tue, 30 Jun 2015 12:47:09 +0000 (12:47 +0000)] 
Make use of htonl() and <nowiki>__builtin_bswap32()</nowiki> for faster
implementations of sqlite3Get4byte() and sqlite3Put4byte().

FossilOrigin-Name: bc27ebd7f73e9fc8e00da6ec82632e439fcce812

10 years agoChange an unreachable branch into an assert() in sqlite3PagerAcquire()
drh [Tue, 30 Jun 2015 11:07:32 +0000 (11:07 +0000)] 
Change an unreachable branch into an assert() in sqlite3PagerAcquire()
and optimize sqlite3PcacheOpenSavepoint() by factoring out rarely used code
into a subroutine.

FossilOrigin-Name: b406b20ecdf0bff63c5c222fab11cb9acee86765

10 years agoOptimization to the sqlite3PcacheFetch() logic.
drh [Tue, 30 Jun 2015 03:57:59 +0000 (03:57 +0000)] 
Optimization to the sqlite3PcacheFetch() logic.

FossilOrigin-Name: d9a0481ce0fd9824b1566f182d68ec46ef091b1b

10 years agoPut all variable declarations for sqlite3PagerWrite()
drh [Tue, 30 Jun 2015 03:34:13 +0000 (03:34 +0000)] 
Put all variable declarations for sqlite3PagerWrite()
at the beginning of the block.  Syntax only - no logic changes.

FossilOrigin-Name: a0fa6b3ba59716e53b8c035b497602050ed0ccb8

10 years agoImplement sqlite3Strlen30() using strlen() from the C library.
drh [Tue, 30 Jun 2015 03:18:33 +0000 (03:18 +0000)] 
Implement sqlite3Strlen30() using strlen() from the C library.

FossilOrigin-Name: 8001aa52bd12f900092387fe3571463e89efd977

10 years agoChange sqlite3ApiExit() so that its first argument is never NULL.
drh [Tue, 30 Jun 2015 03:13:47 +0000 (03:13 +0000)] 
Change sqlite3ApiExit() so that its first argument is never NULL.

FossilOrigin-Name: 791b706ec6c3e80885666e48e01524f0e9a7557e

10 years agoPut BtCursor objects on a singly-linked list instead of a doubly-linked list.
drh [Tue, 30 Jun 2015 02:47:36 +0000 (02:47 +0000)] 
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.

FossilOrigin-Name: 429ccef2b36fc46e92914eb54afd5f800b1a40ff

10 years agoConvert several 5-year-old and older NEVER() macros into assert().
drh [Tue, 30 Jun 2015 01:25:52 +0000 (01:25 +0000)] 
Convert several 5-year-old and older NEVER() macros into assert().

FossilOrigin-Name: ed54c14ea8a72d69d69e0c0d7f6936f54efc04c2

10 years agoFrom sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table inserts
drh [Mon, 29 Jun 2015 23:01:32 +0000 (23:01 +0000)] 
From sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table inserts
and go directly to sqlite3BtreeMovetoUnpacked().

FossilOrigin-Name: 53fe685d56368af78238c8981cc41704929f7660

10 years agoAdd a bypass path in sqlite3PagerWrite() for pages with the PGHDR_WRITEABLE
drh [Mon, 29 Jun 2015 20:53:18 +0000 (20:53 +0000)] 
Add a bypass path in sqlite3PagerWrite() for pages with the PGHDR_WRITEABLE
bit set, for about a 1% performance increase.

FossilOrigin-Name: ba425a6abb9886e6af87b5f6205202db450beba8

10 years agoCombine subjRequiresPage() and subjournalPage() into a single
drh [Mon, 29 Jun 2015 19:08:18 +0000 (19:08 +0000)] 
Combine subjRequiresPage() and subjournalPage() into a single
subjournalPageIfRequired() routine.

FossilOrigin-Name: 3b65eb56c422855ca47f709247205f0c77d98a5c

10 years agoAdd the PGHDR_WRITEABLE bit for PgHdr.flags which is used to
drh [Mon, 29 Jun 2015 18:29:10 +0000 (18:29 +0000)] 
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.

FossilOrigin-Name: 7c4ef7b7c8744af19075bb96d1e0b63e35978ed1

10 years agoFix over-length source code lines in pager.c.
drh [Mon, 29 Jun 2015 18:14:02 +0000 (18:14 +0000)] 
Fix over-length source code lines in pager.c.

FossilOrigin-Name: 14de3d39267a4005a0fa900bab4adc4c104e4084

10 years agoFix minor problems in the ota demo application.
dan [Mon, 29 Jun 2015 15:41:50 +0000 (15:41 +0000)] 
Fix minor problems in the ota demo application.

FossilOrigin-Name: 6aaaec6e63cdf713b0d67e24a892088ff251c82a

10 years agoSimplifications and performance improvement in pager_write().
drh [Mon, 29 Jun 2015 14:11:50 +0000 (14:11 +0000)] 
Simplifications and performance improvement in pager_write().

FossilOrigin-Name: ab7aeeead395a05b91a921ef9ebe9252fffad667

10 years agoAdd the new PGHDR_CLEAN bit to PgHdr.flags in pcache.c. This bit is always
drh [Mon, 29 Jun 2015 04:21:15 +0000 (04:21 +0000)] 
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.

FossilOrigin-Name: 8619fc346d9a5a66a3c4566b4cc032b6b6bf73fd

10 years agoVery small size reduction and performance increase in sqlite3BitvecTest().
drh [Mon, 29 Jun 2015 03:28:43 +0000 (03:28 +0000)] 
Very small size reduction and performance increase in sqlite3BitvecTest().

FossilOrigin-Name: 9b3a7281bd45994edf813a687e4b7a0761697929

10 years agoMove an assert() and testcase() into their correct position within
drh [Mon, 29 Jun 2015 00:52:33 +0000 (00:52 +0000)] 
Move an assert() and testcase() into their correct position within
getAndInitPage().

FossilOrigin-Name: 18115164e12509ec21f34598089a7f1310048819

10 years agoUse tail recursion in pcache1Unpin() to get a small size reduction and
drh [Mon, 29 Jun 2015 00:21:00 +0000 (00:21 +0000)] 
Use tail recursion in pcache1Unpin() to get a small size reduction and
speed improvement.

FossilOrigin-Name: fde70472aebc09b34a517131f676e6847d02b747

10 years agoComment typo fix and minor cleanup in the pager. No logic changes.
drh [Sun, 28 Jun 2015 17:33:11 +0000 (17:33 +0000)] 
Comment typo fix and minor cleanup in the pager.  No logic changes.

FossilOrigin-Name: 94ef17012855b7be725594c34bcea75f34c40190

10 years agoAvoid unnecessary calls to sqlite3VdbeSerialTypeLen() for integer
drh [Sun, 28 Jun 2015 02:58:51 +0000 (02:58 +0000)] 
Avoid unnecessary calls to sqlite3VdbeSerialTypeLen() for integer
serial types, for a small size reduction and a speed increase.

FossilOrigin-Name: 9cd30d33b1d02dc8c55c1d74bdbcefab63ebf2a7

10 years agoMake greater use of BtCursor.curIntKey.
drh [Sat, 27 Jun 2015 23:55:20 +0000 (23:55 +0000)] 
Make greater use of BtCursor.curIntKey.

FossilOrigin-Name: 63998471d023dd846d5583ac856e2acc47ad41ea

10 years agoAdd the BtCursor.curIntKey field and use it for a small size reduction and
drh [Sat, 27 Jun 2015 22:49:10 +0000 (22:49 +0000)] 
Add the BtCursor.curIntKey field and use it for a small size reduction and
performance boost.

FossilOrigin-Name: 4a17df139ac41e29c9a2e58afbd1238a5e94bd36

10 years agoEnhancements to the previous check-in to make it a little smaller and faster.
drh [Sat, 27 Jun 2015 20:55:00 +0000 (20:55 +0000)] 
Enhancements to the previous check-in to make it a little smaller and faster.

FossilOrigin-Name: 291d9e0c328a7bd0f255b0b7e819ca2c909701a3

10 years agoPerformance improvements in moveToChild() by shifting some work over
drh [Sat, 27 Jun 2015 19:45:03 +0000 (19:45 +0000)] 
Performance improvements in moveToChild() by shifting some work over
to getAndInitPage().  Net improvement is about 800K cycles at cost of 30 bytes.

FossilOrigin-Name: 1956a4ce8eca650d98a7f68fd2d82eb8a3d6069f

10 years agoManually inline the call from getAndInitPage() to btreeGetPage() for a
drh [Sat, 27 Jun 2015 15:51:06 +0000 (15:51 +0000)] 
Manually inline the call from getAndInitPage() to btreeGetPage() for a
savings of 2.5 million cycles at a cost of less than 100 bytes.

FossilOrigin-Name: 7f65b96b4017413bd19624570efe8fb2b0f7b991

10 years agoAdd releasePageNotNull() as an alternative to releasePage() when the argument
drh [Sat, 27 Jun 2015 14:59:26 +0000 (14:59 +0000)] 
Add releasePageNotNull() as an alternative to releasePage() when the argument
is guaranteed to be non-NULL, and use it for a small performance gain.

FossilOrigin-Name: 9383a688701ac2c366a308efc287c9c0f8977d4e

10 years agoAdd the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked()
drh [Sat, 27 Jun 2015 03:58:15 +0000 (03:58 +0000)] 
Add the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked()
for about a 2 million cycle gain.

FossilOrigin-Name: bee94dc3510745ba2efa044e8f3299793cfc7e34

10 years agoTreat compilation of FTS5 for the loadable extension specially with MSVC.
mistachkin [Fri, 26 Jun 2015 20:45:43 +0000 (20:45 +0000)] 
Treat compilation of FTS5 for the loadable extension specially with MSVC.

FossilOrigin-Name: 7c610276bb41dbc80fe169d35fe9a3a3f6525635

10 years agoMerge fts5 branch into trunk.
dan [Fri, 26 Jun 2015 20:25:59 +0000 (20:25 +0000)] 
Merge fts5 branch into trunk.

FossilOrigin-Name: d27d9965b5404cd32be1113215fd9feeb5b66acc

10 years agoMerge latest trunk with this branch.
dan [Fri, 26 Jun 2015 20:14:23 +0000 (20:14 +0000)] 
Merge latest trunk with this branch.

FossilOrigin-Name: 8671b9e137275d247e67e3d7d5d9c4cb1f380ff7

10 years agoRemove unnecessary lines from fts3.h and main.mk.
dan [Fri, 26 Jun 2015 20:13:56 +0000 (20:13 +0000)] 
Remove unnecessary lines from fts3.h and main.mk.

FossilOrigin-Name: c1b268ced38259706674ed2fcbf842d3fbd9fb8c

10 years agoFix a segfault that could follow an OOM error in fts5.
dan [Fri, 26 Jun 2015 20:08:25 +0000 (20:08 +0000)] 
Fix a segfault that could follow an OOM error in fts5.

FossilOrigin-Name: 713239b8cf2900e8f7d97646c7f350248b4e804f

10 years agoSmall size reduction and performance increase on the OP_IdxInsert opcode.
drh [Fri, 26 Jun 2015 19:43:55 +0000 (19:43 +0000)] 
Small size reduction and performance increase on the OP_IdxInsert opcode.

FossilOrigin-Name: b6bedc2e9c2f87709673799db9401b95fdb386b0

10 years agoMerge latest trunk changes with this branch.
dan [Fri, 26 Jun 2015 19:33:04 +0000 (19:33 +0000)] 
Merge latest trunk changes with this branch.

FossilOrigin-Name: 2a1af0f29e4c387721ec1fb3a2b55e8605b8401d

10 years agoFix some cases in the fts5 code where a corrupt database could cause a buffer overread.
dan [Fri, 26 Jun 2015 18:50:29 +0000 (18:50 +0000)] 
Fix some cases in the fts5 code where a corrupt database could cause a buffer overread.

FossilOrigin-Name: 360c57bbb8bad6cc84af140f61e0282fa06462b4

10 years agoFurther optimization of SQL function dispatch. Improvements to opcode
drh [Fri, 26 Jun 2015 18:47:53 +0000 (18:47 +0000)] 
Further optimization of SQL function dispatch.  Improvements to opcode
documentation.

FossilOrigin-Name: eaddbf296aee98ffca82adade1b0d2fbefd09d7b

10 years agoCache the sqlite3_context structure in the P4 operand of VDBE programs
drh [Fri, 26 Jun 2015 18:16:52 +0000 (18:16 +0000)] 
Cache the sqlite3_context structure in the P4 operand of VDBE programs
for faster SQL function dispatch.

FossilOrigin-Name: 2abc44eb3b9d489321baa50bc25e17dafbda3687

10 years agoMerge changes to get FTS5 working with MSVC.
mistachkin [Fri, 26 Jun 2015 17:10:12 +0000 (17:10 +0000)] 
Merge changes to get FTS5 working with MSVC.

FossilOrigin-Name: 954231d29d60460d423ecb132bbfb725b0ea375a

10 years agoMerge upstream changes. Get the test fixture working with FTS5. Fix compiler warnings. fts5Msvc
mistachkin [Fri, 26 Jun 2015 16:55:55 +0000 (16:55 +0000)] 
Merge upstream changes.  Get the test fixture working with FTS5.  Fix compiler warnings.

FossilOrigin-Name: bfcd16089cf8c65130c011a9718bf7812685c841

10 years agoRemove fts5 initialization code from core file main.c.
dan [Fri, 26 Jun 2015 16:42:17 +0000 (16:42 +0000)] 
Remove fts5 initialization code from core file main.c.

FossilOrigin-Name: c91a93b343b4d3b1a19afdb5d23d1c508f9779d2

10 years agoAdd FTS5 DLL target for MSVC.
mistachkin [Fri, 26 Jun 2015 16:17:36 +0000 (16:17 +0000)] 
Add FTS5 DLL target for MSVC.

FossilOrigin-Name: be85b82499f63dce4378f29adf8366651e965325

10 years agoInitial changes to get FTS5 working with MSVC.
mistachkin [Fri, 26 Jun 2015 04:34:36 +0000 (04:34 +0000)] 
Initial changes to get FTS5 working with MSVC.

FossilOrigin-Name: ef2052f81e33ca98e85a60f8a78cdd19a7c1c35c

10 years agoFix harmless compiler warning in assert statement.
mistachkin [Fri, 26 Jun 2015 03:12:27 +0000 (03:12 +0000)] 
Fix harmless compiler warning in assert statement.

FossilOrigin-Name: 7097716caed9d4aef49c7e766e41ea74abf5967f

10 years agoSimplify the pcache by not keeping continuous track of page 1 but instead
drh [Fri, 26 Jun 2015 02:41:31 +0000 (02:41 +0000)] 
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.

FossilOrigin-Name: 015302f15e46a087ec92f3644c6741600dbf4306

10 years agoOptimization to sqlite3_value_bytes() for the common case that does not
drh [Thu, 25 Jun 2015 23:52:48 +0000 (23:52 +0000)] 
Optimization to sqlite3_value_bytes() for the common case that does not
require a data transformation.

FossilOrigin-Name: 8d79f3a1443391bee204bb8c49240f44477168db

10 years agoFix Makefile.in to account for recent changes. Update fts5 test scripts so that they...
dan [Thu, 25 Jun 2015 20:36:36 +0000 (20:36 +0000)] 
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.

FossilOrigin-Name: 3175220747f5d4dadd17e09fb1899dc782c90926

10 years agoMerge latest trunk changes into this branch.
dan [Thu, 25 Jun 2015 20:16:23 +0000 (20:16 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: fcd8f7ce601729dc51d880d16b97040c1be16aa2

10 years agoAdd a script to combine all fts5 code into a single file - fts5.c - that can be used...
dan [Thu, 25 Jun 2015 20:10:24 +0000 (20:10 +0000)] 
Add a script to combine all fts5 code into a single file - fts5.c - that can be used to build an SQLite loadable extension.

FossilOrigin-Name: 46e86b0637248fb4d623c97778cc041eabe3636c

10 years agoSimplifications and performance improvements in insertCell().
drh [Thu, 25 Jun 2015 19:53:48 +0000 (19:53 +0000)] 
Simplifications and performance improvements in insertCell().

FossilOrigin-Name: 7d02e6c992ef92e1f77ebc13889e17c028454b06

10 years agoMore simplifications and performance improvements to cell allocation
drh [Thu, 25 Jun 2015 18:36:13 +0000 (18:36 +0000)] 
More simplifications and performance improvements to cell allocation
logic associated with allocateSpace().

FossilOrigin-Name: 78da0f69cb3289e332018864004f319f2764a5c8

10 years agoReorder the terms of a conditional for a small performance gain.
drh [Thu, 25 Jun 2015 16:01:44 +0000 (16:01 +0000)] 
Reorder the terms of a conditional for a small performance gain.

FossilOrigin-Name: d67b0ed1054cbb7ea2cdd74720d4d6e0227cec14

10 years agoRemove a NEVER() that is in fact reachable.
drh [Thu, 25 Jun 2015 15:21:52 +0000 (15:21 +0000)] 
Remove a NEVER() that is in fact reachable.

FossilOrigin-Name: f824e66b0dc120bed227c7446e2663fcad7cc4f6

10 years agoMinor optimization to allocateSpace().
drh [Thu, 25 Jun 2015 15:04:56 +0000 (15:04 +0000)] 
Minor optimization to allocateSpace().

FossilOrigin-Name: d007bc339b9ea6d59a3dd2b0c5e77e9c801b16f6

10 years agoEnhance the Btree object to remember whether or not it is holding an
drh [Thu, 25 Jun 2015 13:03:10 +0000 (13:03 +0000)] 
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.

FossilOrigin-Name: 476b11563c08c6d9c0abd69e4d865c4edcdd45f5

10 years agoRemove a line of code that doesn't do any useful work.
drh [Thu, 25 Jun 2015 02:26:45 +0000 (02:26 +0000)] 
Remove a line of code that doesn't do any useful work.

FossilOrigin-Name: 3ee888beb974e015bd11ae79381b208eaa310f6f

10 years agoIncrease the default timeout on fuzzcheck to 120 seconds - sufficient for
drh [Thu, 25 Jun 2015 02:25:28 +0000 (02:25 +0000)] 
Increase the default timeout on fuzzcheck to 120 seconds - sufficient for
running under valgrind on a slow workstation.

FossilOrigin-Name: fad0eacc64b1810f60cab73bc88ba380f99e4b2d

10 years agoAdd the --timeout option to fuzzcheck.
drh [Wed, 24 Jun 2015 23:44:30 +0000 (23:44 +0000)] 
Add the --timeout option to fuzzcheck.

FossilOrigin-Name: a8f4f7fa99e5e4131c1b59c0ac0597d62cedc0cd

10 years agoFix fuzzcheck so that it works with SQLITE_OMIT_PROGRESS_CALLBACK.
drh [Wed, 24 Jun 2015 23:17:35 +0000 (23:17 +0000)] 
Fix fuzzcheck so that it works with SQLITE_OMIT_PROGRESS_CALLBACK.

FossilOrigin-Name: 7a9c4eb30e6a834da20931b535c2894837d7d5d7

10 years agoAdd "ON CONFLICT" handling to the spellfix module.
drh [Wed, 24 Jun 2015 18:22:51 +0000 (18:22 +0000)] 
Add "ON CONFLICT" handling to the spellfix module.

FossilOrigin-Name: 07937a81c6c90eb7491a843eb65183805f5b675e

10 years agoAdd "ON CONFLICT" handling to the spellfix module. spellfix-constraints
dan [Wed, 24 Jun 2015 17:21:52 +0000 (17:21 +0000)] 
Add "ON CONFLICT" handling to the spellfix module.

FossilOrigin-Name: 1d04def785b6031de68b7f199d400cbb5c76caea

10 years agoIn the fuzzcheck test program, use the progress handler to limit the number
drh [Wed, 24 Jun 2015 14:45:44 +0000 (14:45 +0000)] 
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.

FossilOrigin-Name: fbf9c4325e98120914bb03bdf351b57643f7a8c8

10 years agoFix the progress handler so that it does not fire too soon during an
drh [Wed, 24 Jun 2015 14:36:27 +0000 (14:36 +0000)] 
Fix the progress handler so that it does not fire too soon during an
sqlite3_step() call other than the first.

FossilOrigin-Name: b41ef5d6db107cac2b1b46a955e63414434ee976

10 years agoFix a harmless compiler warning.
drh [Wed, 24 Jun 2015 13:32:10 +0000 (13:32 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: 3b6fa95eebfa01703d9ef4f530674d17e965c512

10 years agoRig the fuzzcheck test program so that it times out after 10 seconds in case
drh [Wed, 24 Jun 2015 13:25:34 +0000 (13:25 +0000)] 
Rig the fuzzcheck test program so that it times out after 10 seconds in case
of an infinite loop in the test case.

FossilOrigin-Name: 659cfc9d1e9db83db171d621f248a7c2a5b183f6

10 years agoUpdate the database fuzz test cases to cover all recent findings.
drh [Wed, 24 Jun 2015 13:05:18 +0000 (13:05 +0000)] 
Update the database fuzz test cases to cover all recent findings.

FossilOrigin-Name: 47ba7d96b1b91858ef1b592374839bc820719b95

10 years agoAdd the --rebuild object to fuzzcheck.
drh [Wed, 24 Jun 2015 12:44:42 +0000 (12:44 +0000)] 
Add the --rebuild object to fuzzcheck.

FossilOrigin-Name: db87664a224f44e01b85570a3f3b6ec1c81d6e0a

10 years agoPrevent an infinite loop while searching a corrupt freelist.
drh [Wed, 24 Jun 2015 12:24:03 +0000 (12:24 +0000)] 
Prevent an infinite loop while searching a corrupt freelist.

FossilOrigin-Name: 4e5424fe89eed346f6cf26a05c72694d1eb9f58f

10 years agoStrengthen the new balance_nonroot() code against various corrupt database
drh [Wed, 24 Jun 2015 12:07:40 +0000 (12:07 +0000)] 
Strengthen the new balance_nonroot() code against various corrupt database
problems.

FossilOrigin-Name: 5ba983432069714afebbb2f0ef22d41be52f7a4c

10 years agoAdjustment to a malloc test so that it accepts a narrow range of values to
drh [Wed, 24 Jun 2015 10:46:25 +0000 (10:46 +0000)] 
Adjustment to a malloc test so that it accepts a narrow range of values to
account for variations in malloc subsystems.

FossilOrigin-Name: e0195070f84f418c46698627a2dcbfcfb94d999c

10 years agoRemove an invalid NEVER() and add a test case to cover it.
drh [Wed, 24 Jun 2015 01:07:30 +0000 (01:07 +0000)] 
Remove an invalid NEVER() and add a test case to cover it.

FossilOrigin-Name: 14b73d201509d3c04f760a08d21f3c499f2870a8

10 years agoPerformance optimization on balance_nonroot() and related routines.
drh [Wed, 24 Jun 2015 00:05:45 +0000 (00:05 +0000)] 
Performance optimization on balance_nonroot() and related routines.
2.6% faster overall with a size increase of less than 750 bytes.

FossilOrigin-Name: 25131e7062125e91c2d60ed2cadf134dd7609124

10 years agoMark some branches as unreachable after the recent change that recognizes
drh [Tue, 23 Jun 2015 23:31:52 +0000 (23:31 +0000)] 
Mark some branches as unreachable after the recent change that recognizes
mismatch result set sizes on compound SELECT statements sooner.

FossilOrigin-Name: c8d1f305b6e9dfc36b8e3f4ab92de4457884d903

10 years agoTestability improvement. btree-opt2
drh [Tue, 23 Jun 2015 21:35:28 +0000 (21:35 +0000)] 
Testability improvement.

FossilOrigin-Name: eed6a3314518cdab809264284d7680385f0d5d2a

10 years agoImprove test coverage of fts5.
dan [Tue, 23 Jun 2015 18:47:55 +0000 (18:47 +0000)] 
Improve test coverage of fts5.

FossilOrigin-Name: df5ccea80e8f0da83af5e595b539687006085120

10 years agoMultiple overflow cells are always adjacent and sequential. Exploit this
drh [Tue, 23 Jun 2015 18:24:25 +0000 (18:24 +0000)] 
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.

FossilOrigin-Name: f77f2f48f48e374a72b6c054142f7a3ec0b1483c

10 years agoFaster loading of cell pointers into the b.apCell array in balance_nonroot.
drh [Tue, 23 Jun 2015 17:09:53 +0000 (17:09 +0000)] 
Faster loading of cell pointers into the b.apCell array in balance_nonroot.

FossilOrigin-Name: fda89b0512477f9da09fd0f4e548ed4b13efd49d

10 years agoAvoid unnecessary cachedCellSize() calls in the cell partition adjustment
drh [Tue, 23 Jun 2015 16:00:24 +0000 (16:00 +0000)] 
Avoid unnecessary cachedCellSize() calls in the cell partition adjustment
phase of balance_nonroot().

FossilOrigin-Name: 6319ee1256b1f7c39dd39a536a39b77b3d10dcac

10 years agoChange pageInsertArray() and pageFreeArray() so that they use the CellArray
drh [Tue, 23 Jun 2015 15:36:34 +0000 (15:36 +0000)] 
Change pageInsertArray() and pageFreeArray() so that they use the CellArray
object and compute cell sizes as needed, resulting in smaller and faster code.

FossilOrigin-Name: f7f41818119bb7bfbd1f1297d294b32f32769cd3

10 years agoMerge latest trunk changes with this branch. Add tests for columnsize=0.
dan [Tue, 23 Jun 2015 15:06:13 +0000 (15:06 +0000)] 
Merge latest trunk changes with this branch. Add tests for columnsize=0.

FossilOrigin-Name: ef44c71a22518727030dd90c0139af8973b05841

10 years agoImprovements to the way balance_nonroot() constructs the b.apCell array of
drh [Tue, 23 Jun 2015 14:49:42 +0000 (14:49 +0000)] 
Improvements to the way balance_nonroot() constructs the b.apCell array of
pointers to cells.

FossilOrigin-Name: ee44bb25b2a88e25ba2afe37cf03ba199692a3a0

10 years agoMerge the compound SELECT operator fix from trunk.
drh [Tue, 23 Jun 2015 13:02:10 +0000 (13:02 +0000)] 
Merge the compound SELECT operator fix from trunk.

FossilOrigin-Name: a7be554f4b8534fc237fa4c6defc38fcd4049707

10 years agoTest that the left and right sides of a compound SELECT operator have the same numbe...
dan [Tue, 23 Jun 2015 12:19:55 +0000 (12:19 +0000)] 
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.

FossilOrigin-Name: 4df852ce26c95d5d23c83dbe9c59d2c3435acddf

10 years agoAvoid computing cell sizes in balance_nonroot() until they are really needed.
drh [Tue, 23 Jun 2015 02:37:30 +0000 (02:37 +0000)] 
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.

FossilOrigin-Name: 43844537e8a372953386663f8177202901ba7566

10 years agoChange the way that balance_nonroot() partitions cells between the sibling
drh [Mon, 22 Jun 2015 20:02:04 +0000 (20:02 +0000)] 
Change the way that balance_nonroot() partitions cells between the sibling
pages such that a scan of the cell size array is not required.

FossilOrigin-Name: 168728715156d756ac8c0df45710d054eee027ec

10 years agoUpdate the fuzztest data using the latest test vectors discovered by AFL.
drh [Sat, 20 Jun 2015 14:11:56 +0000 (14:11 +0000)] 
Update the fuzztest data using the latest test vectors discovered by AFL.

FossilOrigin-Name: b97f9cf73e503c7285ba3a801e1f932f222d96b2

10 years agoMake sure that the likelihood() function does not mess up generation of
drh [Sat, 20 Jun 2015 13:18:34 +0000 (13:18 +0000)] 
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.

FossilOrigin-Name: 7cdbae625eb029538a693d2bebec465a6f65fb90

10 years agoPerformance improvements in btreeParseCell() by inlining the varint decoder.
drh [Fri, 19 Jun 2015 20:31:02 +0000 (20:31 +0000)] 
Performance improvements in btreeParseCell() by inlining the varint decoder.

FossilOrigin-Name: 172a864d14fd9f0e3e97d2a13b22222ae0fedd39

10 years agoFix corner cases involving corrupt varint values in record headers.
drh [Fri, 19 Jun 2015 20:08:39 +0000 (20:08 +0000)] 
Fix corner cases involving corrupt varint values in record headers.

FossilOrigin-Name: 3189116b42c5ecef5e30c8b317f4458bbf8b9086

10 years agoPerformance improvements in btreeParseCell() by inlining the varint decoder.
drh [Fri, 19 Jun 2015 18:24:37 +0000 (18:24 +0000)] 
Performance improvements in btreeParseCell() by inlining the varint decoder.

FossilOrigin-Name: faab0ed928074f3ec7c25e1a2058414fbd9b013c

10 years agoAdd the MemPage.xParseCell method and provide various implementations
drh [Fri, 19 Jun 2015 17:19:34 +0000 (17:19 +0000)] 
Add the MemPage.xParseCell method and provide various implementations
(variations on the former btreeParseCellPtr()) depending on the page type.

FossilOrigin-Name: 41d03d883c4f7ca279eb9dd679f3ab81c8d957d9

10 years agoMake cellSizePtr() a method on the MemPage object, with alternative
drh [Fri, 19 Jun 2015 15:07:14 +0000 (15:07 +0000)] 
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.

FossilOrigin-Name: 02f7e9d7d7b93d0b6bbd6cc0d0359b3b741b9931

10 years agoFurther #ifdef changes in speedtest1.c in order to support SQLite back to
drh [Thu, 18 Jun 2015 15:26:09 +0000 (15:26 +0000)] 
Further #ifdef changes in speedtest1.c in order to support SQLite back to
version 3.3.9 and perhaps even earlier.

FossilOrigin-Name: 9246eca54adaee571dab0c066afaa604fcf9c44f