]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
8 years agoMark the ICU extension functions as deterministic.
drh [Fri, 4 Nov 2016 12:03:26 +0000 (12:03 +0000)] 
Mark the ICU extension functions as deterministic.

FossilOrigin-Name: afbbb6c66a85ff3f4c8dce677e0892a2a51d2b8e

8 years agoAdd an assert() to silence a coverity false-positive.
drh [Fri, 4 Nov 2016 11:23:30 +0000 (11:23 +0000)] 
Add an assert() to silence a coverity false-positive.

FossilOrigin-Name: 97354093bceff28714a605068851cfa026c8272a

8 years agoFix a test case in vacuum5.test so that it works with the in-memory journal
dan [Fri, 4 Nov 2016 07:25:43 +0000 (07:25 +0000)] 
Fix a test case in vacuum5.test so that it works with the in-memory journal
permutation.

FossilOrigin-Name: 81c86401463df6be4ac21987b3b1703e38ab933b

8 years agoReplace a couple more references to Tcl 8.5 in the Windows build tools.
mistachkin [Thu, 3 Nov 2016 21:35:10 +0000 (21:35 +0000)] 
Replace a couple more references to Tcl 8.5 in the Windows build tools.

FossilOrigin-Name: 1d0e43c549c36d0919a18d61285e94cad29e7a07

8 years agoFix a test case in vacuum5.test sot aht it works with
dan [Thu, 3 Nov 2016 19:24:14 +0000 (19:24 +0000)] 
Fix a test case in vacuum5.test sot aht it works with
-DSQLITE_ENABLE_ATOMIC_WRITE.

FossilOrigin-Name: 3ca80010397676eca57c8a4c9b3a9c2c40629663

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

FossilOrigin-Name: f5dd95e25c703a825ad7af9a4b3886bd3ef8c2e8

8 years agoIn the command-line shell, fix the .imposter command so that it works
drh [Thu, 3 Nov 2016 13:12:28 +0000 (13:12 +0000)] 
In the command-line shell, fix the .imposter command so that it works
with indexes on expressions.  Fix the ".mode quote" mode so that it works
with ".headers ON".

FossilOrigin-Name: ba9873da94d21873ff76f16a5332fc0092d83f70

8 years agoAdd the ".imposter" command to the command-line shell.
drh [Thu, 3 Nov 2016 13:01:38 +0000 (13:01 +0000)] 
Add the ".imposter" command to the command-line shell.

FossilOrigin-Name: be3ec8fdcf1541017ca9375df07645db2a9a3f5a

8 years agoFix an possible NULL pointer deference in the command-line shell that can
drh [Thu, 3 Nov 2016 02:25:30 +0000 (02:25 +0000)] 
Fix an possible NULL pointer deference in the command-line shell that can
occur when using imposter mode.

FossilOrigin-Name: ad08753a8bbf073ec4af9c3a5783ed664244d954

8 years agoAdjust the MSVC makefile to use Tcl8.6 by default.
drh [Wed, 2 Nov 2016 19:49:22 +0000 (19:49 +0000)] 
Adjust the MSVC makefile to use Tcl8.6 by default.

FossilOrigin-Name: def8f598b8e33b5bab3a024cc57f4c5e300cd8cd

8 years agoFix an issue that was causing the new database image to be assembled entirely
dan [Wed, 2 Nov 2016 14:50:19 +0000 (14:50 +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: 3028845329c9b7acdec2ec8b01d00d782347454c

8 years agoFix a requirement mark. No changes to code.
drh [Wed, 2 Nov 2016 13:18:46 +0000 (13:18 +0000)] 
Fix a requirement mark.  No changes to code.

FossilOrigin-Name: d18f61b78c8fafef742efbc890382537e8584180

8 years agoUse NOT NULL partial indexes when the query is constrained by a single
drh [Wed, 2 Nov 2016 02:17:52 +0000 (02:17 +0000)] 
Use NOT NULL partial indexes when the query is constrained by a single
LIKE or GLOB.

FossilOrigin-Name: 9b3a3b41b59a7ce7d3dd82c7402d6fdc6a5ca43c

8 years agoAdd the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for
dan [Mon, 31 Oct 2016 16:49:18 +0000 (16:49 +0000)] 
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for
disabling SQLite's default checkpoint-on-close behaviour.

FossilOrigin-Name: 6d142025c74f66f2d48155354b556cd5b2682cb2

8 years agoAdd the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for no-ckpt-on-close
dan [Mon, 31 Oct 2016 16:16:49 +0000 (16:16 +0000)] 
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for
disabling SQLite's default checkpoint-on-close behaviour.

FossilOrigin-Name: 093d2fc2288b75c15ccf877bfa0e622d3918a562

8 years agoRemove the mutex from test_multiplex.c.
dan [Thu, 27 Oct 2016 14:51:02 +0000 (14:51 +0000)] 
Remove the mutex from test_multiplex.c.

FossilOrigin-Name: 6374978e8f1ac091394a9f5a1896be92af658bcd

8 years agoMake sure left-join markings are transferred to the virtual scalar
drh [Thu, 27 Oct 2016 01:02:20 +0000 (01:02 +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: 619f5cc71774a37648e185c8502d7af14eb09b7f

8 years agoSmall size reduction and performance enhancement in whereScanInit().
drh [Wed, 26 Oct 2016 18:41:43 +0000 (18:41 +0000)] 
Small size reduction and performance enhancement in whereScanInit().

FossilOrigin-Name: c23f5ef337533c1ec6e3ba78a2910352181cc9ee

8 years agoSmall size reduction and performance improvement in whereScanNext().
drh [Wed, 26 Oct 2016 17:57:40 +0000 (17:57 +0000)] 
Small size reduction and performance improvement in whereScanNext().

FossilOrigin-Name: d861ee17eb900a607de6ec3f4a5d5c24cfb834a0

8 years agoIf all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the
dan [Wed, 26 Oct 2016 16:05:10 +0000 (16:05 +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.

FossilOrigin-Name: ec9dab8054c71d112c68f58a45821b38c2a45677

8 years agoIf all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the leftjoin-or-fix
dan [Wed, 26 Oct 2016 15:46:09 +0000 (15:46 +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.

FossilOrigin-Name: e7b9bc678ecb75c594d9d3ade12a99a8d551cdc9

8 years agoMerge the SQLITE_ENABLE_URI_00_ERROR compile-time option.
drh [Wed, 26 Oct 2016 13:58:47 +0000 (13:58 +0000)] 
Merge the SQLITE_ENABLE_URI_00_ERROR compile-time option.

FossilOrigin-Name: 86675ae0abc78960a2faec55d115804acfc3be6d

8 years agoAdd extra tests to check the result of including a %00 escape in a URI uri-00-error
dan [Wed, 26 Oct 2016 13:44:07 +0000 (13:44 +0000)] 
Add extra tests to check the result of including a %00 escape in a URI
when ENABLE_URI_00_ERROR is defined.

FossilOrigin-Name: 1aaa06e37f44309c62335d8eda59ca6890d4be9d

8 years agoAdd compile time option SQLITE_ENABLE_URI_00_ERROR. If defined, any "%00"
dan [Wed, 26 Oct 2016 12:15:41 +0000 (12:15 +0000)] 
Add compile time option SQLITE_ENABLE_URI_00_ERROR. If defined, any "%00"
escape found in a URI is treated as an error.

FossilOrigin-Name: e8a9bfece27e2af178a206ad6bce3f24d64e7ee4

8 years agoAdd test case to demonstrate a "BEGIN EXCLUSIVE" command returning
dan [Tue, 25 Oct 2016 15:06:11 +0000 (15:06 +0000)] 
Add test case to demonstrate a "BEGIN EXCLUSIVE" command returning
SQLITE_BUSY_SNAPSHOT.

FossilOrigin-Name: b115856408b6aa5538be67beb619d7aff0630bea

8 years agoPerformance optimization in moveToRoot(). Avoid repeated validity checking of
drh [Mon, 24 Oct 2016 01:01:09 +0000 (01:01 +0000)] 
Performance optimization in moveToRoot(). Avoid repeated validity checking of
the root page on each call. Once is enough.

FossilOrigin-Name: 98795c2dd9a6d8fa8d49a9f5c36cdf824cae7246

8 years agoIn the sessions module, avoid recording a change if an UPDATE statement
drh [Sat, 22 Oct 2016 01:22:30 +0000 (01:22 +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: 5f3e602831ba2ecaf8ba5411efb387afcde05a33

8 years agoIn the sessions module, avoid recording a change if an UPDATE statement sessions-fix
dan [Fri, 21 Oct 2016 21:21:45 +0000 (21:21 +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: b861328ab9ceec6926d97658c3606e6ae9ad39bf

8 years agoAdd ".mode quote" to the command-line shell.
drh [Fri, 21 Oct 2016 17:39:30 +0000 (17:39 +0000)] 
Add ".mode quote" to the command-line shell.

FossilOrigin-Name: c4f5fa78cd8207ce1e46e32e632b8f6ee86047e1

8 years agoAvoid using the "direct overflow read" optimization to read large blobs if the
dan [Fri, 21 Oct 2016 10:49:39 +0000 (10:49 +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: b54c15f11796a75683eec4b502a22ccb87d621c6

8 years agoIf SQLITE_DIRECT_OVERFLOW_READ is defined at compile time, add "DIRECT_OVERFLOW_READ...
dan [Fri, 21 Oct 2016 10:09:22 +0000 (10:09 +0000)] 
If SQLITE_DIRECT_OVERFLOW_READ is defined at compile time, add "DIRECT_OVERFLOW_READ" to the list of symbols returned by "PRAGMA compile_options".

FossilOrigin-Name: b7d9727bff2e840af4b090872c991693e78e6076

8 years agoAdd test case to incrblob4.test. No changes to code.
dan [Thu, 20 Oct 2016 11:48:48 +0000 (11:48 +0000)] 
Add test case to incrblob4.test. No changes to code.

FossilOrigin-Name: fd9c6ff05f2052810549a1a6a384f4b40f4ba4ac

8 years agoMinor simplification of the comparison opcodes.
drh [Tue, 18 Oct 2016 16:36:15 +0000 (16:36 +0000)] 
Minor simplification of the comparison opcodes.

FossilOrigin-Name: 56474ebca3fdddb8f3c5156f06dc42dc0a65256c

8 years agoFix harmless uninitialized variable warnings in speedtest1.c.
drh [Tue, 18 Oct 2016 15:29:57 +0000 (15:29 +0000)] 
Fix harmless uninitialized variable warnings in speedtest1.c.

FossilOrigin-Name: 2aa7a03b8632dbfd9741018b5b19c372dcfd3647

8 years agoAdd the --repeat option to speedtest1.c and speed-check.sh.
drh [Tue, 18 Oct 2016 14:35:55 +0000 (14:35 +0000)] 
Add the --repeat option to speedtest1.c and speed-check.sh.

FossilOrigin-Name: 6ca0e06b21b0d5f7ae5bcb7839a11a45da0d2cea

8 years agoEscape non-ASCII character from an ICU extension comment.
mistachkin [Mon, 17 Oct 2016 18:44:11 +0000 (18:44 +0000)] 
Escape non-ASCII character from an ICU extension comment.

FossilOrigin-Name: 5ec02ecf3d20ce7e3f5249e9a3684f9b67a7d703

8 years agoCorrections to a couple recently added 'filectrl.test' results.
mistachkin [Mon, 17 Oct 2016 18:33:36 +0000 (18:33 +0000)] 
Corrections to a couple recently added 'filectrl.test' results.

FossilOrigin-Name: 3d89dc4544bc51f8c9fa63a6ecf0458f6d10fc9f

8 years agoChanges to support interrupting a checkpoint using sqlite3_interrupt().
dan [Mon, 17 Oct 2016 15:28:39 +0000 (15:28 +0000)] 
Changes to support interrupting a checkpoint using sqlite3_interrupt().

FossilOrigin-Name: c88d36e251abec24aa7e37cf550e148904b9fd2d

8 years agoSmall size reduction and performance increase in the string duplicator.
drh [Mon, 17 Oct 2016 00:48:06 +0000 (00:48 +0000)] 
Small size reduction and performance increase in the string duplicator.

FossilOrigin-Name: cda998f080cb00779d8c0d1c83d8fe2b74462cd4

8 years agoAdd documentation for the OP_SorterInsert opcode, formerly omitted by mistake.
drh [Sat, 15 Oct 2016 18:37:05 +0000 (18:37 +0000)] 
Add documentation for the OP_SorterInsert opcode, formerly omitted by mistake.
No changes to code.

FossilOrigin-Name: 16d88a907730e3773a1320dbaf1f82c2bc71d71f

8 years agoAdd test case to hook.test. No changes to non-test code.
dan [Sat, 15 Oct 2016 08:56:18 +0000 (08:56 +0000)] 
Add test case to hook.test. No changes to non-test code.

FossilOrigin-Name: 2674d779f5453ea6b709a39618d4b8017ab2e3fb

8 years agoAdd the SQLITE_FCNTL_WIN32_GET_HANDLE file control.
mistachkin [Fri, 14 Oct 2016 21:27:50 +0000 (21:27 +0000)] 
Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control.

FossilOrigin-Name: 16039be3739b8d3b34a1e6093eaebb09e07f984b

8 years agoBump the version number in anticipation of the next development cycle.
drh [Fri, 14 Oct 2016 21:16:27 +0000 (21:16 +0000)] 
Bump the version number in anticipation of the next development cycle.

FossilOrigin-Name: aa6de9c40ba2d906772b9032fd5d798661f6d4cc

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