]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 years agoDeactivate the DISTINCT in a SELECT on the right-hand side of an IN operator,
drh [Thu, 31 Jul 2014 15:44:44 +0000 (15:44 +0000)] 
Deactivate the DISTINCT in a SELECT on the right-hand side of an IN operator,
since it should not make any difference in the output but dues consume extra
memory and CPU time.

FossilOrigin-Name: f4cb53651b1e352fae7378878b830a902bcd9248

10 years agoRe-integrate the recent changes from the 'winMutex' branch back into the Win32 mutex...
mistachkin [Wed, 30 Jul 2014 23:11:16 +0000 (23:11 +0000)] 
Re-integrate the recent changes from the 'winMutex' branch back into the Win32 mutex subsystem.

FossilOrigin-Name: 5360ecb0b8891d0c27f3f02d81b6c7b548361a10

10 years agoAdd three new static mutexes for use by the application. This is a partial
drh [Wed, 30 Jul 2014 21:10:12 +0000 (21:10 +0000)] 
Add three new static mutexes for use by the application.  This is a partial
import of changes from the threads branch.

FossilOrigin-Name: 3aad01960f92c5e77dba64ac1a6c6b063378fb97

10 years agoAdd the "eForce" parameter to the sqlite3_multiplex_shutdown() entry point
drh [Wed, 30 Jul 2014 15:43:05 +0000 (15:43 +0000)] 
Add the "eForce" parameter to the sqlite3_multiplex_shutdown() entry point
in test_multiplex.c.  Shutdown is forced if true.  Shutdown is not done if
there are pending database connections and eForce is false, but an error log
entry is made instead.

FossilOrigin-Name: c7303d0139f7e7f4fa7060b52942e6c6c6d4b622

10 years agoEnsure that the correct number of columns in a UNIQUE index are checked for
drh [Wed, 30 Jul 2014 13:56:48 +0000 (13:56 +0000)] 
Ensure that the correct number of columns in a UNIQUE index are checked for
uniqueness, regardless of whether or not the original table has a ROWID or
if the columns are NOT NULL, etc.  Ticket [9a6daf340df99ba93c].

FossilOrigin-Name: 6b785e92f279cb65746834d5cd25594fd3333342

10 years agoEnhancements and updates to the Win32 mutex subsystem.
mistachkin [Tue, 29 Jul 2014 19:54:03 +0000 (19:54 +0000)] 
Enhancements and updates to the Win32 mutex subsystem.

FossilOrigin-Name: ca9868cdae19045dc522490b34dee0f14d928ebe

10 years agoMerge updates from trunk. winMutex
mistachkin [Tue, 29 Jul 2014 18:03:36 +0000 (18:03 +0000)] 
Merge updates from trunk.

FossilOrigin-Name: 08c9a4ea6353900095a471365a8611a443f5f399

10 years agoAdd the SQLITE_TESTCTRL_ISINIT file control.
drh [Tue, 29 Jul 2014 14:09:21 +0000 (14:09 +0000)] 
Add the SQLITE_TESTCTRL_ISINIT file control.

FossilOrigin-Name: 8b651d4d6cde7efbc0cc7155948f477477be100e

10 years agoHave calls to the xFilter() method of rtree virtual tables ensure that cursor is...
dan [Tue, 29 Jul 2014 11:54:18 +0000 (11:54 +0000)] 
Have calls to the xFilter() method of rtree virtual tables ensure that cursor is initialized before proceeding. Fix for [d2889096e7bdeac].

FossilOrigin-Name: 8cc41b0bf365af47c2061ffe44c86018945dd239

10 years agoEnhancements and updates to the Win32 mutex subsystem.
mistachkin [Tue, 29 Jul 2014 05:49:02 +0000 (05:49 +0000)] 
Enhancements and updates to the Win32 mutex subsystem.

FossilOrigin-Name: 18984c321049a759f6619cfa17fb3f4e7b3e08ea

10 years agoRemove an unreachable branch from the sqlite3_value_numeric_type() interface.
drh [Sat, 26 Jul 2014 20:12:56 +0000 (20:12 +0000)] 
Remove an unreachable branch from the sqlite3_value_numeric_type() interface.

FossilOrigin-Name: 5350229b52b18a4961858a30538c5c75e5bd3048

10 years agoAvoid unnecessary no-op calls to applyNumericAffinity() for a small
drh [Sat, 26 Jul 2014 16:47:23 +0000 (16:47 +0000)] 
Avoid unnecessary no-op calls to applyNumericAffinity() for a small
performance improvement.

FossilOrigin-Name: 413d7287977702fa651c0140bd5cf29021fe3e79

10 years agoTry to fix harmless compiler warnings reported by Fortify.
drh [Fri, 25 Jul 2014 21:35:39 +0000 (21:35 +0000)] 
Try to fix harmless compiler warnings reported by Fortify.

FossilOrigin-Name: e0fa6fdc14ac5458f9200cbae124f8025ea534ea

10 years agoImproved comments on VDBE opcodes, for better documentation. No code
drh [Fri, 25 Jul 2014 18:37:42 +0000 (18:37 +0000)] 
Improved comments on VDBE opcodes, for better documentation.  No code
or logic changes.

FossilOrigin-Name: 2d32e4876e0b162730f81e5c2658be12d64a9a99

10 years agoAdd constraints (enforced only when SQLITE_DEBUG is enabled) on the use of
drh [Fri, 25 Jul 2014 18:01:06 +0000 (18:01 +0000)] 
Add constraints (enforced only when SQLITE_DEBUG is enabled) on the use of
OP_Next and OP_Prev.

FossilOrigin-Name: 2230c74f1efa591770176c9b40e920724a3c39e1

10 years agoImprove the performance of the ANALYZE command by taking advantage of
drh [Thu, 24 Jul 2014 23:23:26 +0000 (23:23 +0000)] 
Improve the performance of the ANALYZE command by taking advantage of
UNIQUE constraints on indices.

FossilOrigin-Name: 114dcf33670fd98a1ebbac0e44f66b2d8bcccddf

10 years agoFix a bug in the whereRangeSkipScanEst() procedure (added by
drh [Thu, 24 Jul 2014 22:41:20 +0000 (22:41 +0000)] 
Fix a bug in the whereRangeSkipScanEst() procedure (added by
check-in [d09ca6d5efad3e4cfa]) where it fails to consider the possibility
of a ROWID column when computing the affinity of a table column.

FossilOrigin-Name: 6aea2258dd7d3967900cefe4cd0af48a7ee7e169

10 years agoAvoid trying to allocation zero bytes when analyzing a unique non-null index. faster-analyze
drh [Thu, 24 Jul 2014 20:25:16 +0000 (20:25 +0000)] 
Avoid trying to allocation zero bytes when analyzing a unique non-null index.

FossilOrigin-Name: 85e2badeeb7f7599eb6fd35512f9bd524f0b1b3f

10 years agoAvoid change tests when analyzing single-column unique indexes after
drh [Thu, 24 Jul 2014 19:54:20 +0000 (19:54 +0000)] 
Avoid change tests when analyzing single-column unique indexes after
getting past the initial NULL entries.

FossilOrigin-Name: 4690e99c07024f40fafba1db8e4487b287b788a9

10 years agoAdd the readfile(FILENAME) and writefile(FILENAME,CONTENT) SQL functions to
drh [Thu, 24 Jul 2014 12:39:59 +0000 (12:39 +0000)] 
Add the readfile(FILENAME) and writefile(FILENAME,CONTENT) SQL functions to
the command-line shell.

FossilOrigin-Name: fb1048cb2b613a0dbfe625a5df05e9dcd736a433

10 years agoAdd support for hexadecimal integer literals in the parser.
drh [Thu, 24 Jul 2014 12:19:41 +0000 (12:19 +0000)] 
Add support for hexadecimal integer literals in the parser.

FossilOrigin-Name: f8f79f28785db716b10c3bc9d6652b98253fd125

10 years agoIn the command-line shell, in CSV output mode, terminate rows with CRNL but
drh [Thu, 24 Jul 2014 12:09:47 +0000 (12:09 +0000)] 
In the command-line shell, in CSV output mode, terminate rows with CRNL but
do not expand NL characters in data into CRNL.  Provide the extra -newline
command-line option and the extra argument to .separator to designate an
alternative newline character sequence for CSV output.

FossilOrigin-Name: 16c8ce10e1530731441e6c4538691b71564684ed

10 years agoAdd experimental "costmult" logic. Only enabled when compiled with
drh [Wed, 23 Jul 2014 23:57:42 +0000 (23:57 +0000)] 
Add experimental "costmult" logic.  Only enabled when compiled with
-DSQLITE_ENABLE_COSTMULT.

FossilOrigin-Name: 729ece40885ed7f52c5981364833fc62281a388b

10 years agoUgh. Consecutive UNIQUE index entries are only distinct if the index is
drh [Wed, 23 Jul 2014 19:37:21 +0000 (19:37 +0000)] 
Ugh.  Consecutive UNIQUE index entries are only distinct if the index is
on NOT NULL columns.  So the previous version was not quite right.  This
check-in fixes the problem.

FossilOrigin-Name: 30033f965030a015fad15e532bcaba1314c8cc0f

10 years agoEnhancements to the hex literal tests. hex-literal
mistachkin [Wed, 23 Jul 2014 19:04:25 +0000 (19:04 +0000)] 
Enhancements to the hex literal tests.

FossilOrigin-Name: a3cc027fa7ca41da23ecd0770a075a48416af020

10 years agoImprove the performance of the ANALYZE command by taking advantage of the
drh [Wed, 23 Jul 2014 18:36:55 +0000 (18:36 +0000)] 
Improve the performance of the ANALYZE command by taking advantage of the
fact that every row of a UNIQUE index is distinct.

FossilOrigin-Name: 3e1e79e1335f7ad33cd35f384f2a063c4aa2253b

10 years agoUpdated documentation on sqlite3_temp_directory. No changes to code.
drh [Wed, 23 Jul 2014 15:51:29 +0000 (15:51 +0000)] 
Updated documentation on sqlite3_temp_directory.  No changes to code.

FossilOrigin-Name: e6225a7bf77a700b318563b1a854b4b3a9e031e1

10 years agoRemove a surplus function prototype. #ifdef code that is not used when
drh [Wed, 23 Jul 2014 14:52:05 +0000 (14:52 +0000)] 
Remove a surplus function prototype.  #ifdef code that is not used when
hex integers are omitted at compile time.

FossilOrigin-Name: a5b383e077e4b277a65920f7cc202f32f07aa9ee

10 years agoChange the hex literal processing so that only the SQL parser understands
drh [Wed, 23 Jul 2014 13:40:49 +0000 (13:40 +0000)] 
Change the hex literal processing so that only the SQL parser understands
hex literals.  Casting and coercing string literals into numeric values does
not understand hexadecimal integers.  This preserves backwards compatibility.
Also:  Throw an error on any hex literal that is too big to fit into 64 bits.

FossilOrigin-Name: 6c6f0de59bf96b79c8ace8c9bfe48c7a6a306a50

10 years agoCasting hex literals directly from string to float always results in a
drh [Wed, 23 Jul 2014 02:07:11 +0000 (02:07 +0000)] 
Casting hex literals directly from string to float always results in a
positive number.

FossilOrigin-Name: 4b86ccdf4f4eb4339a5706e10ad24f01b6c3939e

10 years agoReformatting a few test cases for clarity.
drh [Wed, 23 Jul 2014 01:59:47 +0000 (01:59 +0000)] 
Reformatting a few test cases for clarity.

FossilOrigin-Name: 7e1bbacb11a4689b69856450125cae3d045307af

10 years agoTest cases for hex literals.
drh [Wed, 23 Jul 2014 01:56:32 +0000 (01:56 +0000)] 
Test cases for hex literals.

FossilOrigin-Name: 19054339c47448bcdfd1f7be35daa3826c409077

10 years agoAdd support for parsing C-style hexadecimal literals.
drh [Wed, 23 Jul 2014 01:26:51 +0000 (01:26 +0000)] 
Add support for parsing C-style hexadecimal literals.

FossilOrigin-Name: 34a1f38b7a23c64f5c6e5b34c19a20480be53961

10 years agoWhen running ANALYZE, it is not necessary to check the right-most key column
drh [Tue, 22 Jul 2014 22:46:54 +0000 (22:46 +0000)] 
When running ANALYZE, it is not necessary to check the right-most key column
for changes since that column will always change if none of the previous
columns have.

FossilOrigin-Name: 48f40861db4fbd10725a2b8b606d44fe16d5bd27

10 years agoAdd the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes
drh [Tue, 22 Jul 2014 20:02:19 +0000 (20:02 +0000)] 
Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes
a no-op if the cursor is already open on the same index.  Update the
OR-optimization logic to make use of OP_ReopenIdx in order to avoid
unnecessary cursor open requests sent to the B-Tree layer.

FossilOrigin-Name: 77f412caf0192d3e7fecb377d6d72123d8b64424

10 years agoThe optimization of check-in [b67a6e33f2] does not work (it generates
drh [Tue, 22 Jul 2014 19:14:42 +0000 (19:14 +0000)] 
The optimization of check-in [b67a6e33f2] does not work (it generates
incorrect VDBE code) if an OR term is AND-ed with a constant expression.
So back that optimization out and add a test case to make sure it does not
get added back in.

FossilOrigin-Name: eed754fe93644f4df082eac0c0a7ffc5c78ccd10

10 years agoFix the index name for the shadow tables in the spellfix1 extension so that
drh [Tue, 22 Jul 2014 16:00:49 +0000 (16:00 +0000)] 
Fix the index name for the shadow tables in the spellfix1 extension so that
multiple instances of the spellfix1 virtual table can each have their own
index.

FossilOrigin-Name: 438c348a40383796a710499e4e1b7a6b08f75778

10 years agoCorrection: The maximum SQLITE_MAX_ATTACHED value to avoid overflowing a
drh [Tue, 22 Jul 2014 15:33:31 +0000 (15:33 +0000)] 
Correction:  The maximum SQLITE_MAX_ATTACHED value to avoid overflowing a
signed 8-bit integer is 125, not 127.

FossilOrigin-Name: 48e378029528dac33d29866016128d236a7995d9

10 years agoEnhance the sqlite_stat1.stat parsing to allow additional text parameters
drh [Tue, 22 Jul 2014 14:58:12 +0000 (14:58 +0000)] 
Enhance the sqlite_stat1.stat parsing to allow additional text parameters
at the end.  Unrecognized parameters are silently ignored.

FossilOrigin-Name: ca2a5a2c770fa94cd8db1b1b241ede058a7c58e2

10 years agoExpire prepared statements after running ANALYZE.
drh [Tue, 22 Jul 2014 14:42:16 +0000 (14:42 +0000)] 
Expire prepared statements after running ANALYZE.

FossilOrigin-Name: b083a961f8ac3a6158e822574d73cd63e3103b09

10 years agoEnhance the comment on whereLoopAddBtree(). No changes to code.
drh [Tue, 22 Jul 2014 12:05:32 +0000 (12:05 +0000)] 
Enhance the comment on whereLoopAddBtree().  No changes to code.

FossilOrigin-Name: b22dd165da227a52d88b17a91e80a1701dce61ad

10 years agoFor the OR-optimization, avoid generating OP_OpenRead opcodes that reopen
drh [Tue, 22 Jul 2014 00:40:45 +0000 (00:40 +0000)] 
For the OR-optimization, avoid generating OP_OpenRead opcodes that reopen
exactly the same index.

FossilOrigin-Name: b67a6e33f23ce5f5d9a545fa9d6700a7ed636901

10 years agoLimit the maximum SQLITE_MAX_ATTACHED to 127, since a signed character
drh [Mon, 21 Jul 2014 20:07:17 +0000 (20:07 +0000)] 
Limit the maximum SQLITE_MAX_ATTACHED to 127, since a signed character
is sometimes used to store the database index.

FossilOrigin-Name: f1c76c7c4c7d16855db60d16e23ecdf8d7ca862a

10 years agoAllow the SQLITE_MAX_ATTACHED compile-time option to be larger than 62. The
drh [Mon, 21 Jul 2014 15:44:39 +0000 (15:44 +0000)] 
Allow the SQLITE_MAX_ATTACHED compile-time option to be larger than 62.  The
default limit on the number of attached databases remains 10.

FossilOrigin-Name: 1a817ae2f35fa0396148dda2782cd4f919bf5c6f

10 years agoUpdate the sqlite3_stmt_busy() function so that it correctly returns true for "ROLLBA...
dan [Sat, 19 Jul 2014 17:57:10 +0000 (17:57 +0000)] 
Update the sqlite3_stmt_busy() function so that it correctly returns true for "ROLLBACK" statements that have been stepped but not yet reset.

FossilOrigin-Name: 61cee3c0678f5abd9131a29ab946a5e71f55643e

10 years agoFix harmless compiler warnings in the showdb and showwal tools and in
drh [Sat, 19 Jul 2014 17:49:40 +0000 (17:49 +0000)] 
Fix harmless compiler warnings in the showdb and showwal tools and in
the unicode tokenizer of FTS3.

FossilOrigin-Name: 574cc8eb1448cff67390f2e16cc9b7c3ddd4658b

10 years agoFix some harmess compiler warnings in the FTS3 Unicode module. toolWarnings
mistachkin [Sat, 19 Jul 2014 15:44:29 +0000 (15:44 +0000)] 
Fix some harmess compiler warnings in the FTS3 Unicode module.

FossilOrigin-Name: c01caea5d6ad7a570628b85fb3056ac955ff03dd

10 years agoFix warnings related to having a 64-bit size_t.
mistachkin [Sat, 19 Jul 2014 15:40:39 +0000 (15:40 +0000)] 
Fix warnings related to having a 64-bit size_t.

FossilOrigin-Name: 29ac9336dba2b62d13315cecfc5c4a74cc54087a

10 years agoFix warnings caused by the previous commit.
mistachkin [Sat, 19 Jul 2014 15:30:01 +0000 (15:30 +0000)] 
Fix warnings caused by the previous commit.

FossilOrigin-Name: 89634a419d0c1ef899d0591c7c6ab9290bf665d2

10 years agoFix harmless compiler warnings for MSVC in the showdb/showwal command line tools.
mistachkin [Fri, 18 Jul 2014 21:16:37 +0000 (21:16 +0000)] 
Fix harmless compiler warnings for MSVC in the showdb/showwal command line tools.

FossilOrigin-Name: 6dc7b2f119eb92da17c9e914bdad30a9ceaebdb5

10 years agoUpdate clean targets with the recently added command-line tools.
mistachkin [Fri, 18 Jul 2014 21:02:54 +0000 (21:02 +0000)] 
Update clean targets with the recently added command-line tools.

FossilOrigin-Name: 2beefa68c0c53f663321bebf0ac06f6c936be63f

10 years agoImproved documentation for checkpoints and the busy handler. No changes
drh [Fri, 18 Jul 2014 19:06:39 +0000 (19:06 +0000)] 
Improved documentation for checkpoints and the busy handler.  No changes
to code.

FossilOrigin-Name: ca92c0240681b199c4b8ecc557792b8aea71692d

10 years agoSQLite has long accepted some unadvertised and non-standard join syntax.
drh [Fri, 18 Jul 2014 17:39:48 +0000 (17:39 +0000)] 
SQLite has long accepted some unadvertised and non-standard join syntax.
Add a test to ensure that future versions continue to accept this non-standard
syntax, to avoid breaking legacy applications that use the undefined syntax.

FossilOrigin-Name: 824dde7fc48dbca6d6c956c4eb79bbfa2d139ee5

10 years agoImprovements to the ".fullschema" command in the command-line shell.
drh [Fri, 18 Jul 2014 14:43:29 +0000 (14:43 +0000)] 
Improvements to the ".fullschema" command in the command-line shell.

FossilOrigin-Name: fa80c64caa573297bf43cb5b11d9e7db58567200

11 years agoFix harmless compiler warnings in the fts3view utility program that can occur with...
mistachkin [Mon, 7 Jul 2014 18:03:38 +0000 (18:03 +0000)] 
Fix harmless compiler warnings in the fts3view utility program that can occur with MSVC.

FossilOrigin-Name: 1cec1e030035e5253fb7ebbdfe5c1a3029e4e29b

11 years agoAdd the fts3view utility program to the MSVC makefile.
mistachkin [Mon, 7 Jul 2014 17:57:50 +0000 (17:57 +0000)] 
Add the fts3view utility program to the MSVC makefile.

FossilOrigin-Name: b04751bd59fed513ab615e7f368fe25c64b3607c

11 years agoFix a division-by-zero error in the fts3view utility program. Add the
drh [Mon, 7 Jul 2014 16:07:43 +0000 (16:07 +0000)] 
Fix a division-by-zero error in the fts3view utility program.  Add the
fts3view utility program to the "main.mk" makefile.

FossilOrigin-Name: 64f02699b4bd747e4c2f0debf72d37ec275137d8

11 years agoChange fts3/4 so that the "unicode61" is included in builds by default. It may now...
dan [Thu, 3 Jul 2014 12:18:22 +0000 (12:18 +0000)] 
Change fts3/4 so that the "unicode61" is included in builds by default. It may now be excluded by defining SQLITE_DISABLE_FTS3_UNICODE.

FossilOrigin-Name: 0cc0230ae9cfc9760fd8ef2c25e82576b052dbeb

11 years agoAdd another test to verify that SQLite is using stat4 data for composite primary...
dan [Tue, 1 Jul 2014 15:22:11 +0000 (15:22 +0000)] 
Add another test to verify that SQLite is using stat4 data for composite primary keys on WITHOUT ROWID tables.

FossilOrigin-Name: 0df1fe72f8271abc86cd552027d938c910f90967

11 years agoEnsure that all fields are loaded from the stat4 table for records that correspond...
dan [Tue, 1 Jul 2014 11:54:02 +0000 (11:54 +0000)] 
Ensure that all fields are loaded from the stat4 table for records that correspond to indexes on WITHOUT ROWID tables with composite primary keys.

FossilOrigin-Name: 21981e35062cc6b30e9576786cbf55265a7a4d41

11 years agoBump the version number to 3.8.6.
drh [Mon, 30 Jun 2014 19:28:57 +0000 (19:28 +0000)] 
Bump the version number to 3.8.6.

FossilOrigin-Name: f925e9baafea625f63105f8013abb3807b418379

11 years agoAttempt to use STAT4 information to estimate the selectivity of WHERE clause
drh [Mon, 30 Jun 2014 19:07:58 +0000 (19:07 +0000)] 
Attempt to use STAT4 information to estimate the selectivity of WHERE clause
terms when using the skip-scan optimization.

FossilOrigin-Name: d09ca6d5efad3e4cfa93a4dc711e6ba6079d4b4b

11 years agoFix for ticket [b2fa5424e6fcb15]: Better define the format of the sqlite_stat4
drh [Mon, 30 Jun 2014 18:57:53 +0000 (18:57 +0000)] 
Fix for ticket [b2fa5424e6fcb15]: Better define the format of the sqlite_stat4
file for WITHOUT ROWID tables and make sure the ANALYZE command generates a
file in the appropriate format.  Use the sqlite_stat4 data to enable the use
of WHERE terms that cover all indexed columns plus some prefix of columns
in the primary key.

FossilOrigin-Name: bc2de8095fa9c385db0adf22ca55b0298a33c284

11 years agoFix a problem in where.c with using the stat4 sample data of an index on a WITHOUT... stat4-without-rowid
dan [Mon, 30 Jun 2014 18:02:20 +0000 (18:02 +0000)] 
Fix a problem in where.c with using the stat4 sample data of an index on a WITHOUT ROWID table.

FossilOrigin-Name: 053a210e3169732c58f84cb54c9b6f6df3a8f4ea

11 years agoFix the STAT4 information for WITHOUT ROWID tables.
drh [Mon, 30 Jun 2014 17:07:39 +0000 (17:07 +0000)] 
Fix the STAT4 information for WITHOUT ROWID tables.

FossilOrigin-Name: 5d8628fdffbcf837313958f0ee1ed8a2043d384e

11 years agoFix where.c so that the primary key values appended to every index entry on a WITHOUT...
dan [Mon, 30 Jun 2014 15:23:57 +0000 (15:23 +0000)] 
Fix where.c so that the primary key values appended to every index entry on a WITHOUT ROWID table may be used when useful.

FossilOrigin-Name: 6624a61d16e47ad691c4195ca8a1d68b7348118d

11 years agoOmit non-primary-key columns from the STAT4 samples for WITHOUT ROWID tables.
drh [Mon, 30 Jun 2014 13:56:34 +0000 (13:56 +0000)] 
Omit non-primary-key columns from the STAT4 samples for WITHOUT ROWID tables.
Indexes, both rowid and without-rowid, still hold an exact copy
of the index entry.

FossilOrigin-Name: de826c31589258f0906f87d65796944103e36d5b

11 years agoGenerate complete samples for sqlite_stat4 on WITHOUT ROWID tables.
drh [Mon, 30 Jun 2014 13:32:39 +0000 (13:32 +0000)] 
Generate complete samples for sqlite_stat4 on WITHOUT ROWID tables.
Ticket [b2fa5424e6fcb15b5]

FossilOrigin-Name: 8cb43eddab83c68b2163441df70e0e9496d5fa33

11 years agoAdd makefile targets for various diagnostic tools, such as showstat4.
drh [Mon, 30 Jun 2014 11:14:26 +0000 (11:14 +0000)] 
Add makefile targets for various diagnostic tools, such as showstat4.
Fix harmless compiler warnings in diagnostic tools.

FossilOrigin-Name: 6f86d89b8800c50035da7809bff941d08a33a6a2

11 years agoAdd an OOM fault injection test for the new code on this branch. stat4-skipscan
dan [Sat, 28 Jun 2014 19:06:49 +0000 (19:06 +0000)] 
Add an OOM fault injection test for the new code on this branch.

FossilOrigin-Name: c96de490ac77dd23c108004b95152cce4922fe27

11 years agoAdd further tests to skipscan5.test.
dan [Sat, 28 Jun 2014 17:35:15 +0000 (17:35 +0000)] 
Add further tests to skipscan5.test.

FossilOrigin-Name: 4b8230e8fe93e73a615a46708aed5fa3557b6228

11 years agoAdd header comments on new routines. Rework the sqlite3Stat4Column() routine
drh [Sat, 28 Jun 2014 16:06:44 +0000 (16:06 +0000)] 
Add header comments on new routines.  Rework the sqlite3Stat4Column() routine
so that is (in theory) able to deal with corrupt samples.

FossilOrigin-Name: ef5cdf949bb53a2958fa34e176b4b9eeda269de5

11 years agoFix a problem with using stat4 samples of type text when estimating the rows visited...
dan [Sat, 28 Jun 2014 15:26:10 +0000 (15:26 +0000)] 
Fix a problem with using stat4 samples of type text when estimating the rows visited by a range-query/skip-scan loop.

FossilOrigin-Name: dfb09db6d412f3bc2a71bda393813783580dbad1

11 years agoChange the VDBE to export the sqlite3MemCompare() routine and thus free
drh [Sat, 28 Jun 2014 14:28:06 +0000 (14:28 +0000)] 
Change the VDBE to export the sqlite3MemCompare() routine and thus free
where.c from the dependency on vdbeInt.h.

FossilOrigin-Name: d186d1ac3c47f0d814636c4b8386a6065a294750

11 years agoMerge fixes from trunk with this branch.
dan [Sat, 28 Jun 2014 14:25:32 +0000 (14:25 +0000)] 
Merge fixes from trunk with this branch.

FossilOrigin-Name: 6af219d1b83ec54b3fb4ad4e6216d9ad9ea0fc70

11 years agoFix a couple of problems in estimating the number of rows visited by a range query...
dan [Fri, 27 Jun 2014 20:14:25 +0000 (20:14 +0000)] 
Fix a couple of problems in estimating the number of rows visited by a range query that uses a skip-scan.

FossilOrigin-Name: 219736f54dcd1448af3400e699f1c20755ac6876

11 years agoAdd some more IN operator tests.
mistachkin [Thu, 26 Jun 2014 22:17:21 +0000 (22:17 +0000)] 
Add some more IN operator tests.

FossilOrigin-Name: fb32e374b75b160e7b535e732ced6c34dbb513eb

11 years agoFix compilation issue when STAT4 is not enabled.
mistachkin [Thu, 26 Jun 2014 21:32:09 +0000 (21:32 +0000)] 
Fix compilation issue when STAT4 is not enabled.

FossilOrigin-Name: 74a5454a710e1b7d8575cec2f872e6110aefce17

11 years agoRevise the affinity returned for expressions flagged as 'generic'. Fix for [9a8b09f8e6].
mistachkin [Thu, 26 Jun 2014 21:28:21 +0000 (21:28 +0000)] 
Revise the affinity returned for expressions flagged as 'generic'.  Fix for [9a8b09f8e6].

FossilOrigin-Name: 92f7ad43dbfe4e02490df2f932c3c74fb89064d6

11 years agoAttempt to use sqlite_stat4 data to estimate the number of rows visited by a range...
dan [Thu, 26 Jun 2014 20:21:46 +0000 (20:21 +0000)] 
Attempt to use sqlite_stat4 data to estimate the number of rows visited by a range query that uses a skip-scan. This code is largely untested.

FossilOrigin-Name: 01dc8102592427b71a18c2cb82301d2266dd59c2

11 years agoFix showstat4.c so that it decodes typecodes 8 and 9 correctly.
drh [Tue, 24 Jun 2014 20:19:21 +0000 (20:19 +0000)] 
Fix showstat4.c so that it decodes typecodes 8 and 9 correctly.

FossilOrigin-Name: 9ca737c0b41f87998d842e7772c3e483bb291c50

11 years agoAdd the showstat4.exe utility program for decoding and displaying the
drh [Tue, 24 Jun 2014 00:59:15 +0000 (00:59 +0000)] 
Add the showstat4.exe utility program for decoding and displaying the
content of the sqlite_stat4 table in a database.

FossilOrigin-Name: b4d9f6053d1d95fdc1eab8ce610b51e7df8d896d