]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
8 years agoAdd the --recovery-mode option to the CLI ".dump" command. This involves dump-recovery
drh [Thu, 9 Mar 2017 16:32:39 +0000 (16:32 +0000)] 
Add the --recovery-mode option to the CLI ".dump" command.  This involves
enhancing the "PRAGMA reverse_unordered_selects" command to accept a "TOGGLE"
option.  Recovery mode used to be always on.  Now it is opt-in.  Not sure this
is the correct approach.  Also not sure if TOGGLE is a good feature to have
on boolean PRAGMA statements.

FossilOrigin-Name: 5dc82a155dee76e4c8c12e8e62284a10a52a43c8

8 years agoBegin moving separate boolean variables in the ShellState object of the CLI
drh [Thu, 9 Mar 2017 13:50:49 +0000 (13:50 +0000)] 
Begin moving separate boolean variables in the ShellState object of the CLI
into the shellFlgs bitmask.

FossilOrigin-Name: 50eec5d9aa38fab1a85d788356ffdaf6c35d9ece

8 years agoMake sure the database connection is open prior to running the ".sha3sum"
drh [Wed, 8 Mar 2017 18:06:20 +0000 (18:06 +0000)] 
Make sure the database connection is open prior to running the ".sha3sum"
command.

FossilOrigin-Name: 2ea300fb8f7c497f3f092dc91f4305d8431c27d9

8 years agoIn the ".sha3sum" command, if there is a LIKE pattern, show the hashes for
drh [Wed, 8 Mar 2017 17:56:54 +0000 (17:56 +0000)] 
In the ".sha3sum" command, if there is a LIKE pattern, show the hashes for
each table separately.  Without a LIKE pattern, show a single hash over the
entire database.

FossilOrigin-Name: 30f878832820ce7ccc4627c4f0f98fbe82f8b0f6

8 years agoAdd the ".sha3sum" command to the CLI - used to compute a cryptographic hash
drh [Wed, 8 Mar 2017 16:10:34 +0000 (16:10 +0000)] 
Add the ".sha3sum" command to the CLI - used to compute a cryptographic hash
of the <em>content</em> of a database file or of individual tables with in
that file.

FossilOrigin-Name: fc663799075a22b0a61a6a114116bb2d1b96d4ab

8 years agoImproved comments explaining the sha3_query() format. Fix a performance #ifdef
drh [Wed, 8 Mar 2017 15:03:12 +0000 (15:03 +0000)] 
Improved comments explaining the sha3_query() format.  Fix a performance #ifdef
error in the sha3 implementation.

FossilOrigin-Name: 54ef7abd7f5b16f4b29c9519d283e142c9340fbf

8 years agoAdd the shathree.c extension for implementing SHA3() and SHA3_QUERY() SQL
drh [Wed, 8 Mar 2017 13:50:40 +0000 (13:50 +0000)] 
Add the shathree.c extension for implementing SHA3() and SHA3_QUERY() SQL
functions.

FossilOrigin-Name: f7ca9193ddafd3676406bdfeb1b7d21182c2a3c1

8 years agoIn the CLI, avoid unnecessary identifier quoting in the ".dump" output.
drh [Wed, 8 Mar 2017 12:25:18 +0000 (12:25 +0000)] 
In the CLI, avoid unnecessary identifier quoting in the ".dump" output.
Also add new ".dump" test cases.

FossilOrigin-Name: de65f907610a59e64cbf2214789c11f7117a86a6

8 years agoAdd the --preserve-rowids option to the ".dump" command in the CLI.
drh [Wed, 8 Mar 2017 11:44:00 +0000 (11:44 +0000)] 
Add the --preserve-rowids option to the ".dump" command in the CLI.

FossilOrigin-Name: c60aee24714a47ce12ee2a4dcefb9f55211d3761

8 years agoAdd test script ext/rbu/rbu_round_trip.tcl. Uses "dbselftest" to test that
dan [Tue, 7 Mar 2017 20:03:25 +0000 (20:03 +0000)] 
Add test script ext/rbu/rbu_round_trip.tcl. Uses "dbselftest" to test that
"rbu" and "sqldiff" work together.

FossilOrigin-Name: 961e79da73b4550b3e5b0f9a617133a76485db67

8 years agoPerformance optimization in the tokenizer/parser loop.
drh [Tue, 7 Mar 2017 14:38:52 +0000 (14:38 +0000)] 
Performance optimization in the tokenizer/parser loop.

FossilOrigin-Name: 2cb71583d631cd417acbeebbb4ee950573a9deef

8 years agoMinor comment typo fixes. No changes to code.
drh [Tue, 7 Mar 2017 12:18:23 +0000 (12:18 +0000)] 
Minor comment typo fixes.  No changes to code.

FossilOrigin-Name: 01cd9fb176cde30658233e36aad44e4a5519612e

8 years agoMore size and speed improvements in the expression name resolver.
drh [Tue, 7 Mar 2017 03:40:48 +0000 (03:40 +0000)] 
More size and speed improvements in the expression name resolver.

FossilOrigin-Name: e0a3d39f51a50420bae97e2bc9a8c01a5b0d3db8

8 years agoSmall size reduction and performance increase in the name resolver routine
drh [Tue, 7 Mar 2017 03:25:52 +0000 (03:25 +0000)] 
Small size reduction and performance increase in the name resolver routine
for expressions.

FossilOrigin-Name: 1a3554e1d71b666325ff377fae5329d79ce5c05f

8 years agoMake the default MASK argument for "PRAGMA optimize" be 0xfffe, to allow for
drh [Mon, 6 Mar 2017 23:51:16 +0000 (23:51 +0000)] 
Make the default MASK argument for "PRAGMA optimize" be 0xfffe, to allow for
future expansion of up to 14 new default-on optimizations.

FossilOrigin-Name: 73019a8bba29fd07f73559cd00d5346fa822b439

8 years agoFix a typo in a comment. No changes to code.
drh [Mon, 6 Mar 2017 20:44:13 +0000 (20:44 +0000)] 
Fix a typo in a comment.  No changes to code.

FossilOrigin-Name: ec529bf11b16c801ea438e57d208ff7e4cedf1f9

8 years agoAdd an initial implementation of the "PRAGMA optimize" command.
drh [Mon, 6 Mar 2017 17:33:58 +0000 (17:33 +0000)] 
Add an initial implementation of the "PRAGMA optimize" command.

FossilOrigin-Name: 137aeb2b160888100bc1e871b00860149e5f6196

8 years agoMerge updates from trunk. auto-analyze
drh [Mon, 6 Mar 2017 11:39:34 +0000 (11:39 +0000)] 
Merge updates from trunk.

FossilOrigin-Name: 5f7fc79aa06ca9b79664c50c3c277c98a74ff9a0

8 years agoIf a reprepare is needed after binding to a variable with a number larger
drh [Fri, 3 Mar 2017 21:51:40 +0000 (21:51 +0000)] 
If a reprepare is needed after binding to a variable with a number larger
than 32, set only the high-order bit of the Vdbe.expmask rather than setting
all bits.  This could potentially result in fewer false-positive reprepares.

FossilOrigin-Name: 45797feefe90cb7da53256b0c42fdaa1221d0a27

8 years agoRemove an redundant function call from the date/time function implementation.
drh [Fri, 3 Mar 2017 21:36:26 +0000 (21:36 +0000)] 
Remove an redundant function call from the date/time function implementation.

FossilOrigin-Name: 4a04c48a311b19ba5e566877dc5baff543c41aba

8 years agoFix another corner-case for the 'start of ...' modifier in the date/time
drh [Fri, 3 Mar 2017 20:43:43 +0000 (20:43 +0000)] 
Fix another corner-case for the 'start of ...' modifier in the date/time
functions.  Related to ticket [6097cb92745327a1].

FossilOrigin-Name: 8831f4393dda42b3434e7767968caea84bbca2af

8 years agoFix a case introduced by [4cd2a967] where a corrupt database could cause a buffer...
dan [Fri, 3 Mar 2017 20:02:53 +0000 (20:02 +0000)] 
Fix a case introduced by [4cd2a967] where a corrupt database could cause a buffer overwrite.

FossilOrigin-Name: 5d0455fece514552ad7f283d56526f53d7c688bd

8 years agoBefore beginning an incremental checkpoint in RBU, sync the directory
dan [Fri, 3 Mar 2017 16:51:46 +0000 (16:51 +0000)] 
Before beginning an incremental checkpoint in RBU, sync the directory
containing the target database file. This ensures that the new directory entry
created by renaming the *-oal file to *-wal is synced to disk.

FossilOrigin-Name: 915a9a28783fbb2f4c0794eb4264ce8c0b9d42f7

8 years agoFix a bug in the 'start of ...' date/time modifiers when they follow a
drh [Thu, 2 Mar 2017 23:40:21 +0000 (23:40 +0000)] 
Fix a bug in the 'start of ...' date/time modifiers when they follow a
julian day number.  Fix for ticket [6097cb92745327a1].

FossilOrigin-Name: 081dbcfb6d82528cefecb36c4491fa6e1a790b17

8 years agoFix another RBU case similar to the previous. This one for systems where the
dan [Thu, 2 Mar 2017 16:56:48 +0000 (16:56 +0000)] 
Fix another RBU case similar to the previous. This one for systems where the
sector-size is larger than the page-size.

FossilOrigin-Name: 4012bb3aa91927156ba149caa4e5c622b0729d79

8 years agoWhen saving the state of an RBU update in the incremental-checkpoint phase,
dan [Thu, 2 Mar 2017 14:51:47 +0000 (14:51 +0000)] 
When saving the state of an RBU update in the incremental-checkpoint phase,
sync the database file. Otherwise, if a power failure occurs and the RBU
update resumed following system recovery, the database may become corrupt.

FossilOrigin-Name: edee6a80e1cc7e6a2b8c3c7f76dd794fc8ab9a72

8 years agoAdd an optional bitmask of allowed optimizations on the "PRAGMA optimize"
drh [Thu, 2 Mar 2017 14:17:21 +0000 (14:17 +0000)] 
Add an optional bitmask of allowed optimizations on the "PRAGMA optimize"
command.  The 0x01 bit is Debug Mode.

FossilOrigin-Name: a35388eef4096c1856b025dbd90143409d4a72d3

8 years agoMerge recent trunk enhancements.
drh [Thu, 2 Mar 2017 13:22:04 +0000 (13:22 +0000)] 
Merge recent trunk enhancements.

FossilOrigin-Name: c60cdb47612c05c252613e50a8ac10635469fdfe

8 years agoMake sure the Vdbe.expmask value is set correctly in sqlite3VdbeSwap().
drh [Thu, 2 Mar 2017 13:13:30 +0000 (13:13 +0000)] 
Make sure the Vdbe.expmask value is set correctly in sqlite3VdbeSwap().
This fixes a problem introduced by [a8fd7052].

FossilOrigin-Name: 29f54b899e5cf22ece98ab41c39c41d75a4b228d

8 years agoFix a use-after-free problem in the shell tool code that could occur if an SQL
dan [Wed, 1 Mar 2017 11:30:27 +0000 (11:30 +0000)] 
Fix a use-after-free problem in the shell tool code that could occur if an SQL
statement were executed after an ".open" command with invalid options.

FossilOrigin-Name: ac760db0727209db0a816e112ea5f47e54d54dac

8 years agoMake PATH handling more robust in the batch tools for MSVC.
mistachkin [Mon, 27 Feb 2017 17:16:27 +0000 (17:16 +0000)] 
Make PATH handling more robust in the batch tools for MSVC.

FossilOrigin-Name: 23a8917e848a999533bc66467f7cb2f4f3d45bc1

8 years agoImprove performance of fts5 writes by writing the "averages" record once at
dan [Mon, 27 Feb 2017 17:06:56 +0000 (17:06 +0000)] 
Improve performance of fts5 writes by writing the "averages" record once at
the end of each transaction instead of every time the table is updated.

FossilOrigin-Name: 2b210d691462b463796e7948399133c296e89ebf

8 years agoAdd an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and
dan [Mon, 27 Feb 2017 16:15:29 +0000 (16:15 +0000)] 
Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and
fts5 modifying the last-insert-rowid unintuitively from within commit
processing.

FossilOrigin-Name: 952a3906b30a818e4574bb85f57150577d04f74e

8 years agoAdd an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and set-last-insert-rowid
dan [Mon, 27 Feb 2017 14:52:48 +0000 (14:52 +0000)] 
Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and
fts5 modifying the last-insert-rowid unintuitively from within commit
processing.

FossilOrigin-Name: fe41bb5632a5d438acfd682809f1bd12315b970a

8 years agoRemove references to special handling in virtual table methods from the
dan [Mon, 27 Feb 2017 12:23:52 +0000 (12:23 +0000)] 
Remove references to special handling in virtual table methods from the
documentation for sqlite3_last_insert_rowid().

FossilOrigin-Name: 660f9569d76e4ff1f5bd4f37f640e6a4fc2cf87d

8 years agoAdd an 'extern "C"' block to header file sqlite3userauth.h.
dan [Sat, 25 Feb 2017 20:57:46 +0000 (20:57 +0000)] 
Add an 'extern "C"' block to header file sqlite3userauth.h.

FossilOrigin-Name: ffd61fb449a510b2fc90caf86b266733051cc365

8 years agoOptimize defragmentPage() in the case where the page contains either one or
dan [Sat, 25 Feb 2017 17:47:31 +0000 (17:47 +0000)] 
Optimize defragmentPage() in the case where the page contains either one or
two free-blocks and a small number of fragmented bytes.

FossilOrigin-Name: 4cd2a9672c59ea4b3b4cf3d2f139af3c18a8e833

8 years agoTweak the code on this branch to detect b-tree page corruption in the same cases... defragmentpage-opt
dan [Sat, 25 Feb 2017 16:24:02 +0000 (16:24 +0000)] 
Tweak the code on this branch to detect b-tree page corruption in the same cases as the trunk.

FossilOrigin-Name: f9863b39d96dce6cb5e49a5f3a445ff3d897a951

8 years agoOptimize defragmentPage() in the case where the page contains either one or
dan [Fri, 24 Feb 2017 19:58:22 +0000 (19:58 +0000)] 
Optimize defragmentPage() in the case where the page contains either one or
two free-blocks and a small number of fragmented bytes.

FossilOrigin-Name: 202b1c0276aec6b8da64d3277de1ad91c9d62d80

8 years agoSave a few bytes and a few cycles by setting Vdbe.expmask to zero for
dan [Thu, 23 Feb 2017 16:30:16 +0000 (16:30 +0000)] 
Save a few bytes and a few cycles by setting Vdbe.expmask to zero for
statements prepared using legacy interface sqlite3_prepare().

FossilOrigin-Name: a8fd705258643863493476f8b42ee981608a339f

8 years agoAdd two NEVER() operators in the sqlite3BtreeRowCountEst() routine.
drh [Thu, 23 Feb 2017 02:15:33 +0000 (02:15 +0000)] 
Add two NEVER() operators in the sqlite3BtreeRowCountEst() routine.

FossilOrigin-Name: 7a959f6d1ea038988cdb4c02d6f37abaec2580a0

8 years agoDo a single OP_Expire at the very end of "PRAGMA optimize", and omit the
drh [Thu, 23 Feb 2017 00:58:36 +0000 (00:58 +0000)] 
Do a single OP_Expire at the very end of "PRAGMA optimize", and omit the
OP_Expire on ANALYZE commands invoked by the pragma.

FossilOrigin-Name: 188300a337c87b7ee0dd1f4b9a4f1bd80e70cca4

8 years agoChange the name of the analyze_as_needed pragma to "optimize". Enhance the
drh [Wed, 22 Feb 2017 20:24:10 +0000 (20:24 +0000)] 
Change the name of the analyze_as_needed pragma to "optimize".  Enhance the
comment (which will become documentation, assuming these changes land on trunk)
to explain that the optimize pragma is likely to be enhanced in various ways
in future releases and that applications should not depend upon the current
behavior.

FossilOrigin-Name: 9fced545a6f80c55d6dc4a6106cb2d3569566b3e

8 years agoMerge integrity_check and other improvements from trunk.
drh [Wed, 22 Feb 2017 19:49:54 +0000 (19:49 +0000)] 
Merge integrity_check and other improvements from trunk.

FossilOrigin-Name: fe073905081b421405ca425ca03c5b8b0ff5f2c8

8 years agoMove a branch condition in analyze.c inside an #ifdef SQLITE_ENABLE_STAT4 block.
dan [Wed, 22 Feb 2017 19:41:16 +0000 (19:41 +0000)] 
Move a branch condition in analyze.c inside an #ifdef SQLITE_ENABLE_STAT4 block.

FossilOrigin-Name: d6afd98de3ee8b714dfd6477ead955096f623972

8 years agoImprove the performance of ANALYZE when SQLITE_ENABLE_STAT4 is defined.
dan [Wed, 22 Feb 2017 19:27:51 +0000 (19:27 +0000)] 
Improve the performance of ANALYZE when SQLITE_ENABLE_STAT4 is defined.

FossilOrigin-Name: 737a82444065752785c643b1d29ca097c828effb

8 years agoImprovements to PRAGMA integrity_check.
drh [Wed, 22 Feb 2017 18:53:13 +0000 (18:53 +0000)] 
Improvements to PRAGMA integrity_check.
Verify CHECK constraints.
Verify NOT NULL constraints even on table that lack indexes.
Verify CHECK and NOT NULL constraints with PRAGMA quick_check.

FossilOrigin-Name: aa02bd3c95e374008b930d296c88dfafaf11c65a

8 years agoCleanup and simplification of the output row count limit control of integrity-check-improvements
drh [Wed, 22 Feb 2017 18:04:42 +0000 (18:04 +0000)] 
Cleanup and simplification of the output row count limit control of
PRAGMA integrity_check.

FossilOrigin-Name: 5af7d72ed9ec758283d78ceb46627d72021c1c60

8 years agoFix integrity_check so that it verifies NOT NULL constraints even for tables
drh [Wed, 22 Feb 2017 15:11:36 +0000 (15:11 +0000)] 
Fix integrity_check so that it verifies NOT NULL constraints even for tables
that have no indexes.  Enhance quick_check so that it verifies NOT NULL and
CHECK constraints.

FossilOrigin-Name: 5264844b069cdc20f456acee9f5b2b97c986120d

8 years agoEnhance "PRAGMA integrity_check" so that it verifies CHECK constraints.
drh [Wed, 22 Feb 2017 14:15:37 +0000 (14:15 +0000)] 
Enhance "PRAGMA integrity_check" so that it verifies CHECK constraints.

FossilOrigin-Name: 549bae0856004ff65b505175460abd598b30fe57

8 years agoIn sqlite3VdbeHalt(), return as soon as possible if
dan [Tue, 21 Feb 2017 21:24:05 +0000 (21:24 +0000)] 
In sqlite3VdbeHalt(), return as soon as possible if
Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some
cases.

FossilOrigin-Name: 80adc0cb4ed7bacc54b15ac8b5b205403939c8c4

8 years agoFix an FTS5 problem that could cause a crash when certain queries were
dan [Tue, 21 Feb 2017 17:52:58 +0000 (17:52 +0000)] 
Fix an FTS5 problem that could cause a crash when certain queries were
interrupted using sqlite3_interrupt().

FossilOrigin-Name: e400909f313c317b7b67be6eb867ed61df7383dc

8 years agoVery small enhancement to dispatch speed for SQL functions.
drh [Tue, 21 Feb 2017 15:27:22 +0000 (15:27 +0000)] 
Very small enhancement to dispatch speed for SQL functions.

FossilOrigin-Name: 3c3228ed16ed8a72630bd56bb9192ee3c7f82093

8 years agoCorrect a harmless typo in the previous check-in.
mistachkin [Mon, 20 Feb 2017 23:32:04 +0000 (23:32 +0000)] 
Correct a harmless typo in the previous check-in.

FossilOrigin-Name: 1589db012ef1389bf84399fccf96d143b2ac4c0f

8 years agoAvoid unsigned integer overflows for SQLITE_WIN32_HEAP_INIT_SIZE when the Win32 heap...
mistachkin [Mon, 20 Feb 2017 19:13:37 +0000 (19:13 +0000)] 
Avoid unsigned integer overflows for SQLITE_WIN32_HEAP_INIT_SIZE when the Win32 heap subsystem is used with very large values of SQLITE_DEFAULT_CACHE_SIZE and/or SQLITE_DEFAULT_PAGE_SIZE.

FossilOrigin-Name: 96b6a98e5e4cb0ddbfcd78b05bfbfcd8976e9f32

8 years agoSmall grammar simplification.
drh [Mon, 20 Feb 2017 14:30:17 +0000 (14:30 +0000)] 
Small grammar simplification.

FossilOrigin-Name: 0d8a868acd74fb1d076f23fda58b841bb7e6900b

8 years agoMerge fixes from trunk.
drh [Mon, 20 Feb 2017 13:11:07 +0000 (13:11 +0000)] 
Merge fixes from trunk.

FossilOrigin-Name: ff213f2ef5bf96754a2264685d25546d8b5ccf0a

8 years agoUpdated comments. No code changes.
drh [Sat, 18 Feb 2017 22:52:40 +0000 (22:52 +0000)] 
Updated comments.  No code changes.

FossilOrigin-Name: e842ad391e62df273a5b1ed569d42ea46d03a99b

8 years agoAdd the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed",
drh [Sat, 18 Feb 2017 15:58:52 +0000 (15:58 +0000)] 
Add the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed",
invoking ANALYZE subcommands as necessary.  This simplifies the implementation.

FossilOrigin-Name: d386015f5e7ecdd951d70db56b7bbd858be7ad90

8 years agoAdd the SQLITE_BUG_COMPATIBLE_20160819 compile-time option to omit the error
drh [Sat, 18 Feb 2017 13:47:11 +0000 (13:47 +0000)] 
Add the SQLITE_BUG_COMPATIBLE_20160819 compile-time option to omit the error
message when an unrecognized argument is provided to the VACUUM command.

FossilOrigin-Name: 491814272dce7e937b4734fcbc2ad69e12377b56

8 years agoFix errors in the table resize detection.
drh [Sat, 18 Feb 2017 02:42:54 +0000 (02:42 +0000)] 
Fix errors in the table resize detection.

FossilOrigin-Name: 4229caec0b60a1617b9d5ff94b47271cbd7be1e0

8 years agoIn the analyze_as_needed pragma, avoid running unnecessary OP_LoadAnalysis
drh [Sat, 18 Feb 2017 02:19:02 +0000 (02:19 +0000)] 
In the analyze_as_needed pragma, avoid running unnecessary OP_LoadAnalysis
and OP_Expire opcodes.  Make the analyze_as_needed pragma responsive to the
schema name.

FossilOrigin-Name: 882599a4a7ea92c9e7752e0745475508e58a11c3

8 years agoFix the #endif location for an #ifndef SQLITE_UNTESTABLE macro in the
drh [Fri, 17 Feb 2017 23:52:00 +0000 (23:52 +0000)] 
Fix the #endif location for an #ifndef SQLITE_UNTESTABLE macro in the
command-line shell.

FossilOrigin-Name: 8cc9d74c176a78aeebfbb39198c21b5dd547ff52

8 years agoThe analyze_as_needed pragma now responds to table size growth and will
drh [Fri, 17 Feb 2017 19:24:06 +0000 (19:24 +0000)] 
The analyze_as_needed pragma now responds to table size growth and will
automatically rerun the analysis after each 10x size increase.

FossilOrigin-Name: bfbdd07409688fac4ccddbab3639745f6152e23d

8 years agoAdd the "PRAGMA analyze_as_needed" command.
drh [Fri, 17 Feb 2017 16:26:34 +0000 (16:26 +0000)] 
Add the "PRAGMA analyze_as_needed" command.

FossilOrigin-Name: e93db2373127d31d33ec46ef918fa9386bb664a6

8 years agoSet the TF_StatsUsed flag on tables when the query planner outcome is
drh [Fri, 17 Feb 2017 15:26:36 +0000 (15:26 +0000)] 
Set the TF_StatsUsed flag on tables when the query planner outcome is
affected by the sqlite_stat1 data.  Also, change the column names of the
"PRAGMA stats" command so that they are not keywords.

FossilOrigin-Name: fb2b8ae8310e4ea4b42354bbf36c3084a9d5c6d7

8 years agoEnhance the Index and Table objects so that they remember if their stats come
drh [Fri, 17 Feb 2017 13:38:15 +0000 (13:38 +0000)] 
Enhance the Index and Table objects so that they remember if their stats come
from the sqlite_stat1 table.  Make the "PRAGMA stats" an SQLITE_DEBUG only
pragma.  Add the flags column to "PRAGMA stats".  These are all preliminary
steps toward a "PRAGMA analyze_ifneeded;" feature.

FossilOrigin-Name: 85026c8ee143bbd46565660fff8346ef81421546

8 years agoFix a test case that was made to fail by the LIKE optimization enhancement
drh [Fri, 17 Feb 2017 02:04:31 +0000 (02:04 +0000)] 
Fix a test case that was made to fail by the LIKE optimization enhancement
in check-in [158290c0ab] but which went unnoticed because test builds were
running with ICU enabled and ICU disables the LIKE optimization.

FossilOrigin-Name: 218b2bbb0de07288889f6762d4461ea8acd78969

8 years agoEnable the ".wheretrace" and ".selecttrace" extensions in the command-line
drh [Fri, 17 Feb 2017 01:43:51 +0000 (01:43 +0000)] 
Enable the ".wheretrace" and ".selecttrace" extensions in the command-line
shell when compiled on Windows using DEBUG=3 or higher.  Fix a harmless
warning in the shell that comes up when compiled this way.

FossilOrigin-Name: 8a03be1dc42737ba0712d33f639ea26dc243b20e

8 years agoChange the name of WhereInfo.pDistinctSet to pResultSet, since it is now
drh [Thu, 16 Feb 2017 20:52:52 +0000 (20:52 +0000)] 
Change the name of WhereInfo.pDistinctSet to pResultSet, since it is now
used for more than just DISTINCT processing.

FossilOrigin-Name: 9fc5cd505fe6ab043519d68e999d2285e22452af

8 years agoChange two MallocZero() calls into MallocRaw() to avoid unnecessary memset().
drh [Thu, 16 Feb 2017 17:18:07 +0000 (17:18 +0000)] 
Change two MallocZero() calls into MallocRaw() to avoid unnecessary memset().

FossilOrigin-Name: ff5e733cbffd73faa4046e0f1c7f24bb6e131738

8 years agoFix a comment on a field of the ExprList object. No changes to code.
drh [Thu, 16 Feb 2017 16:26:53 +0000 (16:26 +0000)] 
Fix a comment on a field of the ExprList object.  No changes to code.

FossilOrigin-Name: bb8e264227175fc93f1c86a0083f8ad6c4ce2dc7

8 years agoIncrease Table.tabFlags from 8 to 32 bits.
drh [Thu, 16 Feb 2017 15:57:30 +0000 (15:57 +0000)] 
Increase Table.tabFlags from 8 to 32 bits.

FossilOrigin-Name: 7e14044c65f64322769bcad4640a5896be0a1687

8 years agoRemove two redundant initializations from the virtual table logic.
drh [Thu, 16 Feb 2017 15:06:06 +0000 (15:06 +0000)] 
Remove two redundant initializations from the virtual table logic.

FossilOrigin-Name: 6bd82b95a6b78bb60569af4da58ef4b9f997fe7b

8 years agoAlways use the IsVirtual() macro to determine if a Table object is a virtual
drh [Thu, 16 Feb 2017 14:48:08 +0000 (14:48 +0000)] 
Always use the IsVirtual() macro to determine if a Table object is a virtual
table.  Slightly smaller and faster code.

FossilOrigin-Name: 6affb1c89d87288cad87dde5a533832cdf06b8aa

8 years agoQuery planner optimization to detect empty tables in a join early and bail out
drh [Wed, 15 Feb 2017 22:36:15 +0000 (22:36 +0000)] 
Query planner optimization to detect empty tables in a join early and bail out
without doing excess work.

FossilOrigin-Name: 58797e9bafa95709e0f706a15f42f93b409e2db5

8 years agoMinor enhancement to mutex tracing on Win32.
mistachkin [Wed, 15 Feb 2017 18:30:57 +0000 (18:30 +0000)] 
Minor enhancement to mutex tracing on Win32.

FossilOrigin-Name: 830b9235673be55f0c932fb157de03725e648c25

8 years agoRemove the CLANG_VERSION macro, since we have learned that version numbers in
drh [Wed, 15 Feb 2017 15:09:09 +0000 (15:09 +0000)] 
Remove the CLANG_VERSION macro, since we have learned that version numbers in
clang are "marketing" and are inconsistent and unreliable.  Builds using clang
will still use the GCC_VERSION macro since clang works hard to be gcc
compatible.

FossilOrigin-Name: 810d29320b853b3a01aa50d8f2a0bceacf79e0aa

8 years agoFurther reforms to Tcl_*Alloc() usage.
mistachkin [Wed, 15 Feb 2017 04:16:56 +0000 (04:16 +0000)] 
Further reforms to Tcl_*Alloc() usage.

FossilOrigin-Name: ee1e689633e517ce46307b9afbf1eda03482c928

8 years agoIn the blob test code, avoid crashing on low-memory systems by using Tcl_AttemptAlloc().
mistachkin [Wed, 15 Feb 2017 01:39:28 +0000 (01:39 +0000)] 
In the blob test code, avoid crashing on low-memory systems by using Tcl_AttemptAlloc().

FossilOrigin-Name: 1d267757a89d9267ee9c201373f801eb9772ab04

8 years agoClarification of the help text for the command-line shell.
drh [Tue, 14 Feb 2017 21:47:46 +0000 (21:47 +0000)] 
Clarification of the help text for the command-line shell.

FossilOrigin-Name: ca4f1e4962df64ae756c286f3795af7d6f692cdd

8 years agoEnable the SQLITE_ENABLE_NULL_TRIM option for WITHOUT ROWID tables.
drh [Tue, 14 Feb 2017 20:00:16 +0000 (20:00 +0000)] 
Enable the SQLITE_ENABLE_NULL_TRIM option for WITHOUT ROWID tables.

FossilOrigin-Name: 54836270c9c0bfa5910f7ad74ec238b9d7ddee5f

8 years agoMore realistic lengths of string values in speedtest1 with --testset orm.
drh [Tue, 14 Feb 2017 16:30:13 +0000 (16:30 +0000)] 
More realistic lengths of string values in speedtest1 with --testset orm.

FossilOrigin-Name: e4731fd65f9698817690b741cc454f25e8e871e6

8 years agoFix a testcase number on the ORM testset of speedtest1.
drh [Tue, 14 Feb 2017 15:58:58 +0000 (15:58 +0000)] 
Fix a testcase number on the ORM testset of speedtest1.

FossilOrigin-Name: 58b2f911eec2e3eb9944dd6d8573ff5c7bd43f70

8 years agoAdd the new "--testset orm" to the speedtest1 utility.
drh [Tue, 14 Feb 2017 15:57:11 +0000 (15:57 +0000)] 
Add the new "--testset orm" to the speedtest1 utility.

FossilOrigin-Name: 1836adc1d1f8e496ae0a07bf0fc933a19dc8fee5

8 years agoChange all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for
drh [Mon, 13 Feb 2017 13:35:55 +0000 (13:35 +0000)] 
Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for
consistency.

FossilOrigin-Name: 670f10b24230863688270d12ac519609ade2302b

8 years agoFix typos in using the MSVC_VERSION macro.
drh [Mon, 13 Feb 2017 13:26:33 +0000 (13:26 +0000)] 
Fix typos in using the MSVC_VERSION macro.

FossilOrigin-Name: f3b65926b1f439adb95e3bbce8e58785b8cf8427

8 years agoAvoid a duplication #define in FTS5
drh [Mon, 13 Feb 2017 13:20:02 +0000 (13:20 +0000)] 
Avoid a duplication #define in FTS5

FossilOrigin-Name: c447441cff1884d6fe5f0a76d64b3e7d908584a1

8 years agoFix indexes on expressions so that they can be actually used with
drh [Sat, 11 Feb 2017 14:59:58 +0000 (14:59 +0000)] 
Fix indexes on expressions so that they can be actually used with
a COLLATE clause.

FossilOrigin-Name: e464b919f76520b45bb58983c6702db59d820ee4

8 years agoEnsure that indexed expressions with collating sequences are handled
drh [Sat, 11 Feb 2017 13:51:23 +0000 (13:51 +0000)] 
Ensure that indexed expressions with collating sequences are handled
correctly.  Proposed fix for ticket [eb703ba7b50c1a5].

FossilOrigin-Name: 9689d04b8250139e32078b2aa9748edcc6231bcd

8 years agoBump the version number up to 3.18.0.
drh [Fri, 10 Feb 2017 21:40:04 +0000 (21:40 +0000)] 
Bump the version number up to 3.18.0.

FossilOrigin-Name: 7520c238558346d421e3c24cb7d17a54d1aa56b2

8 years agoEnhance the LIKE optimization so that it works for arbitrary expressions on
drh [Fri, 10 Feb 2017 21:37:57 +0000 (21:37 +0000)] 
Enhance the LIKE optimization so that it works for arbitrary expressions on
the LHS as long as the pattern on the RHS does not begin with a digit or
a minus sign.

FossilOrigin-Name: 158290c0abafde67ee3f2363f0b6646887841df3

8 years agoAdd the "," flag to printf().
drh [Fri, 10 Feb 2017 19:38:36 +0000 (19:38 +0000)] 
Add the "," flag to printf().

FossilOrigin-Name: 064445b12f99f76e9a12957be97edd520ab3ae27

8 years agoCleanup the usage of the SQLITE_DISABLE_INTRINSIC compile-time option.
drh [Thu, 9 Feb 2017 17:12:22 +0000 (17:12 +0000)] 
Cleanup the usage of the SQLITE_DISABLE_INTRINSIC compile-time option.
Remove the SQLITE_RUNTIME_BYTEORDER compile-time option.  Use
-DSQLITE_BYTEORDER=0 instead.  Fix a bug in R-Tree that occurs when compiling
on a known little-endian machine without the use of intrinsic byteswapping
functions.

FossilOrigin-Name: 798fb9d70d2e5f95e64237b04d6692360133381a

8 years agoAvoid preparing a SELECT statement each time an UPDATE or DELETE by docid is
dan [Wed, 8 Feb 2017 19:12:36 +0000 (19:12 +0000)] 
Avoid preparing a SELECT statement each time an UPDATE or DELETE by docid is
executed against an fts3 table.

FossilOrigin-Name: 1afec5758b624e6a066d4e7ef50695095e9d7ff1

8 years agoAvoid preparing a SELECT statement each time an UPDATE or DELETE fts3-seekstmt-cache
dan [Wed, 8 Feb 2017 19:10:47 +0000 (19:10 +0000)] 
Avoid preparing a SELECT statement each time an UPDATE or DELETE
by docid is executed against an fts3 table.

FossilOrigin-Name: 9962c10a5c6672bd82b2bf640d878fcdac0b815a

8 years agoTypo fixes in comment. No changes to code.
mistachkin [Wed, 8 Feb 2017 18:13:46 +0000 (18:13 +0000)] 
Typo fixes in comment.  No changes to code.

FossilOrigin-Name: c09dd5c0befaf5028abfead8114bd74a30ffe5d4

8 years agoAlways invoke the xRoundup() method of the memory allocator before calling
drh [Wed, 8 Feb 2017 16:01:57 +0000 (16:01 +0000)] 
Always invoke the xRoundup() method of the memory allocator before calling
xMalloc().

FossilOrigin-Name: 77b470b0df73dc5ae5ad2f0170ef7c50558c7c88

8 years agoRound up the size of all memory allocations to a multiple of 8 bytes when
drh [Wed, 8 Feb 2017 12:18:05 +0000 (12:18 +0000)] 
Round up the size of all memory allocations to a multiple of 8 bytes when
using the system memory allocator.

FossilOrigin-Name: c46e06fab4465128ac3364bafef5fa3d016796d0

8 years agoWhen generating the hash on the sqlite_master table in dbselftest, use an
drh [Tue, 7 Feb 2017 21:44:40 +0000 (21:44 +0000)] 
When generating the hash on the sqlite_master table in dbselftest, use an
ORDER BY clause, since the sqlite_master table is reordered by VACUUM.

FossilOrigin-Name: c8bfd99b96608a08f934f46b4e1a4d0f1cc69ea7