]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
10 years agoFaster implementation of the sqlite3ApiExit() routine.
drh [Sat, 23 Aug 2014 20:25:53 +0000 (20:25 +0000)] 
Faster implementation of the sqlite3ApiExit() routine.

FossilOrigin-Name: bd41d394d48516eb7d8ddc46abdcb427aa80173e

10 years agoAnother memory allocator performance optimization.
drh [Sat, 23 Aug 2014 19:42:06 +0000 (19:42 +0000)] 
Another memory allocator performance optimization.

FossilOrigin-Name: 6da6f46d0c43e3b68c21f514ddf8ee663c20f249

10 years agoFix a variable-declaration after code problem in btree.c. Harmless in
drh [Sat, 23 Aug 2014 19:08:09 +0000 (19:08 +0000)] 
Fix a variable-declaration after code problem in btree.c.  Harmless in
GCC and CLANG but unacceptable for MSVC.

FossilOrigin-Name: 45abd5c0bad2847861f3b26a7040490aa9bb1332

10 years agoChanges to sqlite3ScratchMalloc() that make the entire memory allocation
drh [Sat, 23 Aug 2014 19:04:55 +0000 (19:04 +0000)] 
Changes to sqlite3ScratchMalloc() that make the entire memory allocation
interface a little faster and about 100 bytes smaller.

FossilOrigin-Name: f83daa16f65ef35062412e88c214852a4aeb3da2

10 years agoMake the implementation of the sqlite3_aggregate_context() interface faster
drh [Sat, 23 Aug 2014 18:17:19 +0000 (18:17 +0000)] 
Make the implementation of the sqlite3_aggregate_context() interface faster
for second an subsequent invocations.  This helps all aggregate functions to
perform better.

FossilOrigin-Name: 802148f3110462eac939d53ce08eb9a2f6aac739

10 years agoImproved performance in the type handling of arithmetic operators in the VDBE.
drh [Sat, 23 Aug 2014 17:41:15 +0000 (17:41 +0000)] 
Improved performance in the type handling of arithmetic operators in the VDBE.

FossilOrigin-Name: 0c0a603950c97837442d82886f947aab0acbd805

10 years agoPerformance optimization in the applyAffinity() logic inside the VDBE.
drh [Sat, 23 Aug 2014 17:21:37 +0000 (17:21 +0000)] 
Performance optimization in the applyAffinity() logic inside the VDBE.

FossilOrigin-Name: 25f2246be404f38b4f8dd70397cd1454d46358c4

10 years agoAnother performance tweak: Split the sqlite3BtreeCursorHasMoved() routine
drh [Fri, 22 Aug 2014 23:33:03 +0000 (23:33 +0000)] 
Another performance tweak: Split the sqlite3BtreeCursorHasMoved() routine
into two with the second routine named sqlite3BtreeCursorRestore().  The first
now only reports whether or not the cursor has moved and the second tries to
restore the cursor.  This allows the sqlite3VdbeCursorMoveto() routine to be
refactored to avoid stack pointer movements, for a noticable performance gain.

FossilOrigin-Name: ce123b5c592556a8cd38b01fcc91ba76231d3098

10 years agoFactor the saveAllCursors() routine of btree.c into two separate routines,
drh [Fri, 22 Aug 2014 22:26:07 +0000 (22:26 +0000)] 
Factor the saveAllCursors() routine of btree.c into two separate routines,
for a noticable performance improvement.

FossilOrigin-Name: 3eb084390382c108e9b0ff0b29dede58ebb149bc

10 years agoPerformance enhancements in the b-tree mutex logic.
drh [Fri, 22 Aug 2014 21:58:10 +0000 (21:58 +0000)] 
Performance enhancements in the b-tree mutex logic.

FossilOrigin-Name: 8914530644f938a7a98e25ea1fb0bca1f9d79101

10 years agoCombine the pcacheAddToDirtyList() and pcacheRemoveFromDirtyList() routines
drh [Fri, 22 Aug 2014 20:35:29 +0000 (20:35 +0000)] 
Combine the pcacheAddToDirtyList() and pcacheRemoveFromDirtyList() routines
into a single pcacheManageDirtyList() routine.  The resulting binary code is
slightly faster and a few bytes smaller.

FossilOrigin-Name: 6bcf1af6a48dbda5ac6f6b3b02810bdfc4730000

10 years agoPerformance enhancement in sqlite3PutVarint().
drh [Fri, 22 Aug 2014 18:48:25 +0000 (18:48 +0000)] 
Performance enhancement in sqlite3PutVarint().

FossilOrigin-Name: a929be551924144c9bc7aab608404d59e479abb5

10 years agoSplit the sqlite3Error() routine into sqlite3Error() and
drh [Fri, 22 Aug 2014 18:00:11 +0000 (18:00 +0000)] 
Split the sqlite3Error() routine into sqlite3Error() and
sqlite3ErrorWithMsg(), for a slight size reduction and performance increase.

FossilOrigin-Name: cf561d1f0bb60b3d638632d20bd686dda4fa4a04

10 years agoPerformance improvement in the printf() logic by avoiding unnecessary stack
drh [Fri, 22 Aug 2014 15:40:20 +0000 (15:40 +0000)] 
Performance improvement in the printf() logic by avoiding unnecessary stack
pointer movement.

FossilOrigin-Name: f7f2160db014f0ae11ad13c8ad70ad3444124e3e

10 years agoImprove the performance and reduce the size of the sqlite3VdbeSerialGet()
drh [Fri, 22 Aug 2014 15:19:59 +0000 (15:19 +0000)] 
Improve the performance and reduce the size of the sqlite3VdbeSerialGet()
routine by avoiding the use of stack.

FossilOrigin-Name: ebc10e46c15017d7cd232b5f4f3ef67ef740d87f

10 years agoHandle the 4-byte integer case in the stackless routine.
drh [Fri, 22 Aug 2014 14:56:13 +0000 (14:56 +0000)] 
Handle the 4-byte integer case in the stackless routine.

FossilOrigin-Name: 3f55484e81000c75e231f5580632a68e782ded4f

10 years agoGet the sqlite3VdbeSerialGet() routine to run faster by avoiding the use
drh [Fri, 22 Aug 2014 14:34:05 +0000 (14:34 +0000)] 
Get the sqlite3VdbeSerialGet() routine to run faster by avoiding the use
of local variables.

FossilOrigin-Name: 8267d82174099e548a4f78d06af0c6324c89b83d

10 years agoChange a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small
drh [Fri, 22 Aug 2014 13:22:32 +0000 (13:22 +0000)] 
Change a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small
size reduction and performance improvement.

FossilOrigin-Name: 750bb0a0960606ab24037e0992e9f7a17524cc3e

10 years agoEnhance the spellfix extension with the ability to specify a rowid when
drh [Fri, 22 Aug 2014 11:11:30 +0000 (11:11 +0000)] 
Enhance the spellfix extension with the ability to specify a rowid when
inserting new rows.

FossilOrigin-Name: 369c480cda6fa66394b995346bbf51f3298446e1

10 years agoSimplify the interface to the symbol table, saving 600 bytes of code space.
drh [Thu, 21 Aug 2014 20:26:37 +0000 (20:26 +0000)] 
Simplify the interface to the symbol table, saving 600 bytes of code space.

FossilOrigin-Name: 14b0f561fe15622b61c6676c9c455dca6b9ba5f0

10 years agoFix a faulty assert() statement. Add comments to clarify the behavior of
drh [Thu, 21 Aug 2014 14:10:23 +0000 (14:10 +0000)] 
Fix a faulty assert() statement.  Add comments to clarify the behavior of
the sqlite3OpenTableAndIndices() routine in insert.c.  Add test cases to
verify that the assert() statement is not firing inappropriately.
Ticket [369d57fb8e5ccdff06f1].

FossilOrigin-Name: 7029b3404d3f5f698a496934f3a3f2972051b257

10 years agoIncrease the version number to 3.8.7
drh [Wed, 20 Aug 2014 23:42:50 +0000 (23:42 +0000)] 
Increase the version number to 3.8.7

FossilOrigin-Name: 91594aae0725388765070c80039dfe1bf126392d

10 years agoEnhancements to skip-scan such that it is operable when a middle column of
drh [Wed, 20 Aug 2014 23:38:07 +0000 (23:38 +0000)] 
Enhancements to skip-scan such that it is operable when a middle column of
an index is skipped while the left-most column is constrained in the WHERE
clause.

FossilOrigin-Name: bc985caa7816f1f873ad8e4467c5278399f315ce

10 years agoA small performance improvement in freeSpace() by special-casing the
drh [Wed, 20 Aug 2014 18:43:44 +0000 (18:43 +0000)] 
A small performance improvement in freeSpace() by special-casing the
relatively common case of an empty freelist.

FossilOrigin-Name: 49f44d355ff70744e4951baca2481c7c2b6c02b3

10 years agoReimplement the freeSpace() routine in btree.c so that it runs faster.
drh [Wed, 20 Aug 2014 17:56:27 +0000 (17:56 +0000)] 
Reimplement the freeSpace() routine in btree.c so that it runs faster.

FossilOrigin-Name: fe4fd014b42b7b158ca968f1535b5636c67769f6

10 years agoRefactor local variable names in the freeSpace() routine of btree.c for
drh [Wed, 20 Aug 2014 14:37:09 +0000 (14:37 +0000)] 
Refactor local variable names in the freeSpace() routine of btree.c for
improved understandability.

FossilOrigin-Name: 7e63089a191f29aefde05e89bb612f3036cfa034

10 years agoSize reduction and performance improvements in btree.c and the
drh [Wed, 20 Aug 2014 13:35:45 +0000 (13:35 +0000)] 
Size reduction and performance improvements in btree.c and the
allocateSpace() routine.  Also fix an assert() in freeSpace().

FossilOrigin-Name: 121308fa869ad490a6924798d276c0ff32759acc

10 years agoAdd SQLITE_API macros in front of interface routines in the test_intarray.c
drh [Wed, 20 Aug 2014 13:25:06 +0000 (13:25 +0000)] 
Add SQLITE_API macros in front of interface routines in the test_intarray.c
extension.

FossilOrigin-Name: eea0661798e10018615854c871f24be0f8bb2ff9

10 years agoChange an assert() added by the previous commit into a testcase(). btree-speedup
drh [Wed, 20 Aug 2014 13:17:43 +0000 (13:17 +0000)] 
Change an assert() added by the previous commit into a testcase().
Fix a separate assert() in btree.c:freeSpace().

FossilOrigin-Name: fe51d3aa0ce7021213293a0647e31164073e78f7

10 years agoFurther size reduction and performance improvement in btree.c:allocateSpace().
drh [Wed, 20 Aug 2014 11:56:14 +0000 (11:56 +0000)] 
Further size reduction and performance improvement in btree.c:allocateSpace().

FossilOrigin-Name: 1cb1cd64930a6bc371143f7d2e77eb1c51498cb0

10 years agoFix a typo in the showdb usage message.
dan [Wed, 20 Aug 2014 10:42:16 +0000 (10:42 +0000)] 
Fix a typo in the showdb usage message.

FossilOrigin-Name: 6c66beae97ba1799c908d3a33371dedbc7f3f58c

10 years agoMinor performance improvement and size reduction for the btree-page space
drh [Wed, 20 Aug 2014 00:54:46 +0000 (00:54 +0000)] 
Minor performance improvement and size reduction for the btree-page space
allocator.

FossilOrigin-Name: 73637d12e31f5489efe37d8cf4ab50a1911d4c75

10 years agoModify the memsubsys1-3.1.4 test so that it does not fail arbitrarily due
drh [Tue, 19 Aug 2014 23:04:49 +0000 (23:04 +0000)] 
Modify the memsubsys1-3.1.4 test so that it does not fail arbitrarily due
to variations in the behavior of system malloc().

FossilOrigin-Name: d280157da0b5275f3e3c875d2dcfb9998d374ac0

10 years agoA better fix for the sqlite3_trace() problem.
drh [Tue, 19 Aug 2014 20:41:36 +0000 (20:41 +0000)] 
A better fix for the sqlite3_trace() problem.
Ticket [11d5aa455e0d98f3c1e6a]

FossilOrigin-Name: 44d5bd4cc3f76e9a151ba0abae1092bd184af264

10 years agoMake sure the sqlite3_trace() callback is invoked, even if the prepared
drh [Tue, 19 Aug 2014 20:27:40 +0000 (20:27 +0000)] 
Make sure the sqlite3_trace() callback is invoked, even if the prepared
statement was marked "expired" before it ever entered sqlite3_step().
Ticket [11d5aa455e0d98f3c1e6a08].

FossilOrigin-Name: 0d4d3df4bc5e75ce1543b5539a1e9e279d2a062f

10 years agoImprovements to output formatting with the ".trace" command in the
drh [Tue, 19 Aug 2014 19:28:00 +0000 (19:28 +0000)] 
Improvements to output formatting with the ".trace" command in the
command-line shell.

FossilOrigin-Name: d09d63c07748839e9b778a769b183bdd614c6c13

10 years agoMinor changes to do with the Tcl tea extension package autoconf system.
dan [Tue, 19 Aug 2014 09:15:41 +0000 (09:15 +0000)] 
Minor changes to do with the Tcl tea extension package autoconf system.

FossilOrigin-Name: f10a6111262ce6ee6984c64fa0e0023642eca27d

10 years agoRefactor the names of state objects in the command-line shell implementation..
drh [Mon, 18 Aug 2014 13:45:42 +0000 (13:45 +0000)] 
Refactor the names of state objects in the command-line shell implementation..

FossilOrigin-Name: 11a70e1ae7f05d06e4e09c9d20db0444b8881584

10 years agoFix compiler warnings on WinCE.
drh [Fri, 15 Aug 2014 16:13:07 +0000 (16:13 +0000)] 
Fix compiler warnings on WinCE.

FossilOrigin-Name: 28a379fcd43389ad3249eff51a621d0bb7c81640

10 years agoVersion 3.8.6 version-3.8.6
drh [Fri, 15 Aug 2014 11:46:33 +0000 (11:46 +0000)] 
Version 3.8.6

FossilOrigin-Name: 9491ba7d738528f168657adb43a198238abde19e

10 years agoFix an assert that can fail if the database file is corrupted.
dan [Thu, 14 Aug 2014 19:53:37 +0000 (19:53 +0000)] 
Fix an assert that can fail if the database file is corrupted.

FossilOrigin-Name: 3f45b8192dad7fb1f027cbaa694046e3c1b3e278

10 years agoFix compiler warnings on WinCE. winCeWarn
mistachkin [Thu, 14 Aug 2014 18:31:56 +0000 (18:31 +0000)] 
Fix compiler warnings on WinCE.

FossilOrigin-Name: cc910b8e0c45e7387024f3a729003e2fef08b198

10 years agoFix typos in comments used to help generate documentation. No changes to code.
drh [Thu, 14 Aug 2014 13:06:25 +0000 (13:06 +0000)] 
Fix typos in comments used to help generate documentation.  No changes to code.

FossilOrigin-Name: 13a2d90a2869c53b79754de39045bbbdbc7688e3

10 years agoAdd icon to the Windows shell executable. This is a resource change only, no changes...
mistachkin [Thu, 14 Aug 2014 02:59:51 +0000 (02:59 +0000)] 
Add icon to the Windows shell executable.  This is a resource change only, no changes to code.

FossilOrigin-Name: f5cce9db109a2bbe9a05b4c01b076a51d5fad8ba

10 years agoMinor change to unixDelete for VxWorks with a DOS filesystem.
drh [Wed, 13 Aug 2014 11:39:42 +0000 (11:39 +0000)] 
Minor change to unixDelete for VxWorks with a DOS filesystem.

FossilOrigin-Name: f01d42cc8b00d2b7c4f14defcb05fdc493cf1bfd

10 years agoFix where9.test so that it works with the "no_optimization" permutation.
dan [Tue, 12 Aug 2014 20:13:22 +0000 (20:13 +0000)] 
Fix where9.test so that it works with the "no_optimization" permutation.

FossilOrigin-Name: d46adf9d8f741838b9c30f915231d6a3986c3591

10 years agoFix compilation issue in the Win32 VFS when manually defining SQLITE_WIN32_NO_ANSI.
mistachkin [Tue, 12 Aug 2014 16:13:37 +0000 (16:13 +0000)] 
Fix compilation issue in the Win32 VFS when manually defining SQLITE_WIN32_NO_ANSI.

FossilOrigin-Name: 6715991296886c2a02b9a285a1e61189ad1f79c0

10 years agoImprove the comments associated with SQLITE_TEST_REALLOC_STRESS and add
drh [Tue, 12 Aug 2014 14:29:20 +0000 (14:29 +0000)] 
Improve the comments associated with SQLITE_TEST_REALLOC_STRESS and add
an extra assert() to prove an assumption.

FossilOrigin-Name: 35c454616321d480ecbc4efdf6869bbcdf0d3aa2

10 years agoRun a test with TEST_REALLOC_STRESS and OMIT_LOOKASIDE defined as part of releasetest...
dan [Tue, 12 Aug 2014 14:06:13 +0000 (14:06 +0000)] 
Run a test with TEST_REALLOC_STRESS and OMIT_LOOKASIDE defined as part of releasetest.tcl on Linux/x86-64.

FossilOrigin-Name: a1baf3a7b177728cdfcd6d9345a0d6bf0a8887c0

10 years agoIf SQLITE_TEST_REALLOC_STRESS is defined, extend the op-code array used by virtual...
dan [Tue, 12 Aug 2014 13:38:52 +0000 (13:38 +0000)] 
If SQLITE_TEST_REALLOC_STRESS is defined, extend the op-code array used by virtual-machine programs by one element at a time, instead of doubling its size with each realloc().

FossilOrigin-Name: 4c291827224b84487a38e7ccba2edabc0f15b5ba

10 years agoFix typos in the VxWorks code of os_unix.c.
drh [Tue, 12 Aug 2014 12:19:25 +0000 (12:19 +0000)] 
Fix typos in the VxWorks code of os_unix.c.

FossilOrigin-Name: 19682e8fdc4a3b7884dba3e4387763e435ec16e6

10 years agoAdd a test to ensure that the problem fixed by [a179e41e40] does not recur.
dan [Tue, 12 Aug 2014 09:36:08 +0000 (09:36 +0000)] 
Add a test to ensure that the problem fixed by [a179e41e40] does not recur.

FossilOrigin-Name: 31356f2cae26278660e6bd360ad35e57261d977c

10 years agoFix an assert() statement in the SELECT code generator that was
drh [Tue, 12 Aug 2014 01:23:07 +0000 (01:23 +0000)] 
Fix an assert() statement in the SELECT code generator that was
incorrect following an OOM error.

FossilOrigin-Name: a179e41e40dba4c19a488985f77777acd27b689d

10 years agoModify GetVersionEx Win32 VFS fix for use with the test suite.
mistachkin [Mon, 11 Aug 2014 17:51:23 +0000 (17:51 +0000)] 
Modify GetVersionEx Win32 VFS fix for use with the test suite.

FossilOrigin-Name: fd2221768b45d9006bbb2919a4977cf2791826d6

10 years agoFurther clarification and typo fixes for the previous comment change.
drh [Mon, 11 Aug 2014 17:41:53 +0000 (17:41 +0000)] 
Further clarification and typo fixes for the previous comment change.

FossilOrigin-Name: 87ef9e2f293afd89901fed6be45b0f0052df6846

10 years agoClarify the comment explaining the meaning of the SQLITE_WIN32_GETVERSIONEX
drh [Mon, 11 Aug 2014 17:40:30 +0000 (17:40 +0000)] 
Clarify the comment explaining the meaning of the SQLITE_WIN32_GETVERSIONEX
macro in the Windows VFS.

FossilOrigin-Name: 69714287dbbdbf4ef2a2c5e99ed740ae7d27e051

10 years agoFix for #ifdef issue with GetVersionEx in the Win32 VFS.
mistachkin [Mon, 11 Aug 2014 17:38:38 +0000 (17:38 +0000)] 
Fix for #ifdef issue with GetVersionEx in the Win32 VFS.

FossilOrigin-Name: 1a0d466dd48163c86de4774035fe4a30c1c55311

10 years agoAdd a few more requirements tests.
drh [Mon, 11 Aug 2014 17:37:27 +0000 (17:37 +0000)] 
Add a few more requirements tests.

FossilOrigin-Name: b5652439d5d770f0edeb80c8f55fa7cc515482e3

10 years agoUpdates to evidence marks and requirements. No changes to code.
drh [Mon, 11 Aug 2014 15:54:11 +0000 (15:54 +0000)] 
Updates to evidence marks and requirements.  No changes to code.

FossilOrigin-Name: 62d38308b519a5362f559b296a0cf1acccf8f673

10 years agoFix harmless compiler warnings.
drh [Mon, 11 Aug 2014 14:21:32 +0000 (14:21 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 52b03f045edf6fc29f9ba9a5cac53a59f0feb0eb

10 years agoChanges that will perhaps enable SQLite to work better on VxWorks.
drh [Mon, 11 Aug 2014 13:53:30 +0000 (13:53 +0000)] 
Changes that will perhaps enable SQLite to work better on VxWorks.

FossilOrigin-Name: de27c742c0dcda20b51339598bf6094a8dcf5fb9

10 years agoUpdate requirements marks. No changes to code.
drh [Fri, 8 Aug 2014 18:26:20 +0000 (18:26 +0000)] 
Update requirements marks.  No changes to code.

FossilOrigin-Name: 7556bd9aa5db1b9cd92d0e48effcda9fe96f3128

10 years agoImprovements to the way the query planner handles sorting costs, so that
drh [Fri, 8 Aug 2014 17:49:55 +0000 (17:49 +0000)] 
Improvements to the way the query planner handles sorting costs, so that
very large sorting costs do not overwhelm the loop costs.

FossilOrigin-Name: bdaa6947371a60a31b6a13267b0ba6e46df2a8ce

10 years agoFix a buffer overrun in the previous commit. query-planner-fix
dan [Fri, 8 Aug 2014 17:25:33 +0000 (17:25 +0000)] 
Fix a buffer overrun in the previous commit.

FossilOrigin-Name: 43c59c85436dc8001c81f4aac7f5231b13d741cb

10 years agoBecause SQLite internally calculates query plan costs using a logarithmic scale,...
dan [Fri, 8 Aug 2014 16:52:28 +0000 (16:52 +0000)] 
Because SQLite internally calculates query plan costs using a logarithmic scale, very large estimated sorting costs can cause all other estimated costs to be rounded down to zero. In these cases break ties between plans with the same total cost by comparing the costs with sorting excluded. This is an alternative fix for the same problem as addressed by [2af630c572].

FossilOrigin-Name: 299b9570279ded7158d22349ef93384286a5c755

10 years agoThe SQLITE_IOERR_BLOCKED extended error code is not longer used, so remove
drh [Fri, 8 Aug 2014 15:38:11 +0000 (15:38 +0000)] 
The SQLITE_IOERR_BLOCKED extended error code is not longer used, so remove
assert() statements and documentation for that error code.  Also make other
documentation improvements.

FossilOrigin-Name: 36b7c5cefcad6bad044806092593c84876fee8bc

10 years agoReworking the documentation on integer result codes. This is a comment
drh [Fri, 8 Aug 2014 12:51:42 +0000 (12:51 +0000)] 
Reworking the documentation on integer result codes.  This is a comment
and documentation change only.  There are no changes to code.

FossilOrigin-Name: 54f1df7b63166f14b2f0d5955c546820e5cbdec9

10 years agoWhen the estimated sorting cost overwhelms the estimated lookup cost, ensure
drh [Thu, 7 Aug 2014 20:42:33 +0000 (20:42 +0000)] 
When the estimated sorting cost overwhelms the estimated lookup cost, ensure
that lookup costs are still taken into account when selecting a lookup
algorithm.

FossilOrigin-Name: 2af630c5720a4d71f22a952af29346a09bd8dfd0

10 years agoClarify the computation of compatible isOrdered by in the plan solver of
drh [Thu, 7 Aug 2014 20:37:01 +0000 (20:37 +0000)] 
Clarify the computation of compatible isOrdered by in the plan solver of
the query planner.

FossilOrigin-Name: b5e8fd575a80334160de0aac8084ed5cd28816a5

10 years agoRemove the extraneous debugging printf() from the previous check-in.
drh [Thu, 7 Aug 2014 20:25:37 +0000 (20:25 +0000)] 
Remove the extraneous debugging printf() from the previous check-in.

FossilOrigin-Name: 8f04d2c0084afa6381e78847c9aa296498d448cb

10 years agoWhen the estimated cost to do a sort overwhelms the estimated cost to do
drh [Thu, 7 Aug 2014 16:50:00 +0000 (16:50 +0000)] 
When the estimated cost to do a sort overwhelms the estimated cost to do
individual table lookups, make sure that the table lookup costs are still
taken into consideration when selecting the lookup algorithm.

FossilOrigin-Name: ec5d84ba69c100d9565425ed74040a49e410ea03

10 years agoA couple more harmless compiler warnings eliminated.
drh [Wed, 6 Aug 2014 18:50:51 +0000 (18:50 +0000)] 
A couple more harmless compiler warnings eliminated.

FossilOrigin-Name: bcf6d775f90f4d1ba018a1b965f2f710df130f01

10 years agoFix two more harmless compiler warnings. Make sure the fts3_unicode2.c file
drh [Wed, 6 Aug 2014 17:49:13 +0000 (17:49 +0000)] 
Fix two more harmless compiler warnings.  Make sure the fts3_unicode2.c file
is in sync with mkunicode.tcl.

FossilOrigin-Name: a2a60307ea68a3230952a56cb65369ba0a208967

10 years agoFix harmless compiler warnings. In the command-line shell, report if the
drh [Wed, 6 Aug 2014 14:36:53 +0000 (14:36 +0000)] 
Fix harmless compiler warnings.  In the command-line shell, report if the
".system" command returns a non-zero result.

FossilOrigin-Name: 1202e9771f6d699dbf5268368108a3527d06d799

10 years agoFix an obsolete comment in the func.c source file. No changes to code.
drh [Wed, 6 Aug 2014 11:58:40 +0000 (11:58 +0000)] 
Fix an obsolete comment in the func.c source file.  No changes to code.

FossilOrigin-Name: 5c6bb57d90bad32785d6d9cdf110a825bbc5ec73

10 years agoOn the windows VFS, do not try to make InterlockedCompareExchange an
drh [Wed, 6 Aug 2014 11:57:54 +0000 (11:57 +0000)] 
On the windows VFS, do not try to make InterlockedCompareExchange an
overloadable function, since sometimes it is a macro.

FossilOrigin-Name: ab1a751e1304749bef5bc5c833f9abed8950f7d0

10 years agoIn the Win32 VFS, work around InterlockedCompareExchange() being a macro on some...
mistachkin [Wed, 6 Aug 2014 03:06:01 +0000 (03:06 +0000)] 
In the Win32 VFS, work around InterlockedCompareExchange() being a macro on some platforms (e.g. x64).

FossilOrigin-Name: 7be244ce129d6502f3a3e3f3e8a1dd61ef71d878

10 years agoFix typos in the opcode documentation. Comment changes only. No changes
drh [Wed, 6 Aug 2014 01:08:07 +0000 (01:08 +0000)] 
Fix typos in the opcode documentation.  Comment changes only.  No changes
to code.

FossilOrigin-Name: 717245d48714c08156c9b7636aaa6c3a402bad66

10 years agoA simpler fix for ticket [3a88d85f36704eebe1] - one that uses less code.
drh [Wed, 6 Aug 2014 00:29:06 +0000 (00:29 +0000)] 
A simpler fix for ticket [3a88d85f36704eebe1] - one that uses less code.
The error message is not quite as good, but as this error has apparently
not previously occurred in over 8 years of heavy use, that is not seen as
a serious problem.

FossilOrigin-Name: 0ad1ed8ef0b5fb5d8db44479373b2b93d8fcfd66

10 years agoEnsure that aggregate functions are not used when evaluating a default
drh [Tue, 5 Aug 2014 21:31:08 +0000 (21:31 +0000)] 
Ensure that aggregate functions are not used when evaluating a default
value for a table column.
Candidate fix for ticket [3a88d85f36704eebe134f7].

FossilOrigin-Name: 29ba812825bf06ef230f2480bba0579653f0a52d

10 years agoAdd the ability to evaluate IN operators as a sequence of comparisons as
drh [Tue, 5 Aug 2014 19:16:22 +0000 (19:16 +0000)] 
Add the ability to evaluate IN operators as a sequence of comparisons as
an alternative to the long-standing algorithm of building a lookup table.
Use the new implementation in circumstances where it is likely to be faster,
such as when the RHS of the IN changes between successive evaluations.

FossilOrigin-Name: 952868216854e8355edf57af62bd1a6bcb70ce61

10 years agoRename the internal Schema.flags field to Schema.schemaFlags.
drh [Tue, 5 Aug 2014 11:04:21 +0000 (11:04 +0000)] 
Rename the internal Schema.flags field to Schema.schemaFlags.

FossilOrigin-Name: 5ae80b3c8f032528359c8c762505ce24da8db96f

10 years agoImproved VdbeCoverage() macros. A few minor simplifications to generated IN-operator-improvements
drh [Tue, 5 Aug 2014 00:53:51 +0000 (00:53 +0000)] 
Improved VdbeCoverage() macros.  A few minor simplifications to generated
VDBE code.

FossilOrigin-Name: 01f60027ad1841051fa493a646141445f8971357

10 years agoPart of the change in the previous check-in was incorrect and can result
drh [Mon, 4 Aug 2014 21:26:58 +0000 (21:26 +0000)] 
Part of the change in the previous check-in was incorrect and can result
in an incorrect UPDATE for WITHOUT ROWID tables.  This check-in fixes the
problem.

FossilOrigin-Name: ee5f6eae57a656d09a4b3f7fbef664b2c696ddb4

10 years agoFurther enhancements to IN-operator processing.
drh [Mon, 4 Aug 2014 18:50:54 +0000 (18:50 +0000)] 
Further enhancements to IN-operator processing.

FossilOrigin-Name: 7fdf26da1d2f40b80f9e44ff6f5af22ace8f95f3

10 years agoRefinements to the enhanced IN-operator logic.
drh [Mon, 4 Aug 2014 16:39:39 +0000 (16:39 +0000)] 
Refinements to the enhanced IN-operator logic.

FossilOrigin-Name: 92ba2821468ecbfac2469161d81c873de67b2243

11 years agoEnhancements to the code generator for the IN operator that result in much
drh [Sat, 2 Aug 2014 21:03:33 +0000 (21:03 +0000)] 
Enhancements to the code generator for the IN operator that result in much
faster queries in some cases, for example when the RHS of the IN operator
changes for each row of a large table scan.

FossilOrigin-Name: 436e884215e2b33ca3fbb555362237b12827c07a

11 years agoRemove (newly) incorrect preprocessor check to fix build on WinRT.
mistachkin [Sat, 2 Aug 2014 20:44:13 +0000 (20:44 +0000)] 
Remove (newly) incorrect preprocessor check to fix build on WinRT.

FossilOrigin-Name: ba7826542908eac2e14789d183d0b3e35b143fed

11 years agoA better comment on the generated code for the NULL-in-RHS-of-IN detection
drh [Fri, 1 Aug 2014 21:12:35 +0000 (21:12 +0000)] 
A better comment on the generated code for the NULL-in-RHS-of-IN detection
logic.

FossilOrigin-Name: 9bc1c730a366e75b760b58e7a343d39165b2a469

11 years agoImproved detection and handling of NULL values on the RHS of a IN operator.
drh [Fri, 1 Aug 2014 21:00:53 +0000 (21:00 +0000)] 
Improved detection and handling of NULL values on the RHS of a IN operator.

FossilOrigin-Name: 468e730036edac22cfeb9ea3515aa16e6bcd6650

11 years agoRemove an unnecessary OP_Null in the IN-operator logic. Attempt to clarify
drh [Fri, 1 Aug 2014 18:00:24 +0000 (18:00 +0000)] 
Remove an unnecessary OP_Null in the IN-operator logic.  Attempt to clarify
comments explaining the IN-operator code, though it is not clear that the
comments are correct even yet - more work to be done.

FossilOrigin-Name: c11e55fabbc718cb324ecd3540453c25db98f50c

11 years agoClean up the IN operator code generation logic to make it easier to reason
drh [Fri, 1 Aug 2014 15:51:36 +0000 (15:51 +0000)] 
Clean up the IN operator code generation logic to make it easier to reason
about.  In the process, improve code generation to omit some unused OP_Null
operations.

FossilOrigin-Name: 7c6fbcfe6ed5739e8e4639b7b123fbf9828cbfc0

11 years agoThe idea of coding IN operator with a short list on the RHS as an OR expression
drh [Fri, 1 Aug 2014 15:34:36 +0000 (15:34 +0000)] 
The idea of coding IN operator with a short list on the RHS as an OR expression
turns out to be helpful.  If the list is of length 1 or 2, the OR expression
is very slightly faster, but the ephemeral table approach is clearly better for
all list lengths greater than 2.  Better to keep the code simple.

FossilOrigin-Name: e13175d3579e1045165bab091b3b28951d691704

11 years agoBegin making changes to the IN operator in an attempt to make it run faster
drh [Fri, 1 Aug 2014 14:46:57 +0000 (14:46 +0000)] 
Begin making changes to the IN operator in an attempt to make it run faster
and to make the code easier to understand.

FossilOrigin-Name: ee0fd6aaf94cda1dce3fe752bfe3b0f83e0043f1

11 years agoEnhance the PRAGMA integrity_check command to detect UNIQUE and NOT NULL
drh [Fri, 1 Aug 2014 01:40:33 +0000 (01:40 +0000)] 
Enhance the PRAGMA integrity_check command to detect UNIQUE and NOT NULL
constraint violations.

FossilOrigin-Name: 9abcf2698c09f4f6a44a68e74f9f6b538f3253d6

11 years agoRefactoring: Change "pIndex->onError!=OE_None" to use a macro:
drh [Thu, 31 Jul 2014 22:59:04 +0000 (22:59 +0000)] 
Refactoring:  Change "pIndex->onError!=OE_None" to use a macro:
"IsUniqueIndex(pIndex)".  Easier to understand that way.

FossilOrigin-Name: e75b26ee357bb3d3c1a539b05d633ebf314726d7

11 years agoOmit a pointless OP_Null when processing a value-list RHS of an IN operator
drh [Thu, 31 Jul 2014 20:16:08 +0000 (20:16 +0000)] 
Omit a pointless OP_Null when processing a value-list RHS of an IN operator
where the LHS is a rowid.

FossilOrigin-Name: 1361450a9dfe9476e8df98f370a3695752252245

11 years agoOptimizations to the OS sub-type checking in the Win32 VFS.
mistachkin [Thu, 31 Jul 2014 18:54:01 +0000 (18:54 +0000)] 
Optimizations to the OS sub-type checking in the Win32 VFS.

FossilOrigin-Name: 1e5489faff093d6a8e538061e45532f9050e9459

11 years agoAdd a missing call to "test_sqlite3_log" to multiplex.test.
dan [Thu, 31 Jul 2014 18:14:37 +0000 (18:14 +0000)] 
Add a missing call to "test_sqlite3_log" to multiplex.test.

FossilOrigin-Name: 0708f9df23a325349f658741358c5994b5c4c873

11 years agoFix a leaked statement handle in pager2.test.
dan [Thu, 31 Jul 2014 17:35:40 +0000 (17:35 +0000)] 
Fix a leaked statement handle in pager2.test.

FossilOrigin-Name: 47457b0488abcbec2137abf706c1d677563b9ea5