]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
10 years agoUse OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. OP_SorterColumns
drh [Mon, 13 Oct 2014 12:30:17 +0000 (12:30 +0000)] 
Use OP_SorterColumns in aggregate queries.  Remove OPFLAG_CLEARCACHE.

FossilOrigin-Name: 134e65c07f88218a9f9f0b526695a7121df31e68

10 years agoAdd the OP_SorterColumns opcode - an experiment in using a special case
drh [Mon, 13 Oct 2014 01:23:51 +0000 (01:23 +0000)] 
Add the OP_SorterColumns opcode - an experiment in using a special case
opcode to decode the Sorter output rather than the generic OP_Column.  This
might be faster.  And with further work, it could eventually eliminate the
need for OP_OpenPseudo.

FossilOrigin-Name: b9c695e8859bb9972a9890bf2ccf341c1282ab77

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

10 years agoSimplifications to the SQL function and aggregate calling procedures.
drh [Thu, 25 Sep 2014 13:17:30 +0000 (13:17 +0000)] 
Simplifications to the SQL function and aggregate calling procedures.

FossilOrigin-Name: 3467049a1705b49905ea88a5c6becb6fe318f2fa

10 years agoSimplification to the random rowid picking logic that begins running when
drh [Thu, 25 Sep 2014 12:31:28 +0000 (12:31 +0000)] 
Simplification to the random rowid picking logic that begins running when
the maximum possible rowid has already been used.

FossilOrigin-Name: 1330c72e172324c68ab49e5bb2ceba985935ae01

10 years agoStill more performance enhancements to the LIKE and GLOB operators.
drh [Thu, 25 Sep 2014 11:08:57 +0000 (11:08 +0000)] 
Still more performance enhancements to the LIKE and GLOB operators.

FossilOrigin-Name: 6c8924cacc2b875270770fed2cc3b1884f57a655

10 years agoMore performance optimization for the LIKE and GLOB operators.
drh [Thu, 25 Sep 2014 03:51:37 +0000 (03:51 +0000)] 
More performance optimization for the LIKE and GLOB operators.

FossilOrigin-Name: 5ab1023d6cfe31fa8a194804b8216058977ac973

10 years agoChange that might allow SQLite to build and work using the EBCDIC character
drh [Thu, 25 Sep 2014 02:44:29 +0000 (02:44 +0000)] 
Change that might allow SQLite to build and work using the EBCDIC character
set.

FossilOrigin-Name: ef30e0352b3d4a29749cd0872c10e45a6649ec52

10 years agoSize reduction and performance improvement in the LIKE and GLOB operators.
drh [Thu, 25 Sep 2014 00:56:00 +0000 (00:56 +0000)] 
Size reduction and performance improvement in the LIKE and GLOB operators.

FossilOrigin-Name: b2c89ef49cd19b8031a8149a2dc47cea07dd04e0

10 years agoHave each open database allocate its pTmpSpace when the first write cursor
drh [Wed, 24 Sep 2014 19:47:27 +0000 (19:47 +0000)] 
Have each open database allocate its pTmpSpace when the first write cursor
is opened, rather than on each insert or delete, for a small space savings
and performance boost.

FossilOrigin-Name: 99323552c001bc9173eb2a44542234c8ef7a9845

10 years agoSmall performance and size optimization for btreeUnlockIfUnused().
drh [Wed, 24 Sep 2014 18:31:07 +0000 (18:31 +0000)] 
Small performance and size optimization for btreeUnlockIfUnused().

FossilOrigin-Name: 13c746f85d254475b10c3dd58555acd3bbead0ce

10 years agoDo not allow parameters in a DEFAULT clause of a CREATE TABLE statement.
drh [Wed, 24 Sep 2014 13:20:22 +0000 (13:20 +0000)] 
Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement.
Ticket [78c0c8c3c9f7c1].

FossilOrigin-Name: 1ad2bc1ed4c4ac81ac67a9660761f0eeb47c7fef

10 years agoHave the clearCell() routine return the cell size to the caller, rather
drh [Wed, 24 Sep 2014 02:05:41 +0000 (02:05 +0000)] 
Have the clearCell() routine return the cell size to the caller, rather
than have the caller make a separate call to cellSizePtr().

FossilOrigin-Name: f21d217583c205dc17f98bb4877fd4ed98cefcb1

10 years agoShorten all lines of source code in btree.c to at most 80 characters.
drh [Wed, 24 Sep 2014 01:23:00 +0000 (01:23 +0000)] 
Shorten all lines of source code in btree.c to at most 80 characters.
No logical changes.

FossilOrigin-Name: 5dd41cdbfebdd088ebd9a90a394ee296c207ad90

10 years agoAdd the MemPage.noPayload boolean and use it to help
drh [Wed, 24 Sep 2014 00:59:08 +0000 (00:59 +0000)] 
Add the MemPage.noPayload boolean and use it to help
cellSizePtr() and btreeParseCellPtr() run faster.

FossilOrigin-Name: 8e3375313ebbf26b68561f3ed31d2a488222e5d0

10 years agoRemove an unused C-preprocessor macro. No functional changes to the code.
drh [Tue, 23 Sep 2014 23:12:53 +0000 (23:12 +0000)] 
Remove an unused C-preprocessor macro.  No functional changes to the code.

FossilOrigin-Name: f480582ccae0e9a917d4523191025bd16016ba64

10 years agoAvoid calling btreeParseCellPtr() from within fillInCell() since most of
drh [Tue, 23 Sep 2014 22:36:25 +0000 (22:36 +0000)] 
Avoid calling btreeParseCellPtr() from within fillInCell() since most of
what btreeParseCellPtr() computes is ignored by fillInCell().  Instead, have
fillInCell() compute the values it needs inline.  Performance improvement.

FossilOrigin-Name: 4147f6671e3faa8ddffab8387a6c7d9b5b962fc8

10 years agoSimplify the CellInfo structure for a size reduction and performance
drh [Tue, 23 Sep 2014 21:25:19 +0000 (21:25 +0000)] 
Simplify the CellInfo structure for a size reduction and performance
improvement.

FossilOrigin-Name: bf59df66b3613c38cfb13a68091b8328ebb22c78

10 years agoAdd the "multiplex_truncate" PRAGMA to the multiplexor extension, for
drh [Tue, 23 Sep 2014 18:30:00 +0000 (18:30 +0000)] 
Add the "multiplex_truncate" PRAGMA to the multiplexor extension, for
querying and setting the truncate flag on a database connection.

FossilOrigin-Name: d2962a5f388f30a02429e0c8b87399f482b5604c

10 years agoAdjust skip-scan cost estimates slightly so that a full table scan is
drh [Tue, 23 Sep 2014 01:40:59 +0000 (01:40 +0000)] 
Adjust skip-scan cost estimates slightly so that a full table scan is
preferred over a skip-scan to a column with only two distinct values.

FossilOrigin-Name: ae9a42b268ad3f7d21a5813bb931e795c6917014

10 years agoFix to payload size overflow detection in the cellSizePtr() change of
drh [Mon, 22 Sep 2014 20:38:10 +0000 (20:38 +0000)] 
Fix to payload size overflow detection in the cellSizePtr() change of
the previous check-in.

FossilOrigin-Name: 7609744014c6a84a8379794a0351a2e9626ec86b

10 years agoSize reduction and substantial performance increase for cellSizePtr().
drh [Mon, 22 Sep 2014 19:51:35 +0000 (19:51 +0000)] 
Size reduction and substantial performance increase for cellSizePtr().

FossilOrigin-Name: bc8bbf3207288d160287519c3b7123997996b440

10 years agoTune the query planner to be more aggressive about using automatic indexes
drh [Mon, 22 Sep 2014 14:30:51 +0000 (14:30 +0000)] 
Tune the query planner to be more aggressive about using automatic indexes
on views and subqueries for which there is not opportunity to declare a
persistent schema index.

FossilOrigin-Name: 41de1643bfc9ae25e20790d707e2789b665baa2b

10 years agoDisable shared memory operations using the unix-nolock VFS.
drh [Mon, 22 Sep 2014 03:22:27 +0000 (03:22 +0000)] 
Disable shared memory operations using the unix-nolock VFS.

FossilOrigin-Name: 10a6e510497b471d67ac3dfb19ff256a7d18adf4

10 years agoCorrectly handle an ORDER BY clause on an outer query when applying
drh [Sun, 21 Sep 2014 22:31:52 +0000 (22:31 +0000)] 
Correctly handle an ORDER BY clause on an outer query when applying
the compound-subquery flattening optimization.  Ticket [89398880bcfff].
Also add the SQLITE_ENABLE_SELECTTRACE option for additional debugging
and analysis information about select statement processing.

FossilOrigin-Name: d5880abd63c83c88e135257373afa0a3fd88297e

10 years agoAdd test cases for ticket [89398880bcfff9]. select-trace
drh [Sun, 21 Sep 2014 20:31:26 +0000 (20:31 +0000)] 
Add test cases for ticket [89398880bcfff9].

FossilOrigin-Name: 9683e001ed38b41979220eef0bdfcb54df5f3191

10 years agoAdd the "showauth" extension in ext/misc.
drh [Sun, 21 Sep 2014 17:51:37 +0000 (17:51 +0000)] 
Add the "showauth" extension in ext/misc.

FossilOrigin-Name: 28d52c1c38d849f099bc777f5987d1ef89680c2a

10 years agoImproved ".selecttrace" output.
drh [Sun, 21 Sep 2014 00:27:26 +0000 (00:27 +0000)] 
Improved ".selecttrace" output.

FossilOrigin-Name: c0b61f7092a7fd2c5f51db26ce7a7a5c75c227fe

10 years agoCandidate fix for [d11a6e908f].
dan [Sat, 20 Sep 2014 20:38:48 +0000 (20:38 +0000)] 
Candidate fix for [d11a6e908f].

FossilOrigin-Name: 89398880bcfff96e91d2a9c45774f5fb3209ffc1

10 years agoFix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for
drh [Sat, 20 Sep 2014 20:24:49 +0000 (20:24 +0000)] 
Fix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for
testfixture.  Add new SELECTTRACE() calls.

FossilOrigin-Name: f1ba68f131d2f03e4a7bc50cde23a7609d384279

10 years agoEnable SELECT query planning tracing when compiled with
drh [Sat, 20 Sep 2014 18:18:33 +0000 (18:18 +0000)] 
Enable SELECT query planning tracing when compiled with
SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST.

FossilOrigin-Name: cbe0cf9ddf46f0a678c85d49bfa74e3b7712e1a1

10 years agoFix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main
drh [Sat, 20 Sep 2014 00:35:05 +0000 (00:35 +0000)] 
Fix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main
internal header file, sqliteInt.h.  Set HAVE_STRCHRNUL to 1 by default on
Linux only.

FossilOrigin-Name: 59e2c9df02d7e988c5ad44c560ead1e5288b12e7

10 years agoOnly enable HAVE_STRCHRNUL by default on linux, as that is the only place sqliteIntMacros
drh [Sat, 20 Sep 2014 00:29:20 +0000 (00:29 +0000)] 
Only enable HAVE_STRCHRNUL by default on linux, as that is the only place
it appears to work by default.

FossilOrigin-Name: 0fac2c045f47c7735af4eb68ced81d8b43622a1f

10 years agoRevise macro usage in 'sqliteInt.h'.
mistachkin [Sat, 20 Sep 2014 00:02:23 +0000 (00:02 +0000)] 
Revise macro usage in 'sqliteInt.h'.

FossilOrigin-Name: 35db3e2f350ca2bc6bb9e1a647aec7f93bfb7065

10 years agoSimplify two conditionals and add testcase() macros to the affinity transform
drh [Fri, 19 Sep 2014 22:44:20 +0000 (22:44 +0000)] 
Simplify two conditionals and add testcase() macros to the affinity transform
logic in the comparison operators.

FossilOrigin-Name: 544664cadfb4e504bc0b321c865d1ecb8a831e20

10 years agoRecognize the invariant that a Mem object cannot be MEM_Dyn and have
drh [Fri, 19 Sep 2014 22:30:49 +0000 (22:30 +0000)] 
Recognize the invariant that a Mem object cannot be MEM_Dyn and have
a non-zero szMalloc at the same time.  Enforce this with assert()s and
exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance
increase.

FossilOrigin-Name: 3b21cf2b284048da4b728a5d6ec89e5c330144d4

10 years agoTighten the conditions under which applyNumericAffinity() be called and add
drh [Fri, 19 Sep 2014 22:01:54 +0000 (22:01 +0000)] 
Tighten the conditions under which applyNumericAffinity() be called and add
assert() statements to prove that it is never called otherwise.

FossilOrigin-Name: e996ca32cb643c558b616c0dd872f3351b6aa3ef

10 years agoFix the affinity on inserts into the ANALYZE tables. Change the affinity
drh [Fri, 19 Sep 2014 20:13:25 +0000 (20:13 +0000)] 
Fix the affinity on inserts into the ANALYZE tables.  Change the affinity
characters to be upper case, to make the P5 parameter of comparison operators
easier to read.

FossilOrigin-Name: 3f3ca76aea38d566a574f4403b375bdac32854ed

10 years agoDo not attempt to extend the temp file if VFS version 3 is not supported and
drh [Fri, 19 Sep 2014 19:43:20 +0000 (19:43 +0000)] 
Do not attempt to extend the temp file if VFS version 3 is not supported and
hence memory mapped I/O is unavailable.

FossilOrigin-Name: 3ab20ba14f0204efeec62c7dbb87cb3f60e2497f

10 years agoMake the "nolock" VFS on unix a version-3 VFS so that the sorter can
drh [Fri, 19 Sep 2014 19:00:48 +0000 (19:00 +0000)] 
Make the "nolock" VFS on unix a version-3 VFS so that the sorter can
use memory-mapped I/O.

FossilOrigin-Name: 3db78d6100a1ecf58c18eec3abefa7d1250c649c

10 years agoRemove a local variable from the OP_Column implementation, resulting in a
drh [Fri, 19 Sep 2014 16:56:45 +0000 (16:56 +0000)] 
Remove a local variable from the OP_Column implementation, resulting in a
modest size reduction and a performance increase.

FossilOrigin-Name: 6199760d1340858d97c845177986b783da915d9e

10 years agoSmall size reduction and performance increase for releaseMemArray().
drh [Fri, 19 Sep 2014 16:13:12 +0000 (16:13 +0000)] 
Small size reduction and performance increase for releaseMemArray().

FossilOrigin-Name: 24cd32d681df58f687b2afbe4b13d579e3efdd4b

10 years agoUpdates to comments. No code changes.
drh [Fri, 19 Sep 2014 16:02:06 +0000 (16:02 +0000)] 
Updates to comments.  No code changes.

FossilOrigin-Name: 9b42c3da6b2593a10b8fe4b2fcc3d650132625c1

10 years agoThe OP_Column opcode runs faster and is smaller by manually in-lining the
drh [Fri, 19 Sep 2014 15:28:33 +0000 (15:28 +0000)] 
The OP_Column opcode runs faster and is smaller by manually in-lining the
code that persists string values in the output register.

FossilOrigin-Name: 36b613ccf0ddb764af90841994da91b7fcaa8f00

10 years agoAdd the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index
drh [Fri, 19 Sep 2014 04:42:38 +0000 (04:42 +0000)] 
Add the sqlite3VdbeMemClearAndResize() function.  Fix a sorting-index
prefilter problem.

FossilOrigin-Name: 987a7a211913b3949da20e43423af376f72a28ba