]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
8 years agoVersion 3.15.2 branch-3.15 version-3.15.2
drh [Mon, 28 Nov 2016 19:13:37 +0000 (19:13 +0000)] 
Version 3.15.2

FossilOrigin-Name: bbd85d235f7037c6a033a9690534391ffeacecc8

8 years agoFix a test case in vacuum5.test so that it works with the in-memory journal
dan [Thu, 24 Nov 2016 13:42:48 +0000 (13:42 +0000)] 
Fix a test case in vacuum5.test so that it works with the in-memory journal
permutation. Cherrypick of [81c86401].

FossilOrigin-Name: e31d646a319e03587a913d8e23e8c9f767a3481e

8 years agoUpdates makefiles and build scripts on windows to used Tcl 8.6.
drh [Wed, 23 Nov 2016 21:33:14 +0000 (21:33 +0000)] 
Updates makefiles and build scripts on windows to used Tcl 8.6.

FossilOrigin-Name: f693850affc70c6996ca61b95f9632f8429b1bec

8 years agoUpdate the version number to 3.15.2.
drh [Wed, 23 Nov 2016 21:14:31 +0000 (21:14 +0000)] 
Update the version number to 3.15.2.

FossilOrigin-Name: 86dc74cb107a6cce7bdf74ab7ebbac56d32add69

8 years agoCode constant vector components outside of any loops in CASE and BETWEEN
drh [Wed, 23 Nov 2016 21:13:41 +0000 (21:13 +0000)] 
Code constant vector components outside of any loops in CASE and BETWEEN
expressions. Fix for [1a684656].

FossilOrigin-Name: 4c6efe600debf783e1cbb3db5df3b4097a707d33

8 years agoPrevent a possible use-after-free bug in the query optimizer.
drh [Wed, 23 Nov 2016 21:08:01 +0000 (21:08 +0000)] 
Prevent a possible use-after-free bug in the query optimizer.

FossilOrigin-Name: 661b45068fc8bb885899d6d8ef403f987f5f1a08

8 years agoDisable the query flattener optimization for SELECT statements that are on
drh [Wed, 23 Nov 2016 21:01:38 +0000 (21:01 +0000)] 
Disable the query flattener optimization for SELECT statements that are on
the RHS of vector IN operators.  This is a hack that fixes the bug
described in ticket [da7841375186386c]. A better solution that does not
disable the query flattener is needed, but this will server for the time
being.

FossilOrigin-Name: 27438fb43db4eae90fa005e7872debbb1db22c88

8 years agoFix a potential use-after-free error during parsing of malformed
drh [Wed, 23 Nov 2016 20:44:04 +0000 (20:44 +0000)] 
Fix a potential use-after-free error during parsing of malformed
CREATE TABLE statement.

FossilOrigin-Name: 0f956597995ca0007c51a32c71cf5fb723ed4134

8 years agoFix an fts5 problem causing a crash in phrase queries where the first token of
drh [Wed, 23 Nov 2016 20:37:36 +0000 (20:37 +0000)] 
Fix an fts5 problem causing a crash in phrase queries where the first token of
the phrase matches one or more rows but some other token within the phrase
matches zero.

FossilOrigin-Name: 4efd331e9c680e1eb9c2bf58c5f45c03c0a31772

8 years agoFix OOM error reporting in the json1_group_object() SQL function. Remove
drh [Wed, 23 Nov 2016 20:31:09 +0000 (20:31 +0000)] 
Fix OOM error reporting in the json1_group_object() SQL function.  Remove
an unreachable branch from the JSON1 logic.

FossilOrigin-Name: 6492e57e65118bc6366bd92c553f4494a99f97e6

8 years agoFix the JSON1 extension so that the JSON validator correctly rejects malformed
drh [Wed, 23 Nov 2016 20:24:40 +0000 (20:24 +0000)] 
Fix the JSON1 extension so that the JSON validator correctly rejects malformed
backslash escapes within string literals.

FossilOrigin-Name: 7c46628380e6c6aae0f1a6175ec6136d88d10f44

8 years agoAvoid a crash that can occur after an obscure OOM in the built-in INSTR()
drh [Wed, 23 Nov 2016 20:19:00 +0000 (20:19 +0000)] 
Avoid a crash that can occur after an obscure OOM in the built-in INSTR()
function.

FossilOrigin-Name: 8a55b8e179f3fd14ae656680ed4ebd462800e2f6

8 years agoMark the ICU extension functions as deterministic.
drh [Wed, 23 Nov 2016 20:12:37 +0000 (20:12 +0000)] 
Mark the ICU extension functions as deterministic.

FossilOrigin-Name: 8fd2fccefb8885c7e8bae312c184d78187889d32

8 years agoHandle some obscure "row value misused" cases that could cause segfaults or
drh [Wed, 23 Nov 2016 19:43:48 +0000 (19:43 +0000)] 
Handle some obscure "row value misused" cases that could cause segfaults or
assertion failures.

FossilOrigin-Name: 794763fd6c04cabb16300421ade169131b7d308d

8 years agoTake care not to try to generate code for the ATTACH and DETACH commands
drh [Wed, 23 Nov 2016 19:40:23 +0000 (19:40 +0000)] 
Take care not to try to generate code for the ATTACH and DETACH commands
if there were syntax errors during parsing.
Fix for ticket [2f1b168ab4d4844]

FossilOrigin-Name: f8cf7ff1560dbd0dde5e6d4c9c22cd8ff43cce09

8 years agoVersion 3.15.1 version-3.15.1
drh [Fri, 4 Nov 2016 12:08:49 +0000 (12:08 +0000)] 
Version 3.15.1

FossilOrigin-Name: 1136863c76576110e710dd5d69ab6bf347c65e36

8 years agoFix a test case in vacuum5.test so that it works with -DSQLITE_TEMP_STORE=2
dan [Thu, 3 Nov 2016 19:27:20 +0000 (19:27 +0000)] 
Fix a test case in vacuum5.test so that it works with -DSQLITE_TEMP_STORE=2
and -DSQLITE_ENABLE_ATOMIC_WRITE..

FossilOrigin-Name: 752e14d9b4ca9eec5531bccbde1548e6f06c9474

8 years agoAdd the SQLITE_FCNTL_WIN32_GET_HANDLE file control.
drh [Thu, 3 Nov 2016 18:49:15 +0000 (18:49 +0000)] 
Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control.

FossilOrigin-Name: 5221e3cc6f81d078766a607408d4e8aa3be0a90e

8 years agoIncrease the version number to 3.15.1.
drh [Thu, 3 Nov 2016 18:44:07 +0000 (18:44 +0000)] 
Increase the version number to 3.15.1.

FossilOrigin-Name: ccdcce468f51439b353cbf723f1710ac38110b28

8 years agoEscape non-ASCII character from an ICU extension comment.
drh [Thu, 3 Nov 2016 18:38:40 +0000 (18:38 +0000)] 
Escape non-ASCII character from an ICU extension comment.

FossilOrigin-Name: ee16fedd2006e2eb25a519edb4bda2d838e90410

8 years agoFix an issue that was causing the new database image to be assembled entirely
drh [Thu, 3 Nov 2016 18:36:26 +0000 (18:36 +0000)] 
Fix an issue that was causing the new database image to be assembled entirely
in heap memory when VACUUMing a database, even if it should use a temp file.
This could cause SQLITE_NOMEM errors when vacuuming very large databases on
32-bit systems.

FossilOrigin-Name: 3fae483faea3370785ac44ac65dbd03c21b9f6f2

8 years agoMake sure left-join markings are transferred to the virtual scalar
drh [Thu, 3 Nov 2016 18:35:19 +0000 (18:35 +0000)] 
Make sure left-join markings are transferred to the virtual scalar
subexpressions when decomposing a vector comparison in the ON clause of
a LEFT JOIN.
Fix for ticket [fef4bb4bd9185ec8f].

FossilOrigin-Name: aba1e22bbae1cd21f6e1d10773ccbfc4682db52c

8 years agoIf all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the
drh [Thu, 3 Nov 2016 18:33:52 +0000 (18:33 +0000)] 
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the
same index, set the index cursor to return NULL values if there are no matches
for a row on the lhs.  Fix for ticket [34a579141b2c5ac]

FossilOrigin-Name: 54eeddeceb7545c9843d4ddf4ff73a894214c43b

8 years agoIn the sessions module, avoid recording a change if an UPDATE statement
drh [Thu, 3 Nov 2016 18:31:40 +0000 (18:31 +0000)] 
In the sessions module, avoid recording a change if an UPDATE statement
overwrites a column with REAL affinity containing an integer value with
the same value.

FossilOrigin-Name: 0fc4f0f4c270d29ec9c03d2954ef57f98461ede8

8 years agoAvoid using the "direct overflow read" optimization to read large blobs if the
drh [Thu, 3 Nov 2016 18:30:26 +0000 (18:30 +0000)] 
Avoid using the "direct overflow read" optimization to read large blobs if the
pager layer has a wal file open - even if the database header indicates that
the db is not a wal database.

FossilOrigin-Name: 63cfe19724b5856bd246c6fb98d3d79f8e022f71

8 years agoVersion 3.15.0 version-3.15.0
drh [Fri, 14 Oct 2016 10:20:30 +0000 (10:20 +0000)] 
Version 3.15.0

FossilOrigin-Name: 707875582fcba352b4906a595ad89198d84711d8

8 years agoTake care to avoid integer overflow when doing the initial page cache
drh [Thu, 13 Oct 2016 12:56:18 +0000 (12:56 +0000)] 
Take care to avoid integer overflow when doing the initial page cache
allocation with an excessively large cache_size setting.

FossilOrigin-Name: 4d66ac98deaa85218be7ff0eb254f78b96d8e8d4

8 years agoAvoid reading the -1-th element of an array in the query planner. Fix to a
drh [Wed, 12 Oct 2016 18:55:53 +0000 (18:55 +0000)] 
Avoid reading the -1-th element of an array in the query planner.  Fix to a
bug introduced by check-in [8e2b25f9b8a7] from earlier today.  Curiously,
the problem only appeared on 32-bit systems.

FossilOrigin-Name: 443913d582bcd953d85159047541592e2f68ade3

8 years agoAdd to sqlite3_analyzer command-line options --version and --tclsh, and also
drh [Wed, 12 Oct 2016 18:26:26 +0000 (18:26 +0000)] 
Add to sqlite3_analyzer command-line options --version and --tclsh, and also
the undocumented --debug option.

FossilOrigin-Name: e87d02d289a2016ea3ee074e914b07a8ac22b21f

8 years agoNew testcase() macros to ensure coverage of the ORDER BY LIMIT optimization
drh [Wed, 12 Oct 2016 15:15:30 +0000 (15:15 +0000)] 
New testcase() macros to ensure coverage of the ORDER BY LIMIT optimization
code in where.c.

FossilOrigin-Name: 61f0526978af667781c57bcc87510e4524efd0d8

8 years agoFix a problem affecting queries that match the pattern (... WHERE ipk IN (....) ORDER...
dan [Wed, 12 Oct 2016 14:48:00 +0000 (14:48 +0000)] 
Fix a problem affecting queries that match the pattern (... WHERE ipk IN (....) ORDER BY ? LIMIT ?). Fix for [96c1454c].

FossilOrigin-Name: 8e2b25f9b8a7ed087d3cece74239814bee19429e

8 years agoRemove a stray line from session4.test causing a memory leak. No changes to SQLite...
dan [Mon, 10 Oct 2016 14:48:36 +0000 (14:48 +0000)] 
Remove a stray line from session4.test causing a memory leak. No changes to SQLite code.

FossilOrigin-Name: 6624c4964b63e259d5ee006eaa7ec79ddadbd6a6

8 years agoWhen handling ORDER BY expressions, do not assume all values of an indexed expression...
dan [Mon, 10 Oct 2016 14:34:00 +0000 (14:34 +0000)] 
When handling ORDER BY expressions, do not assume all values of an indexed expressions are distinct. Fix for [4766f444].

FossilOrigin-Name: aebe429e52ffef026cb0803fb164339d61bd2e88

8 years agoMake sure indexes on expressions skip over initial NULL values in the
drh [Mon, 10 Oct 2016 13:29:15 +0000 (13:29 +0000)] 
Make sure indexes on expressions skip over initial NULL values in the
index.  Fix for ticket [4baa464912129477f3c9]

FossilOrigin-Name: 71797ba431085f9ae381ed5ea6471967926f4043

8 years agoFix a case in which the rtree module was ignoring an OOM while generating an error...
dan [Mon, 10 Oct 2016 10:06:59 +0000 (10:06 +0000)] 
Fix a case in which the rtree module was ignoring an OOM while generating an error message.

FossilOrigin-Name: 788f86bebe413b5a0ab41ba3d75ba8728827a964

8 years agoUpdate test/trace3.test to account for the fact that casting a pointer to a 64-bit...
dan [Sat, 8 Oct 2016 16:10:29 +0000 (16:10 +0000)] 
Update test/trace3.test to account for the fact that casting a pointer to a 64-bit signed integer might produce a negative value.

FossilOrigin-Name: 010ec22541a4c37f2d3b01b6a531b4b4264102b7

8 years agoCorrections to Lemon documentation. No SQLite changes.
drh [Sat, 8 Oct 2016 13:34:08 +0000 (13:34 +0000)] 
Corrections to Lemon documentation.  No SQLite changes.

FossilOrigin-Name: c568ae3eef31b49e846fad90e705914e2868a09c

8 years agoAdd missing "static" to internal function whereRangeVectorLen().
dan [Sat, 8 Oct 2016 11:55:12 +0000 (11:55 +0000)] 
Add missing "static" to internal function whereRangeVectorLen().

FossilOrigin-Name: cbed3d75cf9a24037263d126727db7dd048a4f97

8 years agoUpdates to the tool/warnings.sh script to make it easier to use on OpenBSD.
dan [Sat, 8 Oct 2016 09:21:34 +0000 (09:21 +0000)] 
Updates to the tool/warnings.sh script to make it easier to use on OpenBSD.

FossilOrigin-Name: dbe2997f57f8d8f95e4b767bf73b8df3a5e4f783

8 years agoFix some compiler warnings in fts5.
dan [Wed, 5 Oct 2016 20:14:29 +0000 (20:14 +0000)] 
Fix some compiler warnings in fts5.

FossilOrigin-Name: b066637bb75959267fe6104da323c5112ad78f82

8 years agoFix harmless compiler warnings.
drh [Wed, 5 Oct 2016 20:10:32 +0000 (20:10 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 2dde3375124198560c8ff15f87aadde2afd722c5

8 years agoAdd a test case for the fix in [a596b7c6cc].
dan [Wed, 5 Oct 2016 15:04:35 +0000 (15:04 +0000)] 
Add a test case for the fix in [a596b7c6cc].

FossilOrigin-Name: b2ef39b11f7c46e69e53439680c32adbb18903bd

8 years agoDo not set MEM_Blob unless the appropriate fields of the Mem object have
drh [Wed, 5 Oct 2016 15:02:00 +0000 (15:02 +0000)] 
Do not set MEM_Blob unless the appropriate fields of the Mem object have
been correctly initialized.

FossilOrigin-Name: a596b7c6cc780525120604090493f3f7d962b9fa

8 years agoFix the backup_malloc.test script so that it works on Windows.
drh [Wed, 5 Oct 2016 01:33:57 +0000 (01:33 +0000)] 
Fix the backup_malloc.test script so that it works on Windows.

FossilOrigin-Name: d080012daaaa399663a0f767c792a2fff3e1037a

8 years agoFix a problem with the lempar.c parser template.
drh [Tue, 4 Oct 2016 12:20:12 +0000 (12:20 +0000)] 
Fix a problem with the lempar.c parser template.

FossilOrigin-Name: 3a9d802fda10585654332b314d317250dc5d894e

8 years agoDo not bother to initialize unused fields in the BtreePayload object.
drh [Tue, 4 Oct 2016 00:47:26 +0000 (00:47 +0000)] 
Do not bother to initialize unused fields in the BtreePayload object.

FossilOrigin-Name: b10d0f939c82c4de3faa90b86de9ec4a89992856

8 years agoAllow deterministic functions in the WHERE clause of a partial index.
drh [Mon, 3 Oct 2016 18:13:23 +0000 (18:13 +0000)] 
Allow deterministic functions in the WHERE clause of a partial index.

FossilOrigin-Name: c6e9b9421805c904b20900b711fa0e51773aef3e

8 years agoSize and performance optimizations on the sqlite3ExprAssignVarNumber() routine.
drh [Mon, 3 Oct 2016 16:33:14 +0000 (16:33 +0000)] 
Size and performance optimizations on the sqlite3ExprAssignVarNumber() routine.

FossilOrigin-Name: 109852e51e2cc2674940ba3e5097a92e66f88bb8

8 years agoAvoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing in
drh [Mon, 3 Oct 2016 15:28:24 +0000 (15:28 +0000)] 
Avoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing in
the token length from the parser.

FossilOrigin-Name: d15ae2e530cffea60263f203ac5f89b6790f4bd5

8 years agoAvoid unnecessary memset() calls in the query optimizer.
drh [Mon, 3 Oct 2016 14:44:47 +0000 (14:44 +0000)] 
Avoid unnecessary memset() calls in the query optimizer.

FossilOrigin-Name: 5bb7cde0731d23411e9df02a957010f94203397b

8 years agoFix an obsolete comment on a variable definition in expr.c. No code changes.
drh [Mon, 3 Oct 2016 12:56:48 +0000 (12:56 +0000)] 
Fix an obsolete comment on a variable definition in expr.c.  No code changes.

FossilOrigin-Name: 012ff6dd306328f7ea71a6600471c871e7ffe37b

8 years agoMake sure the sqlite_sequence table is updated when an optional xfer
drh [Mon, 3 Oct 2016 02:59:33 +0000 (02:59 +0000)] 
Make sure the sqlite_sequence table is updated when an optional xfer
optimization is used.  Fix for ticket [7b3328086a5c1].

FossilOrigin-Name: 81e4d4f897553f6fee540a38c3e83ceac5ba9b78

8 years agoAllocate Parse objects off of the stack where appropriate for a substantial
drh [Mon, 3 Oct 2016 01:21:51 +0000 (01:21 +0000)] 
Allocate Parse objects off of the stack where appropriate for a substantial
performance increase and a size reduction.

FossilOrigin-Name: ea8affa9e453b201b479162f621b591e7a65a489

8 years agoAdd SQLITE_USE_ALLOCA to the --lean configuration in speed-check.sh.
drh [Sat, 1 Oct 2016 23:55:23 +0000 (23:55 +0000)] 
Add SQLITE_USE_ALLOCA to the --lean configuration in speed-check.sh.

FossilOrigin-Name: fe07609efc31c4639c40fbda501c55f443756ad2

8 years agoRearrange fields in the Parse object to reduce the amount of initialization
drh [Sat, 1 Oct 2016 21:43:37 +0000 (21:43 +0000)] 
Rearrange fields in the Parse object to reduce the amount of initialization
required.

FossilOrigin-Name: 361940b44dd17bf2b39fc0e0716c0de6b2b7f4f7

8 years agoReduce the width of a memset() to avoid double-initializing some variables.
drh [Sat, 1 Oct 2016 20:43:41 +0000 (20:43 +0000)] 
Reduce the width of a memset() to avoid double-initializing some variables.

FossilOrigin-Name: 34edbfd12d6cfa6bbfa30eef9276a4865eadc869

8 years agoRemove an unnecessary memset() call.
drh [Sat, 1 Oct 2016 19:32:54 +0000 (19:32 +0000)] 
Remove an unnecessary memset() call.

FossilOrigin-Name: a76bff74ce47c9c98106566bde5d781992657e22

8 years agoUse sqlite3DbMallocRawNN() where appropriate, instead of
drh [Sat, 1 Oct 2016 19:21:56 +0000 (19:21 +0000)] 
Use sqlite3DbMallocRawNN() where appropriate, instead of
sqlite3DbMallocRaw().

FossilOrigin-Name: 54a449a41d8d32da2f8b73689227ced866974a18

8 years agoMake sure deleting an unused prepared statement does not reference
drh [Sat, 1 Oct 2016 16:53:45 +0000 (16:53 +0000)] 
Make sure deleting an unused prepared statement does not reference
uninitialized fields in the structure.

FossilOrigin-Name: 7983eef0422439bfc85950554b000d46a9767ee3

8 years agoAvoid accessing Vdbe.pc if it is uninitialized. Check Vdbe.magic first.
drh [Sat, 1 Oct 2016 11:39:53 +0000 (11:39 +0000)] 
Avoid accessing Vdbe.pc if it is uninitialized.  Check Vdbe.magic first.

FossilOrigin-Name: 6ac6e4462a08cb2f3d28e4a23218fc1b110a2148

8 years agoAvoid unnecessary zeroing of fields in the Vdbe object when it is allocated.
drh [Sat, 1 Oct 2016 00:37:50 +0000 (00:37 +0000)] 
Avoid unnecessary zeroing of fields in the Vdbe object when it is allocated.

FossilOrigin-Name: 1e21bbe836539e64d24857f4faa3d12cd607dc7e

8 years agoAvoid initializing the column-cache section of the Parse object, since entries
drh [Fri, 30 Sep 2016 22:24:29 +0000 (22:24 +0000)] 
Avoid initializing the column-cache section of the Parse object, since entries
in the cache will be initialized as they are used, and avoiding the initial
memset() saves many CPU cycles.

FossilOrigin-Name: 63cf7eafae5c3c1379edf416c5157010c7c120b5

8 years agoFix an always-true conditional left over from the previous commit.
drh [Fri, 30 Sep 2016 21:20:37 +0000 (21:20 +0000)] 
Fix an always-true conditional left over from the previous commit.

FossilOrigin-Name: ab12fce3318db447995e1465f34a1e43cd623d6a

8 years agoFix the Parse.aColCache column cache so that all of the valid entries are
drh [Fri, 30 Sep 2016 20:22:27 +0000 (20:22 +0000)] 
Fix the Parse.aColCache column cache so that all of the valid entries are
in the first Parse.nColCache slots.

FossilOrigin-Name: 6028502059ccbd3699637b7a70a6d8ce1b7c3dad

8 years agoAnother simplification to the Parse object.
drh [Fri, 30 Sep 2016 19:14:32 +0000 (19:14 +0000)] 
Another simplification to the Parse object.

FossilOrigin-Name: c1419727f5e4cb3ef63b5853b6ef3b1e53af0651

8 years agoRemove unnecessary fields from the Parse object.
drh [Fri, 30 Sep 2016 18:35:36 +0000 (18:35 +0000)] 
Remove unnecessary fields from the Parse object.

FossilOrigin-Name: 814e41da3563eecf5514811bc8ab2df4f5cc0d4b

8 years agoAvoid unnecessary Mem initializations when generating a new sqlite3_stmt
drh [Fri, 30 Sep 2016 17:46:44 +0000 (17:46 +0000)] 
Avoid unnecessary Mem initializations when generating a new sqlite3_stmt
object.

FossilOrigin-Name: 47ae1cda8dc255d100aeb8cb90ea4c9e449509be

8 years agoSmall size and performance optimization to sqlite3VdbeChangeP5().
drh [Thu, 29 Sep 2016 20:28:34 +0000 (20:28 +0000)] 
Small size and performance optimization to sqlite3VdbeChangeP5().

FossilOrigin-Name: 3c93c8f5bbf54ed2a331079b28fdd94eb0e59e69

8 years agoRemove the peep-hole optimization of removing OP_Close opcodes that come
drh [Thu, 29 Sep 2016 19:50:02 +0000 (19:50 +0000)] 
Remove the peep-hole optimization of removing OP_Close opcodes that come
before OP_Halt, as the extra work of removing those opcodes uses more cycles
than just running them.

FossilOrigin-Name: 984a96d79656c1b095aba1f88aca4bb787ba0bd8

8 years agoSize and performance optimization to sqlite3ValueFromExpr()
drh [Thu, 29 Sep 2016 19:27:16 +0000 (19:27 +0000)] 
Size and performance optimization to sqlite3ValueFromExpr()

FossilOrigin-Name: 945f82bc44c5a431c0fef0d36cf016671d7ade1e

8 years agoClarification and typo-fixes in comments. No changes to code.
drh [Thu, 29 Sep 2016 15:53:28 +0000 (15:53 +0000)] 
Clarification and typo-fixes in comments.  No changes to code.

FossilOrigin-Name: e2cd79aa3104c51035bf29c548c322564731b75f

8 years agoUse Knuth multiplicative hashing for the symbol table.
drh [Wed, 28 Sep 2016 20:42:31 +0000 (20:42 +0000)] 
Use Knuth multiplicative hashing for the symbol table.

FossilOrigin-Name: cc29ddd6be60bdbf107f285c9eb57d5896ebca2d

8 years agoTwo more typo fixes in comments.
drh [Wed, 28 Sep 2016 16:05:53 +0000 (16:05 +0000)] 
Two more typo fixes in comments.

FossilOrigin-Name: 40c0fb0af678797c39a99853f9f4102464c16f4b

8 years agoFix typos in comments. No code changes.
drh [Wed, 28 Sep 2016 16:04:22 +0000 (16:04 +0000)] 
Fix typos in comments.  No code changes.

FossilOrigin-Name: 5bbd071d57a8048e2ca17bf97761e4f27fc5a6bf

8 years agoUpdate requirements marks due to improvements in the wording of documentation.
drh [Tue, 27 Sep 2016 00:09:33 +0000 (00:09 +0000)] 
Update requirements marks due to improvements in the wording of documentation.
No changes to code.

FossilOrigin-Name: bf903b2ecac5d7b25c9cc899cae41f1d69aafe4e

8 years agoFix FTS3 test cases due to the flattener change of the previous check-in.
drh [Tue, 27 Sep 2016 00:03:25 +0000 (00:03 +0000)] 
Fix FTS3 test cases due to the flattener change of the previous check-in.

FossilOrigin-Name: 0c8b9b211f4285e2ab77cf5e0820088ef10e05c4

8 years agoWhen flattening a query of the form "SELECT * FROM (SELECT * FROM tbl WHERE x=?)...
dan [Mon, 26 Sep 2016 14:39:05 +0000 (14:39 +0000)] 
When flattening a query of the form "SELECT * FROM (SELECT * FROM tbl WHERE x=?) WHERE y=?", ensure that the final WHERE clause is "x=? AND y=?" instead of "y=? AND x=?". Although it is still not guaranteed, this makes the order in which WHERE clause terms are processed comport more closely to users expectations.

FossilOrigin-Name: cf7f9e6d5abff273dd2f8a8dce27d52e1449b3be

8 years agoInline the relevent parts of sqlite3ExprAlloc() into spanExpr(), for a
drh [Mon, 26 Sep 2016 12:38:22 +0000 (12:38 +0000)] 
Inline the relevent parts of sqlite3ExprAlloc() into spanExpr(), for a
performance improvement.

FossilOrigin-Name: fe89225eab777c2c9cb1cbc31092b9e39f516842

8 years agoOmit the LikeOp object from the parser. Change more sqlite3PExpr() calls into
drh [Sat, 24 Sep 2016 17:42:43 +0000 (17:42 +0000)] 
Omit the LikeOp object from the parser.  Change more sqlite3PExpr() calls into
sqlite3ExprAlloc() calls.

FossilOrigin-Name: 795454a3fa5f9ccc486593b5e16e8fad38c934fb

8 years agoAdd -DSQLITE_MAX_EXPR_DEPTH=0 to the --lean option on speed-check.sh.
drh [Sat, 24 Sep 2016 01:41:59 +0000 (01:41 +0000)] 
Add -DSQLITE_MAX_EXPR_DEPTH=0 to the --lean option on speed-check.sh.

FossilOrigin-Name: a8cb1390fc1234b2e925090c4d770cca5d587bea

8 years agoAdd the EP_Leaf flag bit to the Expr.flags field to indicate Expr
drh [Fri, 23 Sep 2016 21:36:24 +0000 (21:36 +0000)] 
Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr
nodes that do not have substructure.  Use that bit to avoid unnecessary
recursion.

FossilOrigin-Name: 8a6ea455cd1bf42ae0a7f1f1789baf88d782db13

8 years agoUse sqlite3ExprAlloc() instead of sqlite3PExpr() for leaf nodes in the
drh [Fri, 23 Sep 2016 20:59:31 +0000 (20:59 +0000)] 
Use sqlite3ExprAlloc() instead of sqlite3PExpr() for leaf nodes in the
expression tree, where appropriate.  This is both smaller and faster.

FossilOrigin-Name: afac0709cec577a7851e3711730712cf12eeb6af

8 years agoNew test case for the ORDER BY LIMIT optimization.
drh [Fri, 23 Sep 2016 18:13:01 +0000 (18:13 +0000)] 
New test case for the ORDER BY LIMIT optimization.

FossilOrigin-Name: 9a5a489d0d344274d0fc9fb9303503a454f42844

8 years agoFix a potential null-pointer dereference and crash in the case where one
drh [Thu, 22 Sep 2016 21:37:18 +0000 (21:37 +0000)] 
Fix a potential null-pointer dereference and crash in the case where one
thread is calling sqlite3_column_text() and another thread is calling
sqlite3_step() on the same prepared statement at the same instant.

FossilOrigin-Name: ee1382a36303eff8d94275ac3b12e5ce398ee620

8 years agoRemove the internal sqlite3CodeOnce() interface, replacing it with a
drh [Thu, 22 Sep 2016 18:53:13 +0000 (18:53 +0000)] 
Remove the internal sqlite3CodeOnce() interface, replacing it with a
direct call to sqlite3VdbeAddOp0(v,OP_Once).  Slightly smaller and faster.

FossilOrigin-Name: c3774c6a5fe48af91fda28e9e18c6ed9053ea992

8 years agoMakefile changes to support building winsqlite3.dll using STDCALL rather than CDECL.
mistachkin [Thu, 22 Sep 2016 18:46:38 +0000 (18:46 +0000)] 
Makefile changes to support building winsqlite3.dll using STDCALL rather than CDECL.

FossilOrigin-Name: 5e892d60935e5c82234d1bfaef4c5026061acceb

8 years agoFix speedtest1.c so that it works with SQLITE_OMIT_DEPRECATED.
drh [Wed, 21 Sep 2016 23:58:49 +0000 (23:58 +0000)] 
Fix speedtest1.c so that it works with SQLITE_OMIT_DEPRECATED.
Add the --lean and --cachesize options to speed-check.sh.

FossilOrigin-Name: 7785b3a25778cc19861c01f4148f72e0f724f55d

8 years agoFix a problem with the fts5 auxiliary function API causing a crash when a query conta...
dan [Wed, 21 Sep 2016 19:43:34 +0000 (19:43 +0000)] 
Fix a problem with the fts5 auxiliary function API causing a crash when a query contained a phrase of zero terms.

FossilOrigin-Name: 0741812d7fcd558479e4849fbb3ba8d03738d018

8 years agoDo not run vacuummem.test if ENABLE_MEMORY_MANAGEMENT is defined.
dan [Wed, 21 Sep 2016 19:00:37 +0000 (19:00 +0000)] 
Do not run vacuummem.test if ENABLE_MEMORY_MANAGEMENT is defined.

FossilOrigin-Name: 4a613d856433ac48e8ee0cd7f0e774e484e8acf6

8 years agoFix obsolete requirements marks. Add new tests for VACUUM of attached
drh [Wed, 21 Sep 2016 18:18:57 +0000 (18:18 +0000)] 
Fix obsolete requirements marks.  Add new tests for VACUUM of attached
databases.

FossilOrigin-Name: 2b44f9aa7d4e2089dacd6bfcf526dae9309b7af3

8 years agoAvoid running vacuum5.test in auto-vacuum mode.
dan [Wed, 21 Sep 2016 17:53:47 +0000 (17:53 +0000)] 
Avoid running vacuum5.test in auto-vacuum mode.

FossilOrigin-Name: be184befa09ef0a670a2a6d9c037b9a27bcf16d8

8 years agoDo not run test "delete_db.test" with either the journaltest or inmemoryjournal permu...
dan [Wed, 21 Sep 2016 17:47:59 +0000 (17:47 +0000)] 
Do not run test "delete_db.test" with either the journaltest or inmemoryjournal permutations. Ensure that the multiplexor tests in delete_db.test are performed in non-autovacuum mode.

FossilOrigin-Name: 46b7d19e0282ecd7622344aafad8c2feb83c9658

8 years agoUpdate the fts5vocab table to handle "ORDER BY term" efficiently.
dan [Wed, 21 Sep 2016 14:41:09 +0000 (14:41 +0000)] 
Update the fts5vocab table to handle "ORDER BY term" efficiently.

FossilOrigin-Name: d4928fb5cd63a72808f01778fa5a11395385dedf

8 years agoImproved implementation of 64-bit signed integer multiply that correctly
drh [Tue, 20 Sep 2016 22:04:05 +0000 (22:04 +0000)] 
Improved implementation of 64-bit signed integer multiply that correctly
detects overflow (and promotes to floating-point) in some corner cases.
Fix for ticket [1ec41379c9c1e400]

FossilOrigin-Name: db3ebd7c52cfc5fcc7be00f52e9d7c84719f7b93

8 years agoFix harmless compiler warning.
mistachkin [Tue, 20 Sep 2016 17:49:01 +0000 (17:49 +0000)] 
Fix harmless compiler warning.

FossilOrigin-Name: 72429063956614975d90cae2a829cfa4296694da

8 years agoFix typo in comment.
mistachkin [Tue, 20 Sep 2016 17:38:27 +0000 (17:38 +0000)] 
Fix typo in comment.

FossilOrigin-Name: bd3ecbb5c1977744321f4bbac79fd7e2e7c1b5ba

8 years agoFurther performance enhancements in zeroblob() handling.
drh [Tue, 20 Sep 2016 01:46:15 +0000 (01:46 +0000)] 
Further performance enhancements in zeroblob() handling.

FossilOrigin-Name: 21b0e3b75c531a5ce33a1503f9bf647d56f56a5b

8 years agoAvoid unnecessary calls to ExpandBlob() for smaller and faster code.
drh [Tue, 20 Sep 2016 01:19:18 +0000 (01:19 +0000)] 
Avoid unnecessary calls to ExpandBlob() for smaller and faster code.

FossilOrigin-Name: 5e196fd18169e84806cd45dd1a8190339323e772

8 years agoVery small optimization in the bytecode engine.
drh [Mon, 19 Sep 2016 23:39:34 +0000 (23:39 +0000)] 
Very small optimization in the bytecode engine.

FossilOrigin-Name: 46002511e52518bae14f210157f231c814c77c9e

8 years agoFix a segfault introduced by the row-value enhancement that comes up on
drh [Mon, 19 Sep 2016 11:00:42 +0000 (11:00 +0000)] 
Fix a segfault introduced by the row-value enhancement that comes up on
a skip-scan where the first term of the index is unconstrained and the
second term is of the form "columm IN (SELECT...)".

FossilOrigin-Name: 2401ea5acfeee8042489d1db38036ff86e8a6916