]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
11 years agoInstead of having the planner ignore plans with unusable MATCH constraints, have... avoid-unusable-match
dan [Sat, 4 Jan 2014 14:42:14 +0000 (14:42 +0000)] 
Instead of having the planner ignore plans with unusable MATCH constraints, have FTS assign extremely high costs to such plans in order to discourage the planner from using them.

FossilOrigin-Name: 24f84b38131866f7b435ffe641bb2f6991a70db2

11 years agoHave the planner detect cases where a MATCH constraint is applied to a virtual table...
dan [Sat, 4 Jan 2014 14:16:06 +0000 (14:16 +0000)] 
Have the planner detect cases where a MATCH constraint is applied to a virtual table, and ignore any plans that do not allow the virtual table implementation to implement the MATCH filtering.

FossilOrigin-Name: 19f3208b26597625728d1ef716d4e44407cf96ac

11 years agoAvoid some unnecessary OP_SCopy operations when inserting into a table
drh [Fri, 3 Jan 2014 16:03:43 +0000 (16:03 +0000)] 
Avoid some unnecessary OP_SCopy operations when inserting into a table
with multiple indices.

FossilOrigin-Name: 429018b19cb525a4bb0843d20955457b53900d4b

11 years agoTry to factor constant subcomponents of the WHERE clause out of the loop.
drh [Thu, 2 Jan 2014 21:05:10 +0000 (21:05 +0000)] 
Try to factor constant subcomponents of the WHERE clause out of the loop.

FossilOrigin-Name: 9d05777fe24e1a5ce71762de38db840931ef0bc8

11 years agoAvoid unnecessary affinity transformations when building indices using
drh [Thu, 2 Jan 2014 19:35:30 +0000 (19:35 +0000)] 
Avoid unnecessary affinity transformations when building indices using
data from a table.

FossilOrigin-Name: 10d851353c2abeadbd2852c210a7ff9f7f513e5d

11 years agoBe more aggressive in optimizing constant conditional expressions.
drh [Thu, 2 Jan 2014 17:57:16 +0000 (17:57 +0000)] 
Be more aggressive in optimizing constant conditional expressions.

FossilOrigin-Name: b7e39851a75b87ebca747b26a39989560fd6362b

11 years agoTry to detect process ID changes due to fork() calls in os_unix.c and
drh [Wed, 1 Jan 2014 15:18:36 +0000 (15:18 +0000)] 
Try to detect process ID changes due to fork() calls in os_unix.c and
reset the PRNG when a process ID change is detected.

FossilOrigin-Name: e1eba1fb09d7db49d77928bd115b27b8002ae640

11 years agoEnhance sqlite3_randomness(N,P) such that it resets the internal PRNG
drh [Wed, 1 Jan 2014 14:00:13 +0000 (14:00 +0000)] 
Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG
if N is less than 1.  Subsequent calls to sqlite3_randomness() will reinitialize
the internal PRNG by calling the xRandomness() method of the default VFS.

FossilOrigin-Name: a221aa82bb5496885fd0bf76e4601443799511de

11 years agoAdd -I. to the main.mk makefile for building sqlite3.o and speedtest1.
drh [Tue, 24 Dec 2013 12:04:24 +0000 (12:04 +0000)] 
Add -I. to the main.mk makefile for building sqlite3.o and speedtest1.

FossilOrigin-Name: cc72c5aec7fe93d4a1368517aab949dc98d33003

11 years agoMove elements of the Vdbe object that are only used during statement
drh [Mon, 23 Dec 2013 19:09:07 +0000 (19:09 +0000)] 
Move elements of the Vdbe object that are only used during statement
preparation out into the Parse object.

FossilOrigin-Name: c289a253c0c053ac8fc344efe138262c327d8096

11 years agoRemove a stray tab character.
drh [Mon, 23 Dec 2013 11:33:32 +0000 (11:33 +0000)] 
Remove a stray tab character.

FossilOrigin-Name: 25b8a1c9ba77df3b7c78cbce922cb593d661696d

11 years agoRemove a condition that is always in the logic that handles reading
drh [Sun, 22 Dec 2013 22:45:14 +0000 (22:45 +0000)] 
Remove a condition that is always in the logic that handles reading
default values for columns.

FossilOrigin-Name: 895af097e71749f423b63ece17c5a4b4dfcd164d

11 years agoMake sure the WhereLoop.aLTerm[] array is large enough when processing
drh [Sun, 22 Dec 2013 20:44:10 +0000 (20:44 +0000)] 
Make sure the WhereLoop.aLTerm[] array is large enough when processing
the skip-scan optimization.  Fix for ticket [520070ec7fbaac].

FossilOrigin-Name: 46d040591f27be01b1860344f8a268797fe344f4

11 years agoFix speedtest1.c so that in --explain mode it only outputs non-explain text
drh [Sat, 21 Dec 2013 17:14:58 +0000 (17:14 +0000)] 
Fix speedtest1.c so that in --explain mode it only outputs non-explain text
for DDL statements.

FossilOrigin-Name: 2d2b3c4951dc2b8317d5ba8b5cf72b1f4a6668f6

11 years agoAvoid compiler warnings by only enabling sqlite3ErrName() when
drh [Sat, 21 Dec 2013 17:07:13 +0000 (17:07 +0000)] 
Avoid compiler warnings by only enabling sqlite3ErrName() when
SQLITE_TEST is defined.

FossilOrigin-Name: 862228e50534a6b89c9498c4db664610db11485e

11 years agoFix harmless compiler warnings in FTS4. This involved corrupting
drh [Sat, 21 Dec 2013 16:06:47 +0000 (16:06 +0000)] 
Fix harmless compiler warnings in FTS4.  This involved corrupting
Martin Porter's beautifully written and elegant stemmer code, making it
a little less beautiful and a little less elegant.  Today is a sad
day.  But the warnings from GCC grow increasingly verbose and irksome
with each new release and so something had to be done.

FossilOrigin-Name: df05679838b571c16a7ab7e135f9564cd2d9647c

11 years agoFix the ".echo on" dot-command of the shell so that it echos comments in
drh [Sat, 21 Dec 2013 15:46:06 +0000 (15:46 +0000)] 
Fix the ".echo on" dot-command of the shell so that it echos comments in
addition to SQL statements and dot-commands.  Add the --explain option
to speedtest1 so that the output can be piped into the command-line shell
to show nicely-formated VDBE code for the entire test.

FossilOrigin-Name: 96397263f94256e284aae9506de1fc48fea89193

11 years agoAdd a case to speedtest1.c that demonstrates the need to factor OP_Column
drh [Sat, 21 Dec 2013 00:04:37 +0000 (00:04 +0000)] 
Add a case to speedtest1.c that demonstrates the need to factor OP_Column
operators out of inner loops.

FossilOrigin-Name: 69a17336fdf4ae891e815914be8942f7222230c2

11 years agoFix compiler harmless warnings in tclsqlite.c that appeared with GCC 4.8.x.
drh [Fri, 20 Dec 2013 18:57:44 +0000 (18:57 +0000)] 
Fix compiler harmless warnings in tclsqlite.c that appeared with GCC 4.8.x.

FossilOrigin-Name: d93ae6833a7fca0672caf902a7b48846e54242cd

11 years agoCode simplification in sqlite3GenerateIndexKey() by making use of a subroutine
drh [Fri, 20 Dec 2013 18:44:35 +0000 (18:44 +0000)] 
Code simplification in sqlite3GenerateIndexKey() by making use of a subroutine
found over in expr.c.

FossilOrigin-Name: 0026d3355340d66687a3fd4cbece28811ef1b505

11 years agoCombine adjacent single-register OP_Copy instructions into a single
drh [Fri, 20 Dec 2013 15:59:20 +0000 (15:59 +0000)] 
Combine adjacent single-register OP_Copy instructions into a single
multi-register OP_Copy, where possible.  Fix the Synopsis comment for
multi-register OP_Copy instructions to show the correct register ranges.

FossilOrigin-Name: 2ae22dc0cbed2feca4baf89d02aaace0331971d6

11 years agoAllow any arbitrary expression as the filename in an ATTACH statement,
drh [Fri, 20 Dec 2013 14:48:12 +0000 (14:48 +0000)] 
Allow any arbitrary expression as the filename in an ATTACH statement,
including functions and subqueries.

FossilOrigin-Name: df70a1f30393b34146d6b8bf1df5a76aaf362efe

11 years agoSimplify the accumulator reset for aggregate query processing so that it
drh [Fri, 20 Dec 2013 13:11:45 +0000 (13:11 +0000)] 
Simplify the accumulator reset for aggregate query processing so that it
uses a single multi-register OP_Null rather than a separate OP_Null for each
register.

FossilOrigin-Name: 2c7fd9b043f5f3d9d8e22dbefa84a9770ca951d0

11 years agoDo not inject OOM faults into SQLITE_FCNTL_COMMIT_PHASE_TWO file-control invocations...
dan [Thu, 19 Dec 2013 17:04:58 +0000 (17:04 +0000)] 
Do not inject OOM faults into SQLITE_FCNTL_COMMIT_PHASE_TWO file-control invocations. It causes problems for test scripts.

FossilOrigin-Name: 8eb28d23e353139d24a8af78309d39249ab9eaf0

11 years agoMake sure errors encountered while initializing extensions such as FTS4
drh [Thu, 19 Dec 2013 16:26:05 +0000 (16:26 +0000)] 
Make sure errors encountered while initializing extensions such as FTS4
get reported out from sqlite3_open().  This fixes a bug introduced by
check-in [9d347f547e7ba9].  Also remove lots of forgotten "breakpoint"
commands left in test scripts over the years.

FossilOrigin-Name: ca3fdfd41961d8d3d1e39d20dc628e8a95dabb2f

11 years agoRemove an unneeded column-cache flush in aggregate SELECT
drh [Thu, 19 Dec 2013 14:34:34 +0000 (14:34 +0000)] 
Remove an unneeded column-cache flush in aggregate SELECT
and an unreachable branch in the INSERT logic.

FossilOrigin-Name: ffa092e13b3781677b18418cca40e3dd1e388aed

11 years agoOmit an unnecessary OP_Null opcode from UPDATE.
drh [Thu, 19 Dec 2013 02:56:01 +0000 (02:56 +0000)] 
Omit an unnecessary OP_Null opcode from UPDATE.

FossilOrigin-Name: 72d111336c5016e5b5092dfebcd01253266a7685

11 years agoOmit one or more pointless instructions that occur in between OP_NoConflict
drh [Thu, 19 Dec 2013 02:23:45 +0000 (02:23 +0000)] 
Omit one or more pointless instructions that occur in between OP_NoConflict
and OP_Halt.

FossilOrigin-Name: 61e2f3575c4a94f9571c28fb2bd19da84b0edceb

11 years agoRemove an unnecessary column-cache flush operation. Add code to trace the
drh [Wed, 18 Dec 2013 18:44:43 +0000 (18:44 +0000)] 
Remove an unnecessary column-cache flush operation.  Add code to trace the
column cache when compiled with SQLITE_DEBUG and using
PRAGMA vdbe_addoptrace=ON.

FossilOrigin-Name: 58704ed1f4cd78bb3b0c095ffd1626906a95a413

11 years agoRemove an unnecessary column-cache flush. Add another test case to the column-cache-debug
drh [Wed, 18 Dec 2013 16:27:48 +0000 (16:27 +0000)] 
Remove an unnecessary column-cache flush.  Add another test case to the
speedtest1.c program to accentuate the benefit of not flushing the cache at
that point.

FossilOrigin-Name: 97fdfc6b79833011fc0c506fe5e0985c0fb1906c

11 years agoShow changes to the column cache when PRAGMA vdbe_addoptrace=ON is set.
drh [Wed, 18 Dec 2013 15:11:47 +0000 (15:11 +0000)] 
Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set.

FossilOrigin-Name: 4c6a659c432e4f7c0285f58675a67f967b07bb0d

11 years agoAdd evidence marks and additional test cases for the printf() SQL function.
drh [Tue, 17 Dec 2013 16:32:56 +0000 (16:32 +0000)] 
Add evidence marks and additional test cases for the printf() SQL function.

FossilOrigin-Name: 93121d3097a43997af3c0de65bd9bd7663845fa2

11 years agoAdd the printf() SQL function.
drh [Tue, 17 Dec 2013 16:10:57 +0000 (16:10 +0000)] 
Add the printf() SQL function.

FossilOrigin-Name: a1bb62f91a85af0584100c3ad77877a949c30cca

11 years agoFix the formatting of %c in the printf() SQL function. printf-sql-function
drh [Tue, 17 Dec 2013 15:58:42 +0000 (15:58 +0000)] 
Fix the formatting of %c in the printf() SQL function.

FossilOrigin-Name: 3375571a5e267744c19a7c310840256cec57a242

11 years agoAdd the printf() SQL function.
drh [Tue, 17 Dec 2013 15:03:06 +0000 (15:03 +0000)] 
Add the printf() SQL function.

FossilOrigin-Name: 6db7052eeefafdbf26b3153bc38600fecfb53ae6

11 years agoAllow the SQLITE_DETERMINISTIC flag to be ORed into the preferred text encoding
drh [Sat, 14 Dec 2013 13:44:22 +0000 (13:44 +0000)] 
Allow the SQLITE_DETERMINISTIC flag to be ORed into the preferred text encoding
of application-defined functions, to mark the function as deterministic.

FossilOrigin-Name: 5716fc2341ddd8cf64139e7168597f864da4e10b

11 years agoPerformance optimizations in the pager_write() routine of pager.c.
drh [Fri, 13 Dec 2013 20:45:50 +0000 (20:45 +0000)] 
Performance optimizations in the pager_write() routine of pager.c.

FossilOrigin-Name: bc5febef921bd12ca7760e9d07d3be0e67140320

11 years agoReduce the number of calls to the subjRequiresPage() routine inside of pager.
drh [Fri, 13 Dec 2013 19:48:04 +0000 (19:48 +0000)] 
Reduce the number of calls to the subjRequiresPage() routine inside of pager.

FossilOrigin-Name: e50ff39a93a51b5a5be4f0e82a76104b81c9e2a4

11 years agoCreate and use a new pager interface sqlite3PagerUnrefNotNull() that works
drh [Fri, 13 Dec 2013 19:35:21 +0000 (19:35 +0000)] 
Create and use a new pager interface sqlite3PagerUnrefNotNull() that works
just like sqlite3PagerUnref() but guarantees that its argument is not a
NULL pointer.

FossilOrigin-Name: e00f37e2333cac5b53e17cf764ab56c4fcd5f617

11 years agoEnhance the pcache1PinPage() routine so that it called much less often and
drh [Fri, 13 Dec 2013 18:50:40 +0000 (18:50 +0000)] 
Enhance the pcache1PinPage() routine so that it called much less often and
runs much faster in the cases when it is actually called.

FossilOrigin-Name: a845779cd31aec3204a6a9c776bd9c9f7d47dd24

11 years agoAvoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf().
drh [Fri, 13 Dec 2013 16:42:18 +0000 (16:42 +0000)] 
Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf().

FossilOrigin-Name: e2a8b280e84c1f8fd6106d9427e1ad6cbcfccd10

11 years agoSimplication and optimization of error message handling.
drh [Fri, 13 Dec 2013 16:23:55 +0000 (16:23 +0000)] 
Simplication and optimization of error message handling.

FossilOrigin-Name: 9d347f547e7ba9590b0c68edf50a14ad94a2bb92

11 years agoAdd the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls
drh [Wed, 11 Dec 2013 15:47:39 +0000 (15:47 +0000)] 
Add the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls
and have the pager call them at appropriate times.  This is needed in order
to enable ZIPVFS to do multi-file atomic commits.

FossilOrigin-Name: 552f94d50f08cf11f33205730fde52bc2f06cff6

11 years agoMerge in the latest trunk changes. zipvfs-multifile-commit
drh [Wed, 11 Dec 2013 14:17:06 +0000 (14:17 +0000)] 
Merge in the latest trunk changes.

FossilOrigin-Name: 9ff4dfe1e36b40e386858b03f36cfab8f6806fdd

11 years agoFix a bug in the shell ".import" command: Do not end the field
drh [Wed, 11 Dec 2013 14:00:04 +0000 (14:00 +0000)] 
Fix a bug in the shell ".import" command:  Do not end the field
when an escaped double-quote occurs at the end of a CRNL line.

FossilOrigin-Name: 5e239ecda0f7835ce037b38b04627a574b5854cd

11 years agoRemove an unreachable conditional inserted by the previous check-in.
drh [Wed, 11 Dec 2013 12:02:55 +0000 (12:02 +0000)] 
Remove an unreachable conditional inserted by the previous check-in.

FossilOrigin-Name: 3e1d55f0bd84810a035bd6c54583eb373784a9a3

11 years agoHave the crash-test infrastructure code in test6.c read and write the 512-byte block...
dan [Wed, 11 Dec 2013 11:03:19 +0000 (11:03 +0000)] 
Have the crash-test infrastructure code in test6.c read and write the 512-byte block containing the pending-byte lock as normal. Earlier versions did not access this part of the file in order to avoid triggering an assert in os_unix.c. But the assert() has since been removed. And not reading/writing this part of the file causes problems for multiplexor tests.

FossilOrigin-Name: fdc3f3fa3de1481860e1e2a819db2d6c4eb05658

11 years agoFix harmless compiler warnings.
drh [Wed, 11 Dec 2013 11:00:44 +0000 (11:00 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: a7e5fcd66659750eb2f4675082df324e7cf35427

11 years agoFix harmless compiler warning.
mistachkin [Wed, 11 Dec 2013 02:21:19 +0000 (02:21 +0000)] 
Fix harmless compiler warning.

FossilOrigin-Name: 2525296d919245ebb01077aad541e4ae6eab7940

11 years agoDo not run the tool/vdbe-compress.tcl script that generates the
drh [Wed, 11 Dec 2013 00:59:10 +0000 (00:59 +0000)] 
Do not run the tool/vdbe-compress.tcl script that generates the
vdbeExecUnion object that reduces the size of the sqlite3VdbeExec()
stack frame unless the SQLITE_SMALL_STACK compile-time option is
specified as on of the OPTS in the makefile.  The vdbeExecUnion object
gets in the way of C-compiler optimizer and results in slightly slower code.

FossilOrigin-Name: 4d0781473a465b4ab0a307914014f3d2ddd0ce33

11 years agoAvoid unnecessary calls to sqlite3VdbeSerialType() from within
drh [Tue, 10 Dec 2013 21:38:08 +0000 (21:38 +0000)] 
Avoid unnecessary calls to sqlite3VdbeSerialType() from within
sqlite3VdbeSerialPut().

FossilOrigin-Name: 079c04a5013074b68f7d90f1ce8bf8e7092ad8a2

11 years agoIn the OP_MakeRecord opcode, factor out affinity changes into separate loop,
drh [Tue, 10 Dec 2013 20:53:01 +0000 (20:53 +0000)] 
In the OP_MakeRecord opcode, factor out affinity changes into separate loop,
for a slight performance advantage.

FossilOrigin-Name: 1c6ee9b85f61e5cdb5d9b7815cddf526dc78aaa7

11 years agoSimplify and improve the performance of the sqlite3VdbeMemGrow() routine.
drh [Tue, 10 Dec 2013 19:49:00 +0000 (19:49 +0000)] 
Simplify and improve the performance of the sqlite3VdbeMemGrow() routine.

FossilOrigin-Name: 48ecf18774ba9572d86696c60d87007a619d9f53

11 years agoUse SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in...
dan [Tue, 10 Dec 2013 17:34:53 +0000 (17:34 +0000)] 
Use SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in for FCNTL_SYNC and FCNTL_COMMIT_PHASETWO.

FossilOrigin-Name: 46231af985a1a872d1dc3418591cbaacb0b7c249

11 years agoMerge changes from the trunk.
dan [Tue, 10 Dec 2013 16:35:42 +0000 (16:35 +0000)] 
Merge changes from the trunk.

FossilOrigin-Name: 3ee736a39d1fc175a297c5fdd0d2e1c5a9b5b18e

11 years agoFix handling of errors returned by the SQLITE_FCNTL_OMIT_SYNCED file-control.
dan [Tue, 10 Dec 2013 16:27:59 +0000 (16:27 +0000)] 
Fix handling of errors returned by the SQLITE_FCNTL_OMIT_SYNCED file-control.

FossilOrigin-Name: d9a5f44f4a27336d41e60b6c3791bd018fbbff6f

11 years agoSimplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut()
drh [Mon, 9 Dec 2013 23:17:22 +0000 (23:17 +0000)] 
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut()
helper function.

FossilOrigin-Name: 7277a769694787e0332d1a4efc02041834661e2a

11 years agoCorrect the VFS name as reported by the file control when explicitly using the 'win32...
mistachkin [Mon, 9 Dec 2013 21:48:49 +0000 (21:48 +0000)] 
Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS.

FossilOrigin-Name: c43b59dac1fbb67ec3a9d921005543046ad416ce

11 years agoReduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable().
drh [Mon, 9 Dec 2013 21:06:46 +0000 (21:06 +0000)] 
Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable().

FossilOrigin-Name: 6b51863553e51334880fb322bdf74e51e35d0e61

11 years agoSimplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces
drh [Mon, 9 Dec 2013 20:43:22 +0000 (20:43 +0000)] 
Simplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces
to the storage engine.

FossilOrigin-Name: bf97598592ff60fab2a06d8b31b0201200b91684

11 years agoModify the way some internal file-controls are invoked. In order to support multi...
dan [Mon, 9 Dec 2013 20:42:03 +0000 (20:42 +0000)] 
Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension.

FossilOrigin-Name: 32fb1784af4594161d954343e3787db702000a4d

11 years agoMinor performance optimizations in pager.c.
drh [Mon, 9 Dec 2013 19:25:28 +0000 (19:25 +0000)] 
Minor performance optimizations in pager.c.

FossilOrigin-Name: ba9eef5f5293633d1479e1d877bf338edb2a9471

11 years agoPerformance optimizations for sqlite3VXPrintf().
drh [Mon, 9 Dec 2013 19:03:26 +0000 (19:03 +0000)] 
Performance optimizations for sqlite3VXPrintf().

FossilOrigin-Name: 9227ad48e1612b32a3a3e9551c49890f93abc0a7

11 years agoFix an incorrect test number in the output of the speedtest1.c program. No
drh [Mon, 9 Dec 2013 12:24:23 +0000 (12:24 +0000)] 
Fix an incorrect test number in the output of the speedtest1.c program.  No
changes to the test algorithms.

FossilOrigin-Name: fbfc075a5a3c9c5c98353f396f9da7f7ec7c1c04

11 years agoAvoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease().
drh [Mon, 9 Dec 2013 03:07:21 +0000 (03:07 +0000)] 
Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease().

FossilOrigin-Name: 2d6dd7c2eb5a64f8994162b564a99ef0014b7460

11 years agoUse memmove() rather than a home-made copy loop in insertCell() too.
drh [Mon, 9 Dec 2013 02:32:19 +0000 (02:32 +0000)] 
Use memmove() rather than a home-made copy loop in insertCell() too.

FossilOrigin-Name: a3d796b1673ca68ced247d63c22ddcfb1f9d56ea

11 years agoUse memmove() rather than a home-made copy loop in dropCell() of btree.c,
drh [Mon, 9 Dec 2013 01:58:11 +0000 (01:58 +0000)] 
Use memmove() rather than a home-made copy loop in dropCell() of btree.c,
for a size reduction and performance improvement.

FossilOrigin-Name: 78e1706804e88a0dd5dc40bee838a3a504cfa53b

11 years agoAvoid unnecessary no-op calls from getAndInitPage() to btreeInitPage()
drh [Mon, 9 Dec 2013 01:04:54 +0000 (01:04 +0000)] 
Avoid unnecessary no-op calls from getAndInitPage() to btreeInitPage()
in the btree.c logic.

FossilOrigin-Name: 81f5ae13b2e23daee03151d32515387b7f5ba5e5

11 years agoUse putVarint32() instead of putVarint() for a quantity that can never
drh [Mon, 9 Dec 2013 00:47:11 +0000 (00:47 +0000)] 
Use putVarint32() instead of putVarint() for a quantity that can never
exceed 2GiB - 1.

FossilOrigin-Name: 6996fb34445adedf463b66ed1f339ee1f27ce6e5

11 years agoAnother simplification to the OP_MakeRecord opcode, making it slightly
drh [Sun, 8 Dec 2013 23:33:28 +0000 (23:33 +0000)] 
Another simplification to the OP_MakeRecord opcode, making it slightly
faster and very slightly smaller.

FossilOrigin-Name: f2f5a3ce9d075c4b1ac586c5db3a623d9035402d

11 years agoAvoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode.
drh [Sun, 8 Dec 2013 22:59:29 +0000 (22:59 +0000)] 
Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode.

FossilOrigin-Name: 7a234fc3c5e7970ffe0b8d6ac33c26acb64b5c4d

11 years agoInterchange two conditions in an "if" statment in sqlite3PagerAcquire() for
drh [Sun, 8 Dec 2013 19:54:52 +0000 (19:54 +0000)] 
Interchange two conditions in an "if" statment in sqlite3PagerAcquire() for
very slight (0.06%) overall performance increase.

FossilOrigin-Name: fbcc1a3ebb016225c3580181c908a2904cc184a5

11 years agoIncrease the version number to 3.8.3.
drh [Sat, 7 Dec 2013 17:01:23 +0000 (17:01 +0000)] 
Increase the version number to 3.8.3.

FossilOrigin-Name: 23d00f22872a907a8ebf5b80689ff7aa66686a07

11 years agoAt the start of each write transaction, check to see if the database file has
drh [Sat, 7 Dec 2013 16:56:09 +0000 (16:56 +0000)] 
At the start of each write transaction, check to see if the database file has
been moved, and if it has refuse to start the transaction, returning an
SQLITE_READONLY_DBMOVED error code.

FossilOrigin-Name: 369a23e00644f3ff8b6a2d2ed73b8cb65e9f124b

11 years agoBack out the new device capability. The determination of whether or not a detect-moved-db
drh [Sat, 7 Dec 2013 16:45:05 +0000 (16:45 +0000)] 
Back out the new device capability.  The determination of whether or not a
file has moved is now done strictly using a file-control.

FossilOrigin-Name: 9c59f5af7ac4908583fab85d37241f200c40f02d

11 years agoActually look at i-node numbers to determine whether or not the database
drh [Sat, 7 Dec 2013 12:29:22 +0000 (12:29 +0000)] 
Actually look at i-node numbers to determine whether or not the database
file has moved.

FossilOrigin-Name: 2b1884dc14f9a04a04eebb3245fbe0daaff399eb

11 years agoPerformance optimization to the moveToRoot() subroutine in btree.c.
drh [Fri, 6 Dec 2013 23:25:27 +0000 (23:25 +0000)] 
Performance optimization to the moveToRoot() subroutine in btree.c.

FossilOrigin-Name: b5842a70f8e26456a8f0d39539bc266f097480a4

11 years agoUse memcmp() instead of the BINARY collating function where possible, for
drh [Fri, 6 Dec 2013 22:45:31 +0000 (22:45 +0000)] 
Use memcmp() instead of the BINARY collating function where possible, for
a performance boost.

FossilOrigin-Name: c5a3a1af3c7bd34886e944a1fef2f6340ded24a0

11 years agoRemove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make
drh [Fri, 6 Dec 2013 22:44:51 +0000 (22:44 +0000)] 
Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make
it more readable.

FossilOrigin-Name: 2d62d1131f8bbc4e1f8f7aeaf0d91e3237fe3b7c

11 years agoAdd the SQLITE_READONLY_DBMOVED error code to the sqlite3ErrName() function.
mistachkin [Fri, 6 Dec 2013 19:58:32 +0000 (19:58 +0000)] 
Add the SQLITE_READONLY_DBMOVED error code to the sqlite3ErrName() function.

FossilOrigin-Name: 7789f801d720db5394117e764675cd4bbe6b2da1

11 years agoOnly error out on a database file move when attempting to start a write
drh [Fri, 6 Dec 2013 17:23:38 +0000 (17:23 +0000)] 
Only error out on a database file move when attempting to start a write
transaction.  Assume read transactions are still safe.  And make the error
SQLITE_READONLY_DBMOVED instead of SQLITE_IOERR_NODB.

FossilOrigin-Name: 28348f2ada98c616241a51aecb70b63e87e6ddbb

11 years agoAdd code to detect if the database file is moved or deleted out from under
drh [Fri, 6 Dec 2013 15:37:35 +0000 (15:37 +0000)] 
Add code to detect if the database file is moved or deleted out from under
SQLite and return an SQLITE_IOERR_NODB.

FossilOrigin-Name: 8759a8e4d83b163e315eff316cf163f6ea42f2bb

11 years agoVersion 3.8.2 version-3.8.2
dan [Fri, 6 Dec 2013 14:53:30 +0000 (14:53 +0000)] 
Version 3.8.2

FossilOrigin-Name: 27392118af4c38c5203a04b8013e1afdb1cebd0d

11 years agoFix harmless compiler warnings and improve the MSVC makefile.
drh [Thu, 5 Dec 2013 17:12:47 +0000 (17:12 +0000)] 
Fix harmless compiler warnings and improve the MSVC makefile.

FossilOrigin-Name: c632567063d81c4be404ce58cbac0eff7412f565

11 years agoFix two potential (and apparently harmless) shift overflows discovered by
drh [Thu, 5 Dec 2013 16:41:55 +0000 (16:41 +0000)] 
Fix two potential (and apparently harmless) shift overflows discovered by
the -fcatch-undefined-behavior option of clang.

FossilOrigin-Name: e19eead8c9977ed4f00eac54c5bc7e90db78caa8

11 years agoMake use of the CC nmake macro even when cross-compiling (with MSVC). memTests
mistachkin [Tue, 3 Dec 2013 23:33:29 +0000 (23:33 +0000)] 
Make use of the CC nmake macro even when cross-compiling (with MSVC).

FossilOrigin-Name: aae7b30ebd9601882a02fe8cf46fbf0390ec3fac

11 years agoFix harmless compiler warnings.
mistachkin [Tue, 3 Dec 2013 22:33:35 +0000 (22:33 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: a12d214ecccc5d3372dbcedc88705b0092363971

11 years agoAdd memory subsystem related defines to the compile-time options list.
mistachkin [Tue, 3 Dec 2013 22:32:48 +0000 (22:32 +0000)] 
Add memory subsystem related defines to the compile-time options list.

FossilOrigin-Name: 52a44146dd7c5a7662545042045e23deab302c96

11 years agoRemove a branch in STAT4 logic that is no longer reachable after
drh [Tue, 3 Dec 2013 19:49:55 +0000 (19:49 +0000)] 
Remove a branch in STAT4 logic that is no longer reachable after
the previous change.

FossilOrigin-Name: eca7d3f1612c7a009a9e4ef89f76f9b7e275d1e6

11 years agoFix a possible (and probably harmless) uninitialized variable in STAT3/4.
drh [Tue, 3 Dec 2013 19:16:06 +0000 (19:16 +0000)] 
Fix a possible (and probably harmless) uninitialized variable in STAT3/4.

FossilOrigin-Name: 33ad4f91477907b7b3e5808c7ba11aacc9a83ba6

11 years agoFix an alignment problem in the stat3/stat4 code affecting 32-bit platforms.
dan [Tue, 3 Dec 2013 18:26:56 +0000 (18:26 +0000)] 
Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms.

FossilOrigin-Name: 14f9bc79014e5762b88b9f0b98f4d47a8092d127

11 years agoFix a typo in fts3varint.test preventing the valgrind permutation test from running.
dan [Tue, 3 Dec 2013 17:09:53 +0000 (17:09 +0000)] 
Fix a typo in fts3varint.test preventing the valgrind permutation test from running.

FossilOrigin-Name: b654a4ec729c86c6e94365fb0d3f83c598d4461a

11 years agoModify test file conflict2.test so that it works with the "inmemory_journal" permutation.
dan [Tue, 3 Dec 2013 10:35:00 +0000 (10:35 +0000)] 
Modify test file conflict2.test so that it works with the "inmemory_journal" permutation.

FossilOrigin-Name: e4164fd8f75ce1c8d63bec70db7049b68208c12c

11 years agoRemove an unnecessary branch from the UPDATE logic - one that was also
drh [Tue, 3 Dec 2013 10:14:28 +0000 (10:14 +0000)] 
Remove an unnecessary branch from the UPDATE logic - one that was also
unreachable except following an OOM on x64.

FossilOrigin-Name: 72f972771457b8c8d9f859238d6a72b43f41d2c3

11 years agoAdd a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert...
dan [Tue, 3 Dec 2013 09:49:52 +0000 (09:49 +0000)] 
Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer.

FossilOrigin-Name: 9d8a0e132163f7adeaabbf6baba119e159addd41

11 years agoChange some unreachable test conditions to NEVER().
drh [Tue, 3 Dec 2013 02:52:11 +0000 (02:52 +0000)] 
Change some unreachable test conditions to NEVER().

FossilOrigin-Name: 7d99858bec699dface548c77649dfc50e7fb50d8

11 years agoFix a harmless compiler warning on MacOS.
drh [Tue, 3 Dec 2013 00:11:40 +0000 (00:11 +0000)] 
Fix a harmless compiler warning on MacOS.

FossilOrigin-Name: 74328de1d720fb35a97b476034406ca17d35ff5f

11 years agoAnother #if SQLITE_VERSION_NUMBER macro in speedtest1.c for compatibility
drh [Mon, 2 Dec 2013 21:25:40 +0000 (21:25 +0000)] 
Another #if SQLITE_VERSION_NUMBER macro in speedtest1.c for compatibility
with older versions of SQLite.

FossilOrigin-Name: bc8eacc7f71413184ef5be1412e51f8fd7174cd1

11 years agoStill more #if SQLITE_VERSION_NUMBER macros in test/speedtest1.c to enable
drh [Mon, 2 Dec 2013 01:24:05 +0000 (01:24 +0000)] 
Still more #if SQLITE_VERSION_NUMBER macros in test/speedtest1.c to enable
compilation against older versions of SQLite.

FossilOrigin-Name: 4b20cf4206ac12975ca9c4ec7ef76aa21bbd734d

11 years agoAdd some #if SQLITE_VERSION_NUMBER macros to test/speedtest1.c in order to
drh [Sun, 1 Dec 2013 18:10:01 +0000 (18:10 +0000)] 
Add some #if SQLITE_VERSION_NUMBER macros to test/speedtest1.c in order to
make it compatible with older versions of SQLite so that it can be used for
historical speed comparisons.

FossilOrigin-Name: a9e1627ae714156cf6bd419e41cf9b79fbbe99a9