]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
10 years agoVersion 3.8.7.4 branch-3.8.7 version-3.8.7.4
drh [Tue, 9 Dec 2014 01:34:36 +0000 (01:34 +0000)] 
Version 3.8.7.4

FossilOrigin-Name: f66f7a17b78ba617acde90fc810107f34f1a1f2e

10 years agoAdd missing mutex calls around a call to sqlite3SchemaGet() within sqlite3_open().
dan [Mon, 8 Dec 2014 20:23:30 +0000 (20:23 +0000)] 
Add missing mutex calls around a call to sqlite3SchemaGet() within sqlite3_open().

FossilOrigin-Name: 266b3441c6779b255a641bedbff79dd757ed6df5

10 years agoIncrease the version number to 3.8.7.4.
drh [Mon, 8 Dec 2014 18:02:47 +0000 (18:02 +0000)] 
Increase the version number to 3.8.7.4.

FossilOrigin-Name: 33c900279f29ebcfc07095f3eda6bf741e0fba19

10 years agoAdd a missing mutex around calls to clear the KeyInfo cache when closing
drh [Mon, 8 Dec 2014 17:45:04 +0000 (17:45 +0000)] 
Add a missing mutex around calls to clear the KeyInfo cache when closing
a database connection.

FossilOrigin-Name: 3ddc7e4c7778a6708856776471ded65f78825487

10 years agoVersion 3.8.7.3 version-3.8.7.3
drh [Fri, 5 Dec 2014 22:29:24 +0000 (22:29 +0000)] 
Version 3.8.7.3

FossilOrigin-Name: 647e77e853e81a5effeb4c33477910400a67ba86

10 years agoFix a buffer overread that might occur in analyze.c if SQLITE_ENABLE_STAT4 was defined.
dan [Fri, 5 Dec 2014 20:43:48 +0000 (20:43 +0000)] 
Fix a buffer overread that might occur in analyze.c if SQLITE_ENABLE_STAT4 was defined.

FossilOrigin-Name: 194c90db637ad4197a54be83a665feb2a9c96014

10 years agoThe KeyInfo cache must be cleared before closing the btree, not after.
drh [Fri, 5 Dec 2014 15:25:49 +0000 (15:25 +0000)] 
The KeyInfo cache must be cleared before closing the btree, not after.
Revised fix for ticket [e4a18565a36884b00edf].

FossilOrigin-Name: 48529508cfe2f9445a6940222fe5ff7cc92aef78

10 years agoIncrease the version number to 3.8.7.3.
drh [Fri, 5 Dec 2014 14:54:28 +0000 (14:54 +0000)] 
Increase the version number to 3.8.7.3.

FossilOrigin-Name: 9f7560bc453f55570eb67e1a03359f0133d66d99

10 years agoWhen closing a (shared-cache) database connection, be sure to clear out
drh [Fri, 5 Dec 2014 14:51:22 +0000 (14:51 +0000)] 
When closing a (shared-cache) database connection, be sure to clear out
all KeyInfo objects cached on Index objects.
Fix for ticket [e4a18565a36884b00edf].

FossilOrigin-Name: b7905b8c5fe266f43c99a44c6b9aa4b56b2ba4d1

10 years agoIf a table is the right operand of a LEFT JOIN, then any column of that
drh [Thu, 4 Dec 2014 16:29:21 +0000 (16:29 +0000)] 
If a table is the right operand of a LEFT JOIN, then any column of that
table can be NULL even if that column has a NOT NULL constraint.
Fix for ticket [6f2222d550f5b0ee7ed].

FossilOrigin-Name: 5a80957b04d68cc7e0325873a409d83c1f11b52f

10 years agoVersion 3.8.7.2. version-3.8.7.2
drh [Tue, 18 Nov 2014 20:57:56 +0000 (20:57 +0000)] 
Version 3.8.7.2.

FossilOrigin-Name: 2ab564bf9655b7c7b97ab85cafc8a48329b27f93

10 years agoIncrement the version number to 3.8.7.2
drh [Tue, 18 Nov 2014 12:28:52 +0000 (12:28 +0000)] 
Increment the version number to 3.8.7.2

FossilOrigin-Name: 945a9e687fdfee5f7103d85d131024e85d594ac3

10 years agoAdd an ALWAYS() to an always-true conditional in the WAL rollback logic.
drh [Tue, 18 Nov 2014 02:44:32 +0000 (02:44 +0000)] 
Add an ALWAYS() to an always-true conditional in the WAL rollback logic.

FossilOrigin-Name: c5eae8a60d474131fbfa4d0c2b459005267e8be4

10 years agoRemove code from sqlite3BtreeKeySize() made unreachable by the previous
drh [Mon, 17 Nov 2014 20:33:07 +0000 (20:33 +0000)] 
Remove code from sqlite3BtreeKeySize() made unreachable by the previous
check-in.

FossilOrigin-Name: 57c4aa988c8eda3cc513c1e5df5804d88bee99a0

10 years agoAvoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state.
dan [Mon, 17 Nov 2014 19:44:44 +0000 (19:44 +0000)] 
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state.

FossilOrigin-Name: 2f2ecb994889acb783616acb7307f8fed962d213

10 years agoImproved comments on the BtCursor.skipNext field. No changes to code.
drh [Mon, 17 Nov 2014 19:25:15 +0000 (19:25 +0000)] 
Improved comments on the BtCursor.skipNext field.  No changes to code.

FossilOrigin-Name: e956e7db057d1112badf5e0671cea95201385b44

10 years agoWhen a SELECT statement is terminated by a ROLLBACK TO operation, make the
drh [Mon, 17 Nov 2014 17:13:06 +0000 (17:13 +0000)] 
When a SELECT statement is terminated by a ROLLBACK TO operation, make the
error message be "abort due to ROLLBACK" rather than
"callback requested query abort".

FossilOrigin-Name: 34fc4a082c192830e48f643549c04a4f91912b8b

10 years agoFix a bug in the sqlite3TripAllCursors() routine that prevents it from
drh [Mon, 17 Nov 2014 15:32:47 +0000 (15:32 +0000)] 
Fix a bug in the sqlite3TripAllCursors() routine that prevents it from
reporting errors.  It is unknown at this time whether or not this omission can
result in any incorrect result in an actual query.

FossilOrigin-Name: 42588207ff5451cb785c394633e1ab631fb82f01

10 years agoUpdate a couple of test cases to account for the fact that ROLLBACK does not always...
dan [Mon, 17 Nov 2014 15:22:08 +0000 (15:22 +0000)] 
Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements.

FossilOrigin-Name: eba171e980fa4491dfee9d7e4df50c87a0ebbf87

10 years agoDo not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ......
drh [Fri, 14 Nov 2014 15:42:23 +0000 (15:42 +0000)] 
Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497].

FossilOrigin-Name: 98457a57d642b35917eb9ad8f70065e273aad206

10 years agoWhen a transaction or savepoint rollback occurs, save the positions of all open read...
drh [Thu, 13 Nov 2014 13:42:39 +0000 (13:42 +0000)] 
When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation.  Cherry-pick of check-in [dd03a2802f3f27]

FossilOrigin-Name: 402780a9c8df9e7ea898bdca49c1191042fe387a

10 years agoFix the %c format character in sqlite3VXPrintf() so that it correctly handles precisi...
drh [Wed, 12 Nov 2014 14:12:28 +0000 (14:12 +0000)] 
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70.

FossilOrigin-Name: 839a6df9f98b90fb593534a62145d9c913540bae

10 years agoMake sure that NULL results from OP_Column are fully and completely NULL and do not...
drh [Wed, 12 Nov 2014 14:07:28 +0000 (14:07 +0000)] 
Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4].

FossilOrigin-Name: e1017745e183f5d7429ce787ec2feef946a24f0f

10 years agoThis is a cherry-pick of version [b5df5ac052].
drh [Tue, 11 Nov 2014 22:55:26 +0000 (22:55 +0000)] 
This is a cherry-pick of version [b5df5ac052].

FossilOrigin-Name: d4b2d5d066891e06f2bf4337902b44b000fa9fd2

10 years agoVersion 3.8.7.1 version-3.8.7.1
drh [Wed, 29 Oct 2014 13:59:56 +0000 (13:59 +0000)] 
Version 3.8.7.1

FossilOrigin-Name: 3b7b72c4685aa5cf5e675c2c47ebec10d9704221

10 years agoIncrease the version number to 3.8.7.1
drh [Wed, 29 Oct 2014 01:27:43 +0000 (01:27 +0000)] 
Increase the version number to 3.8.7.1

FossilOrigin-Name: 83afe23e553e802c0947c80d0ffdd120423e7c52

10 years agoFix problems with running UPDATE and DELETE against a VIEW and referencing
drh [Wed, 29 Oct 2014 01:26:25 +0000 (01:26 +0000)] 
Fix problems with running UPDATE and DELETE against a VIEW and referencing
the rowid in the WHERE clause.  This is a cherrypick of [95f8ebdbf87326f2]
and [8523670d50004f3].

FossilOrigin-Name: cc33e846c8509419f0a1fbfb286807b4c137788d

10 years agoDisable the use of strchrnul() unless specifically enabled by compile-time
drh [Wed, 29 Oct 2014 01:18:03 +0000 (01:18 +0000)] 
Disable the use of strchrnul() unless specifically enabled by compile-time
options.  Cherrypick of check-in [e580470db77d6da9]

FossilOrigin-Name: 837368adfe859c41b347d3124d5b3fdf790eec03

10 years agoIn the OP_Column opcode, when extracting a field that is past the end of
drh [Wed, 29 Oct 2014 01:13:58 +0000 (01:13 +0000)] 
In the OP_Column opcode, when extracting a field that is past the end of
a short record (because the row was originally inserted prior to ALTER TABLE
ADD COLUMN) then make sure the output register is fully NULL and does not
contain leftover flags (such as MEM_Ephem) from its previous use.
Fix for ticket [43107840f1c02].  This is a cherrypick of
check-in [24780f8ddc1683fc].

FossilOrigin-Name: 304ea6ba6f4cf40a76d32d37af73a253f493ba47

10 years agoCall fsync() right after ftruncate() when in journal_mode=TRUNCATE and
drh [Wed, 29 Oct 2014 01:07:21 +0000 (01:07 +0000)] 
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and
when synchronous=FULL in order to ensure that transactions are durable
across a power loss that happens moments after the commit.  Proposed
fix for [https://bugzilla.mozilla.org/show_bug.cgi?id=1072773].
This is a cherrypick of [3e922208b68563489].

FossilOrigin-Name: a8f9bd1e890434fcffa02fcd2baf8b0fb5d4c9dd

10 years agoVersion 3.8.7 version-3.8.7
drh [Fri, 17 Oct 2014 11:24:17 +0000 (11:24 +0000)] 
Version 3.8.7

FossilOrigin-Name: e4ab094f8afce0817f4074e823fabe59fc29ebb4

10 years agoWork around MSVC not being able to deduce that a local variable was initialized in...
mistachkin [Thu, 16 Oct 2014 21:39:17 +0000 (21:39 +0000)] 
Work around MSVC not being able to deduce that a local variable was initialized in a called function.

FossilOrigin-Name: 06c576c152c4013080c255cbbeb45bf2e298be9f

10 years agoChanges to work around Win32 and MSVCRT APIs that are not present on Windows CE 200x.
mistachkin [Thu, 16 Oct 2014 18:34:50 +0000 (18:34 +0000)] 
Changes to work around Win32 and MSVCRT APIs that are not present on Windows CE 200x.

FossilOrigin-Name: 1418c006e377d7915a50577d4ccb21125b750bae

10 years agoUpdate the vdbe-compress.tcl script to account for expressions of the form (123>var...
dan [Thu, 16 Oct 2014 11:45:14 +0000 (11:45 +0000)] 
Update the vdbe-compress.tcl script to account for expressions of the form (123>var), where "var" should be replaced with a reference to a union member.

FossilOrigin-Name: 640345d880c6178f8434e3ce40329b7527588843

10 years agoUpdate releasetest.tcl so that x86-64 runs a superset of the x86 tests.
dan [Wed, 15 Oct 2014 15:28:27 +0000 (15:28 +0000)] 
Update releasetest.tcl so that x86-64 runs a superset of the x86 tests.

FossilOrigin-Name: 3c1e70f4d55bc009ed9ed4cf6d756d7061985851

10 years agoFix a problem causing lock5.test to fail in mmap-mode.
dan [Wed, 15 Oct 2014 14:45:34 +0000 (14:45 +0000)] 
Fix a problem causing lock5.test to fail in mmap-mode.

FossilOrigin-Name: b3e7b446bdb47cf9d7fe43dc37e3b4f8010ee09e

10 years agoAdd a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading
drh [Wed, 15 Oct 2014 11:55:51 +0000 (11:55 +0000)] 
Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading
before the beginning of an allocation.

FossilOrigin-Name: 9386bfca128023583a24303e5f1d832987a49d43

10 years agoRearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly...
dan [Wed, 15 Oct 2014 11:31:35 +0000 (11:31 +0000)] 
Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable.

FossilOrigin-Name: 4a7b3fa049a9aa0668e318287edd4a78c0588bf8

10 years agoMake sure new sqlite3_vtab objects created by the xCreate() virtual table
drh [Tue, 14 Oct 2014 20:25:43 +0000 (20:25 +0000)] 
Make sure new sqlite3_vtab objects created by the xCreate() virtual table
method are initialized by the system, in accordance with the documentation.

FossilOrigin-Name: eab82330631187dcc3e5d2dddd23dbda5752904b

10 years agoOptimize a database corruption test inside of the OP_Column opcode.
drh [Mon, 13 Oct 2014 23:39:02 +0000 (23:39 +0000)] 
Optimize a database corruption test inside of the OP_Column opcode.

FossilOrigin-Name: 005e5b388a8a97bca6d1f0e06c40d68d92aa1212

10 years agoUse the padding word in the Mem object as temporary storage for
drh [Mon, 13 Oct 2014 20:12:47 +0000 (20:12 +0000)] 
Use the padding word in the Mem object as temporary storage for
serial_type value in OP_Record, and thus avoid a redundant computation of
the serial_type for each column.

FossilOrigin-Name: 4b3b65ee5ea61e9b9671ca027940bf02689cb890

10 years agoThree small optimizations to vdbeaux.c.
drh [Mon, 13 Oct 2014 17:42:05 +0000 (17:42 +0000)] 
Three small optimizations to vdbeaux.c.

FossilOrigin-Name: 04892f8ba6c55cec4fe37bfe59b6349fd2a40698

10 years agoReduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out
drh [Mon, 13 Oct 2014 16:02:20 +0000 (16:02 +0000)] 
Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out
some of its functions and by avoiding unnecessary calls.

FossilOrigin-Name: c2799aece17d347c64217a0e407bb10e50c184a3

10 years agoRemove the OPFLAG_CLEARCACHE flag from OP_Column. In its place, change the
drh [Mon, 13 Oct 2014 13:00:58 +0000 (13:00 +0000)] 
Remove the OPFLAG_CLEARCACHE flag from OP_Column.  In its place, change the
P3 parameter of OP_SorterData to be the index of the pseudo-table cursor whose
record header cache is to be cleared.  This gives a small size reduction
and performance increase.

FossilOrigin-Name: 20062f49428a2349a2dd705af570c60b499a3eef

10 years agoRemove the VdbeCursor.lastRowid cache of the current rowid, since maintaining
drh [Sun, 12 Oct 2014 22:37:22 +0000 (22:37 +0000)] 
Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining
the correct cache value uses more CPU cycles than just recomputing the rowid
on the occasions when it is actually needed.  Replace it with the
VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType
when needed. Saves 100 bytes of code space and runs 0.2% faster.

FossilOrigin-Name: 91384a7d727ef0f285cd430e829ba9f3852db50e

10 years agoPerformance optimization and very slight size reduction for OP_Column.
drh [Sat, 11 Oct 2014 23:31:52 +0000 (23:31 +0000)] 
Performance optimization and very slight size reduction for OP_Column.

FossilOrigin-Name: 869c30e45cc87063be423c650f16b99e8adb3df0

10 years agoSimplification to the insertCell() routine in btree.c, resulting in a
drh [Sat, 11 Oct 2014 17:22:55 +0000 (17:22 +0000)] 
Simplification to the insertCell() routine in btree.c, resulting in a
performance boost and a very small size decrease.  It turns out that the
extra work involved in sometimes avoiding an memcpy() of the first four bytes
of a record takes more time than just unconditionally copying those
four bytes.

FossilOrigin-Name: 66de15580d3c289601e67debfe1edee286f4db5f

10 years agoRequire the SQLITE_ENABLE_RTREE compile-time option in speedtest1.c in order
drh [Sat, 11 Oct 2014 10:52:54 +0000 (10:52 +0000)] 
Require the SQLITE_ENABLE_RTREE compile-time option in speedtest1.c in order
to enable the R-Tree tests.

FossilOrigin-Name: 5d29a033b0f17b0fd74656b28a8367a9a9067f81

10 years agoMake sure that a GROUP BY that also implements an ORDER BY scans the table
drh [Sat, 11 Oct 2014 02:12:58 +0000 (02:12 +0000)] 
Make sure that a GROUP BY that also implements an ORDER BY scans the table
in the correct order.  Fix for ticket [ba7cbfaedc7e6].

FossilOrigin-Name: 7a32fdfd4be2138c0ab00f3dc6f54a70e4e07be4

10 years agoRemove an unnecessary conditional from the EXPLAIN QUERY PLAN logic.
drh [Sat, 11 Oct 2014 01:22:16 +0000 (01:22 +0000)] 
Remove an unnecessary conditional from the EXPLAIN QUERY PLAN logic.

FossilOrigin-Name: c5dc83ebded914f07286b7f98d0a50c28c16f609

10 years agoAccount for the ASC/DESC properties of ORDER BY expressions when using the same index... experimental
dan [Fri, 10 Oct 2014 20:52:53 +0000 (20:52 +0000)] 
Account for the ASC/DESC properties of ORDER BY expressions when using the same index for GROUP BY and ORDER BY. Candidate fix for [ba7cbfaedc].

FossilOrigin-Name: 2a9573962b837973c4959465d8a5f2641d109a5a

10 years agoRestrict the scope of the explainIndexRange() function in where.c.
drh [Fri, 10 Oct 2014 19:15:35 +0000 (19:15 +0000)] 
Restrict the scope of the explainIndexRange() function in where.c.

FossilOrigin-Name: c30124520027f0f860223bf842e2f09db3dafb5f

10 years agoFix a failing test case in index5.test. Also tweak the way cache memory is divided...
dan [Fri, 10 Oct 2014 19:10:59 +0000 (19:10 +0000)] 
Fix a failing test case in index5.test. Also tweak the way cache memory is divided between read-only and dirty pages when using SQLITE_CONFIG_PAGECACHE to reduce IO in some cases.

FossilOrigin-Name: 8541dfb3bbdf63dc9ab304d8a0ab8b290cdc9d96

10 years agoChanges to enable compiling using VC6.
drh [Fri, 10 Oct 2014 18:09:52 +0000 (18:09 +0000)] 
Changes to enable compiling using VC6.

FossilOrigin-Name: 9ee5686ab3b0bca8cabdf455c75bd9410cdc5378

10 years agoWhen using the -config option to releasetest.tcl, default the testing type
drh [Fri, 10 Oct 2014 17:47:00 +0000 (17:47 +0000)] 
When using the -config option to releasetest.tcl, default the testing type
to "fulltest" if it is not specified on the command line.

FossilOrigin-Name: cf291cbe9f49396f03cfca39c2e892f27f750107

10 years agoProvide the new "-config CONFIG" option to the test/releasetest.tcl script,
drh [Fri, 10 Oct 2014 17:44:03 +0000 (17:44 +0000)] 
Provide the new "-config CONFIG" option to the test/releasetest.tcl script,
which allows one to run a single test configuration selected by name.

FossilOrigin-Name: d479e32be205f6cd0474f002282eae6eec613f36

10 years agoAdd the estimated number of output rows to the EXPLAIN QUERY PLAN output
drh [Fri, 10 Oct 2014 17:20:39 +0000 (17:20 +0000)] 
Add the estimated number of output rows to the EXPLAIN QUERY PLAN output
if compiled with SQLITE_EXPLAIN_ESTIMATED_ROWS.  This feature is off by
default for the time being.

FossilOrigin-Name: daa8314fba9dc3c4f5e7fbda42c97604fbfc4392

10 years agoSimplify the code used to generate the text for EXPLAIN QUERY PLAN.
drh [Fri, 10 Oct 2014 15:47:46 +0000 (15:47 +0000)] 
Simplify the code used to generate the text for EXPLAIN QUERY PLAN.

FossilOrigin-Name: beea1efc3a49cad08087fcbb18dbce71c873fe57

10 years agoFix a potential problem in the whereRangeScanEst() routine when STAT4 is
drh [Fri, 10 Oct 2014 15:01:46 +0000 (15:01 +0000)] 
Fix a potential problem in the whereRangeScanEst() routine when STAT4 is
active.  The problem was introduced by recent enhancements.

FossilOrigin-Name: 68e1b4de700b5291f79249a03e1a750c6b2c9ae4

10 years agoCause the command-line shell to return non-zero if the final SQL statement
drh [Fri, 10 Oct 2014 13:08:33 +0000 (13:08 +0000)] 
Cause the command-line shell to return non-zero if the final SQL statement
is incomplete.

FossilOrigin-Name: 177fff3b98b101b98f1e7d334b6a80530b645565

10 years agoAllow FTS tokenizers to choose whether or not to consider the "*" character part...
dan [Thu, 9 Oct 2014 15:08:17 +0000 (15:08 +0000)] 
Allow FTS tokenizers to choose whether or not to consider the "*" character part of tokens or not. This restores the pre-[e21bf7a2ad] behaviour. Also fix a problem causing FTS to interpret tokens beginning with "*" characters as EOF.

FossilOrigin-Name: 49dfee7cd1c9ab2901b8a871a6cd00b2ead76801

10 years agoAdd a test case for the memory leak fixed by the previous check-in.
drh [Thu, 9 Oct 2014 14:10:38 +0000 (14:10 +0000)] 
Add a test case for the memory leak fixed by the previous check-in.

FossilOrigin-Name: bae36d544676c90e337381a83f4513b4d925ab05

10 years agoFix a memory leak associated with the FTS4 matchinfo() function.
drh [Thu, 9 Oct 2014 14:00:49 +0000 (14:00 +0000)] 
Fix a memory leak associated with the FTS4 matchinfo() function.

FossilOrigin-Name: fb8da82411b80a234c6a5481622027815450996a

10 years agoRemove an always-true branch in whereRangeScanEst(). Replace it with an
drh [Wed, 8 Oct 2014 19:33:54 +0000 (19:33 +0000)] 
Remove an always-true branch in whereRangeScanEst().  Replace it with an
assert().

FossilOrigin-Name: 42e48fd3a6a6219d9bd6135d821b38c5157922ba

10 years agoFix up test cases to account for the new SQLITE_LIMIT_WORKER_THREADS limit.
drh [Wed, 8 Oct 2014 15:53:21 +0000 (15:53 +0000)] 
Fix up test cases to account for the new SQLITE_LIMIT_WORKER_THREADS limit.

FossilOrigin-Name: 6483d426c4c5c772cd49412ea37e0fa7a0378904

10 years agoSet the connection-specific lastRowid value before calling any SQL function.
drh [Wed, 8 Oct 2014 14:28:31 +0000 (14:28 +0000)] 
Set the connection-specific lastRowid value before calling any SQL function.

FossilOrigin-Name: dff0f6422e60a7e2e4efb658aab202a119cfa702

10 years agoEnsure that the Pager.pTmpSpace allocation is correct even if an OOM error
drh [Wed, 8 Oct 2014 13:34:21 +0000 (13:34 +0000)] 
Ensure that the Pager.pTmpSpace allocation is correct even if an OOM error
occurs while reducing the page size.

FossilOrigin-Name: e4b43967fd9a0b4944be9ab5575bff3678be8ed5

10 years agoRemove some temporary code in mallocA.test that was accidentally checked in.
dan [Wed, 8 Oct 2014 11:11:24 +0000 (11:11 +0000)] 
Remove some temporary code in mallocA.test that was accidentally checked in.

FossilOrigin-Name: dedd15f7cd13868f3be37646dd30ab7ceac5dea7

10 years agoFix the STAT4 range scan estimates for DESC indexes.
drh [Wed, 8 Oct 2014 02:53:25 +0000 (02:53 +0000)] 
Fix the STAT4 range scan estimates for DESC indexes.

FossilOrigin-Name: e3fe84005259ef9a6027d25793514cebb2d4e7e0

10 years agoMore intuitive labels on ".wheretrace" output.
drh [Wed, 8 Oct 2014 00:08:08 +0000 (00:08 +0000)] 
More intuitive labels on ".wheretrace" output.

FossilOrigin-Name: adcb3fed489b580221c7bf2692a60e24248b23a0

10 years agoMake sure the sqlite3VdbeMemClearAndResize() routine is never called with a
drh [Tue, 7 Oct 2014 23:02:24 +0000 (23:02 +0000)] 
Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a
zero size parameter, since a size of zero could lead to either a memory leak
or an assertion fault.

FossilOrigin-Name: f672a380e2e52bede95ff11a533fd9f7d412d494

10 years agoFix the corruptI.test script so that it works with
drh [Tue, 7 Oct 2014 20:09:27 +0000 (20:09 +0000)] 
Fix the corruptI.test script so that it works with
SQLITE_ENABLE_OVERSIZE_CELL_CHECK and with SQLITE_DEFAULT_AUTOVACUUM=1.

FossilOrigin-Name: e405b9e4a9ef322d84b20e902234b4f6aa196b1b

10 years agoRestrict the scope of the valueToText() routine.
drh [Tue, 7 Oct 2014 16:59:22 +0000 (16:59 +0000)] 
Restrict the scope of the valueToText() routine.

FossilOrigin-Name: 13c962b33df411a0d9ead0bb1969596faa286f79

10 years agoEnhance (and fix) the MEMTYPE tags associated with heap memory allocations
drh [Tue, 7 Oct 2014 15:46:54 +0000 (15:46 +0000)] 
Enhance (and fix) the MEMTYPE tags associated with heap memory allocations
when SQLITE_MEMDEBUG is used.

FossilOrigin-Name: ca5b789e33c4e5ce366d8f5372d086442f84e230

10 years agoRemove unreachable branches in decodeIntArray() when compiling without
drh [Mon, 6 Oct 2014 18:33:49 +0000 (18:33 +0000)] 
Remove unreachable branches in decodeIntArray() when compiling without
STAT3 or STAT4.

FossilOrigin-Name: 80e1baa5c225c78902e08dbea9d577ff5757847f

10 years agoImprove the accuracy of the estimates used when searching an index for values not...
dan [Mon, 6 Oct 2014 14:37:48 +0000 (14:37 +0000)] 
Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples.

FossilOrigin-Name: 3aff9a9cac7aa994dfdaa0ab5c23ae73a1e820f0

10 years agoFix a harmless compiler warning inside an assert() in FTS4.
drh [Mon, 6 Oct 2014 12:41:57 +0000 (12:41 +0000)] 
Fix a harmless compiler warning inside an assert() in FTS4.

FossilOrigin-Name: 418f3c9ad28672e5fe38d772d34e7cf8d26bc0e1

10 years agoTweaks to documentation on sqlite3_open() and sqlite3_bind(). No code changes.
drh [Sat, 4 Oct 2014 19:31:53 +0000 (19:31 +0000)] 
Tweaks to documentation on sqlite3_open() and sqlite3_bind().  No code changes.

FossilOrigin-Name: b8f7f19dc06c59de2e194d83e6c052fb7d28c71d

10 years agoUpdates to documentation and requirements marks. No code changes.
drh [Sat, 4 Oct 2014 11:59:33 +0000 (11:59 +0000)] 
Updates to documentation and requirements marks.  No code changes.

FossilOrigin-Name: 0f8102d71a0ee828629f037775ad86fe2a544120

10 years agoAdd a test to show that the change on this branch is effective. stat4-avgeq
dan [Sat, 4 Oct 2014 10:22:01 +0000 (10:22 +0000)] 
Add a test to show that the change on this branch is effective.

FossilOrigin-Name: fc619be057975b8be6d0958024c5d436edbdf084

10 years agoAvoid leaking Index.aiRowEst memory if an OOM causes a rollback which deletes
drh [Sat, 4 Oct 2014 00:07:44 +0000 (00:07 +0000)] 
Avoid leaking Index.aiRowEst memory if an OOM causes a rollback which deletes
the index before the aiRowEst deletion code in sqlite3AnalysisLoad() routine
has a chance to run.  Since the aiRowEst now might be deleted from freeIndex()
which does not always have a db pointer, make sure the aiRowEst memory is
not held in lookaside.

FossilOrigin-Name: efd87ba142723ba131fcc985db6eb45c5a3c637b

10 years agoFix a division-by-zero error that might occur if the sqlite_stat1 table is corrupt.
dan [Fri, 3 Oct 2014 19:29:39 +0000 (19:29 +0000)] 
Fix a division-by-zero error that might occur if the sqlite_stat1 table is corrupt.

FossilOrigin-Name: f9c053b23ece877a7fdbe82204a10592f2d24a2d

10 years agoImprove the accuracy of the estimates used when searching an index for values not...
dan [Fri, 3 Oct 2014 19:16:53 +0000 (19:16 +0000)] 
Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples under some circumstances.

FossilOrigin-Name: e6f7f97dbc677c9f01b23142928c3fa7307c2fba

10 years agoAdd requirements marks on the sqlite3_db_status() interface implementation.
drh [Fri, 3 Oct 2014 16:00:51 +0000 (16:00 +0000)] 
Add requirements marks on the sqlite3_db_status() interface implementation.
Fix a typo in the documentation.  Fix the new sqlite3_result_text64() routine
so that it works correctly with an encoding parameter of SQLITE_UTF16.

FossilOrigin-Name: d2fc322728331ae2d147c8496129df5e3c655eb5

10 years agoUpdate to requirements marks related to changes in the memory allocation
drh [Fri, 3 Oct 2014 14:54:47 +0000 (14:54 +0000)] 
Update to requirements marks related to changes in the memory allocation
interface and enhancement of the documentation regarding DEFAULT clauses
in CREATE TABLE.

FossilOrigin-Name: 440705b98a3429b830ea85e71cc1e414bc6d8058

10 years agoAvoid a NULL pointer deference when processing the IS operator if the
drh [Thu, 2 Oct 2014 21:52:35 +0000 (21:52 +0000)] 
Avoid a NULL pointer deference when processing the IS operator if the
right-hand side is an illegal "#ID" style variable.
Fix for ticket [8c32a33a53092c85a15b]

FossilOrigin-Name: ffe7573636c8057614b02f0a85559e1857fd04e4

10 years agoShow the TK_DOT operator in the TreeView debugging output.
drh [Wed, 1 Oct 2014 13:17:34 +0000 (13:17 +0000)] 
Show the TK_DOT operator in the TreeView debugging output.
No changes to production code.

FossilOrigin-Name: 07c89940c49a5dca3205a4b6fa8290f23bcb6e10

10 years agoAvoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_REA...
dan [Wed, 1 Oct 2014 12:01:10 +0000 (12:01 +0000)] 
Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6].

FossilOrigin-Name: c3c15d20c6913811956a5041c959a56ca4eeb5eb

10 years agoImprovements to the new syntax-tree output routines: Omit the "END SELECT"
drh [Tue, 30 Sep 2014 19:04:41 +0000 (19:04 +0000)] 
Improvements to the new syntax-tree output routines:  Omit the "END SELECT"
mark and instead terminate the graph at the last item.  Increase the maximum
tree depth to 100.

FossilOrigin-Name: 5ce05757aac80b99c3b2141cd301809f8e28e661

10 years agoEnable the query planner to deal with WHERE clauses that have OR terms
drh [Tue, 30 Sep 2014 17:31:23 +0000 (17:31 +0000)] 
Enable the query planner to deal with WHERE clauses that have OR terms
nested within AND terms that are nested within OR terms.  Also remove an
unused function declaration.

FossilOrigin-Name: b6b289182f6590288ebc7b9efbcb29b6b4480538

10 years agoFurther enhancements to the "wheretrace" debugging output.
drh [Tue, 30 Sep 2014 17:03:35 +0000 (17:03 +0000)] 
Further enhancements to the "wheretrace" debugging output.

FossilOrigin-Name: 670993eb8113f386cb2cb8b1507917f6da3b4d98

10 years agoEnhanced debug output for OR-logic in the query loop optimizer.
drh [Tue, 30 Sep 2014 14:14:19 +0000 (14:14 +0000)] 
Enhanced debug output for OR-logic in the query loop optimizer.

FossilOrigin-Name: 2e375eae473e4a9f2e7870d59e22ba39051ecbce

10 years agoShow tree diagrams of data structures in the debugging output when the 0x100
drh [Tue, 30 Sep 2014 13:46:49 +0000 (13:46 +0000)] 
Show tree diagrams of data structures in the debugging output when the 0x100
bit is set on sqlite3WhereTrace or sqlite3SelectTrace.

FossilOrigin-Name: 92e0b4bd4d75e8b000586e51a07b3e181d9af20b

10 years agoRemove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative
drh [Tue, 30 Sep 2014 12:33:33 +0000 (12:33 +0000)] 
Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option.  Add alternative
debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(),
and sqlite3TreeViewSelect().

FossilOrigin-Name: 4ff51325d6b41d0c59e303b573700ec80c51d216

10 years agoFix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to
drh [Mon, 29 Sep 2014 15:42:01 +0000 (15:42 +0000)] 
Fix the header comment in sqlite3VdbeDeletePriorOpcode().  No changes to
code.

FossilOrigin-Name: 7fb1626866c2f8dad84c7e6184824be3efd71ca2

10 years agoEnsure that the OP_Prev opcode verifies that content has not been deleted
drh [Mon, 29 Sep 2014 15:00:28 +0000 (15:00 +0000)] 
Ensure that the OP_Prev opcode verifies that content has not been deleted
out from under the cursor.  Fix for ticket [209d31e3161b9e9ff].

FossilOrigin-Name: 414f0d6a647a4d040b5463c73c5e15e699d85b4c

10 years agoAdd an assert() to verify the last-row-id for the database just prior to calling...
mistachkin [Fri, 26 Sep 2014 18:30:11 +0000 (18:30 +0000)] 
Add an assert() to verify the last-row-id for the database just prior to calling a SQL function.

FossilOrigin-Name: d026f0c944ce812732d3595eaa3c5d432a86c7dd

10 years agoFix the "PRAGMA integrity_check" command so that it avoids formatting error
drh [Fri, 26 Sep 2014 02:41:05 +0000 (02:41 +0000)] 
Fix the "PRAGMA integrity_check" command so that it avoids formatting error
message context messages until it actually needs to generate an error message.
This avoids much formatting, and hence greatly improves the performance of
"PRAGMA integrity_check" in the common case when there are no errors.  It also
makes the code a little smaller.

FossilOrigin-Name: 83913515830aa850f9e38406f9422d7e88dcab66

10 years agoIf an SQL function makes a recursive call to do an INSERT into the same
drh [Fri, 26 Sep 2014 01:10:02 +0000 (01:10 +0000)] 
If an SQL function makes a recursive call to do an INSERT into the same
database, make sure that the last_insert_rowid() for that INSERT is recorded.

FossilOrigin-Name: e93aecc090c2a1d3c231bb2bde044886eff0bdf7

10 years agoMinor code reformatting and comment change, to improve clarity.
drh [Thu, 25 Sep 2014 17:42:41 +0000 (17:42 +0000)] 
Minor code reformatting and comment change, to improve clarity.
No logic changes.

FossilOrigin-Name: baeb72a356d73e6f624edacd2986ab766105e177