]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
11 years agoChange the unix VFS so that it refuses to open a database file using overwrite-avoidance
drh [Thu, 29 Aug 2013 23:34:53 +0000 (23:34 +0000)] 
Change the unix VFS so that it refuses to open a database file using
a file descriptor less than 3.

FossilOrigin-Name: 66dddda06898abbf97fe0ac6a10ce1527ca8605e

11 years agoNever leave an open file descriptor pointing into the middle of the
drh [Thu, 29 Aug 2013 21:26:26 +0000 (21:26 +0000)] 
Never leave an open file descriptor pointing into the middle of the
database file if the file descriptor number is 2 or less.

FossilOrigin-Name: 3426673e4659eb68dbd14a3e41d4620d748432db

11 years agoRestore fix [f15591f802], which was accidentally clobbered by the stat4 merge.
dan [Thu, 29 Aug 2013 14:56:14 +0000 (14:56 +0000)] 
Restore fix [f15591f802], which was accidentally clobbered by the stat4 merge.

FossilOrigin-Name: d4b6ad3333cc3bad500c2ebf7a6ea552b6762b69

11 years agoCandidate fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with...
dan [Thu, 29 Aug 2013 10:46:05 +0000 (10:46 +0000)] 
Candidate fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns.

FossilOrigin-Name: c1152bdcbb5ac185f743015fff63769effa81b4b

11 years agoSmall enhancements to unit testing infrastructure.
mistachkin [Thu, 29 Aug 2013 01:09:14 +0000 (01:09 +0000)] 
Small enhancements to unit testing infrastructure.

FossilOrigin-Name: 9229aeb361f9805894321327d05aba855b8799f3

11 years agoEnable finer control of optimizations when compiling with the MSVC makefile. Also...
mistachkin [Thu, 29 Aug 2013 01:03:38 +0000 (01:03 +0000)] 
Enable finer control of optimizations when compiling with the MSVC makefile.  Also, several modularity enhancements to the MSVC makefile.

FossilOrigin-Name: 6c709338bc77fbed24a2597eabd88dd8c29b38d7

11 years agoRe-enable test file wild001.test.
dan [Wed, 28 Aug 2013 19:01:07 +0000 (19:01 +0000)] 
Re-enable test file wild001.test.

FossilOrigin-Name: 4f182ddc36944fa54f1a34c1f0527db0ebb39c96

11 years agoAdd the win32-longpath VFS allowing windows filenames up to 32K characters in
drh [Wed, 28 Aug 2013 18:18:12 +0000 (18:18 +0000)] 
Add the win32-longpath VFS allowing windows filenames up to 32K characters in
length.  Remove unused code when -DSQLITE_MAX_MMAP_SIZE=0.  Fix some
compiler warnings on windows.

FossilOrigin-Name: 12d0a8859de0a9d823997cfeccc77bd572cb6d13

11 years agoUpdate list of supported Tcl shells to include 8.6. Remove stray OS2 references. mmapDisabled
mistachkin [Wed, 28 Aug 2013 18:06:26 +0000 (18:06 +0000)] 
Update list of supported Tcl shells to include 8.6.  Remove stray OS2 references.

FossilOrigin-Name: ecd52ccf650ce2a4ab93c7c482289c1bc4768eeb

11 years agoFix a couple comments.
mistachkin [Wed, 28 Aug 2013 17:59:38 +0000 (17:59 +0000)] 
Fix a couple comments.

FossilOrigin-Name: 945cb89ecb92a6c2075b3e58ce1ba3d419b1b6ca

11 years agoIn the query optimizer, when converting BETWEEN and LIKE/GLOB expressions
drh [Wed, 28 Aug 2013 16:27:01 +0000 (16:27 +0000)] 
In the query optimizer, when converting BETWEEN and LIKE/GLOB expressions
into simpler forms for processing, be sure to transfer the LEFT JOIN markings.
Fix for ticket [bc878246eafe0f52c].

FossilOrigin-Name: caab361ebee5f5c3fdafd9b1abe3d1ab7c5b4db9

11 years agoIncrease the version number to 3.8.1 due to the addition of STAT4 support.
drh [Wed, 28 Aug 2013 13:46:09 +0000 (13:46 +0000)] 
Increase the version number to 3.8.1 due to the addition of STAT4 support.

FossilOrigin-Name: 41c089e2a21f52b3d6d850eccba60be17010c9fe

11 years agoFix an off-by-one error that causes a quoted empty string at the end of
drh [Wed, 28 Aug 2013 13:33:40 +0000 (13:33 +0000)] 
Fix an off-by-one error that causes a quoted empty string at the end of
a CRNL-terminated line of CSV input to be misread by the shell.

FossilOrigin-Name: b5617e4fdadc4cded93c985008e90982dd48bc3b

11 years agoAdd a test case for empty quoted field in CSV import in the shell.
drh [Wed, 28 Aug 2013 11:57:52 +0000 (11:57 +0000)] 
Add a test case for empty quoted field in CSV import in the shell.

FossilOrigin-Name: 3df56e849164811117f9ac8ee2aee1eee188bb96

11 years agoLabel a certain branch as NEVER() only for non-STAT3/4 builds.
drh [Wed, 28 Aug 2013 11:43:49 +0000 (11:43 +0000)] 
Label a certain branch as NEVER() only for non-STAT3/4 builds.

FossilOrigin-Name: b5ccf6e995ac2fe010f49d46d40b487ddbd28e5a

11 years agoIn the win32longpath test, move the journal mode change down where it was intended...
mistachkin [Wed, 28 Aug 2013 07:42:43 +0000 (07:42 +0000)] 
In the win32longpath test, move the journal mode change down where it was intended to be.

FossilOrigin-Name: 5cead293bbbcddd7d0976db41133e40704efcc99

11 years agoSupport database file names longer than 260 characters using the new 'win32-longpath...
mistachkin [Wed, 28 Aug 2013 05:49:39 +0000 (05:49 +0000)] 
Support database file names longer than 260 characters using the new 'win32-longpath' VFS variant.

FossilOrigin-Name: 37e85e444cde18f061049437980b965d4485f43c

11 years agoMake names of private functions in the Win32 VFS consistent. Fix comment typo in...
mistachkin [Wed, 28 Aug 2013 02:37:29 +0000 (02:37 +0000)] 
Make names of private functions in the Win32 VFS consistent.  Fix comment typo in Win32 mutex implementation.

FossilOrigin-Name: c3b82c5bf97cfb35544c5b1fbcdf7b9c4827d1cf

11 years agoRemove hard-coding of the directory separator in the Win32 VFS. Fixes to OSTRACE...
mistachkin [Wed, 28 Aug 2013 02:26:48 +0000 (02:26 +0000)] 
Remove hard-coding of the directory separator in the Win32 VFS.  Fixes to OSTRACE macros.

FossilOrigin-Name: fc98092f4bd42d64059024f09547904c1d70a517

11 years agoFix several harmless compiler warnings. Fix a couple compiler issues with the shell.
mistachkin [Wed, 28 Aug 2013 01:54:12 +0000 (01:54 +0000)] 
Fix several harmless compiler warnings.  Fix a couple compiler issues with the shell.

FossilOrigin-Name: 8917e9f9a0802cbfb6f33e2ab1c2f98e4df5babd

11 years agoAdjust ANALYZE for improved test coverage. Use the SQLITE_ENABLE_STAT3_OR_STAT4
drh [Tue, 27 Aug 2013 23:15:44 +0000 (23:15 +0000)] 
Adjust ANALYZE for improved test coverage.  Use the SQLITE_ENABLE_STAT3_OR_STAT4
macro (created in sqliteInt.h) to conditionally include code, instead of
a boolean specifying both macros separately.

FossilOrigin-Name: 67a9a392edd62ef5a5a1ad3010b20a39b285793d

11 years agoReduce the amount of code run and memory used for ANALYZE in the common case
drh [Tue, 27 Aug 2013 20:16:48 +0000 (20:16 +0000)] 
Reduce the amount of code run and memory used for ANALYZE in the common case
where neither STAT3 and STAT4 are enabled.

FossilOrigin-Name: 9d1424c91a21ed740aca53e437b8f7c1f0823c03

11 years agoUpdate sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@.
dan [Tue, 27 Aug 2013 15:41:09 +0000 (15:41 +0000)] 
Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@.

FossilOrigin-Name: 2460dfd8825d251e622e866e8dc1c0bf7fe7ec9f

11 years agoIn the ANALYZE command implementation make statInit() a 2-value function
drh [Tue, 27 Aug 2013 14:14:14 +0000 (14:14 +0000)] 
In the ANALYZE command implementation make statInit() a 2-value function
since the 3rd parameter was always the same constant.

FossilOrigin-Name: 959bb5acdc3b4e2b481e3c38f20867131bfc9dbc

11 years agoPreparation for further Windows path name handling changes.
mistachkin [Mon, 26 Aug 2013 23:18:57 +0000 (23:18 +0000)] 
Preparation for further Windows path name handling changes.

FossilOrigin-Name: ec99224b0c9cf1ccd64b3dc93252556d888e93a3

11 years agoMerge the STAT4 capability into trunk.
drh [Mon, 26 Aug 2013 23:18:06 +0000 (23:18 +0000)] 
Merge the STAT4 capability into trunk.

FossilOrigin-Name: a32af0abe5fa6d570604fa3534e8230d5b6042fc

11 years agoChange MAX_PATH related defines to use character lengths where WCHARs are used.
mistachkin [Mon, 26 Aug 2013 20:45:50 +0000 (20:45 +0000)] 
Change MAX_PATH related defines to use character lengths where WCHARs are used.

FossilOrigin-Name: 0a497083e915520c0807cb6611264b1a35ff62b7

11 years agoMerge updates from trunk.
mistachkin [Mon, 26 Aug 2013 19:36:18 +0000 (19:36 +0000)] 
Merge updates from trunk.

FossilOrigin-Name: 9d6860098f96efc7ea60e2d6116fb7d0e2685a55

11 years agoFix for builds with both SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0 defined.
dan [Mon, 26 Aug 2013 14:30:25 +0000 (14:30 +0000)] 
Fix for builds with both SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0 defined.

FossilOrigin-Name: edd5dbdc3239fc88799b822941603fcc828ecbb6

11 years agoVersion 3.8.0 version-3.8.0
drh [Mon, 26 Aug 2013 04:50:08 +0000 (04:50 +0000)] 
Version 3.8.0

FossilOrigin-Name: f64cd21e2e23ed7cff48f7dafa5e76adde9321c2

11 years agoSeveral modifications to the use of the MAX_PATH macro on Windows to improve consistency.
mistachkin [Sat, 24 Aug 2013 23:55:01 +0000 (23:55 +0000)] 
Several modifications to the use of the MAX_PATH macro on Windows to improve consistency.

FossilOrigin-Name: bda4c47df8e80b4cc9e8aac8fd74482869f96107

11 years agoFix a couple compilation issues on Unix.
mistachkin [Sat, 24 Aug 2013 01:12:03 +0000 (01:12 +0000)] 
Fix a couple compilation issues on Unix.

FossilOrigin-Name: 25b029d8f32440a94ef8af45153423f6702d7431

11 years agoUnify the result of PRAGMA mmap_size when mmap support is disabled.
mistachkin [Sat, 24 Aug 2013 00:59:24 +0000 (00:59 +0000)] 
Unify the result of PRAGMA mmap_size when mmap support is disabled.

FossilOrigin-Name: 032c31593d6f569842830cac6222362be68b2084

11 years agoAdjust #ifdefs to get SQLITE_OMIT_AUTOMATIC_INDEX and SQLITE_OMIT_PAGER_PRAGMAS
drh [Fri, 23 Aug 2013 17:33:46 +0000 (17:33 +0000)] 
Adjust #ifdefs to get SQLITE_OMIT_AUTOMATIC_INDEX and SQLITE_OMIT_PAGER_PRAGMAS
to build.

FossilOrigin-Name: ed310201628cf79c0f57674ae7478ee6738b1c6e

11 years agoFix a requirements comment in a test case. No changes to the testcase
drh [Fri, 23 Aug 2013 16:47:40 +0000 (16:47 +0000)] 
Fix a requirements comment in a test case.  No changes to the testcase
itself nor to any code.

FossilOrigin-Name: 3ad1f998e5db044849b528c31c4a7e1f3d527320

11 years agoModify script mkautoconfamal.sh to use the download.html naming convention for the...
dan [Fri, 23 Aug 2013 12:04:52 +0000 (12:04 +0000)] 
Modify script mkautoconfamal.sh to use the download.html naming convention for the tar.gz it creates.

FossilOrigin-Name: 375b4e3db0e0c9e83034d1c33d7c57aca48e87b6

11 years agoDefer the creation of automatic indices until the index is actually used.
drh [Thu, 22 Aug 2013 02:56:28 +0000 (02:56 +0000)] 
Defer the creation of automatic indices until the index is actually used.

FossilOrigin-Name: 0775501acf152dcbf4dd039f4511f3d8c4330d85

11 years agoSimplify the btreeGetPage() routine so that it uses a single flag parameter
drh [Wed, 21 Aug 2013 23:42:32 +0000 (23:42 +0000)] 
Simplify the btreeGetPage() routine so that it uses a single flag parameter
in place of two boolean parameters.

FossilOrigin-Name: 617e23ec283d3147fc3fd29c474ccedf4915cdc7

11 years agoMinor performance tweaks to the pager.
drh [Wed, 21 Aug 2013 22:54:55 +0000 (22:54 +0000)] 
Minor performance tweaks to the pager.

FossilOrigin-Name: 9ae1f9ce7ea6beaeddc3711080b3796e05acc4f8

11 years agoRefactor the sqlite3_randomness() implementation for improved performance.
drh [Wed, 21 Aug 2013 22:09:25 +0000 (22:09 +0000)] 
Refactor the sqlite3_randomness() implementation for improved performance.

FossilOrigin-Name: 4144dffb57b5ed791d7a6d2f26fab5e7dc77fbd1

11 years agoSimplification to the StrAccum object and the sqlite3StrAccumAppend()
drh [Wed, 21 Aug 2013 21:12:10 +0000 (21:12 +0000)] 
Simplification to the StrAccum object and the sqlite3StrAccumAppend()
method that also results in slightly better performance.

FossilOrigin-Name: 700dbbea8647e0fdaee6d0aba3d3dd8ebfbac04a

11 years agoMinor fixes for test cases. No code changes.
dan [Wed, 21 Aug 2013 20:04:54 +0000 (20:04 +0000)] 
Minor fixes for test cases. No code changes.

FossilOrigin-Name: ef2a6a37366f91889dc2f1ba9cb6d1257d9b05db

11 years agoFix typo in test.
mistachkin [Wed, 21 Aug 2013 19:59:14 +0000 (19:59 +0000)] 
Fix typo in test.

FossilOrigin-Name: f9859fe93bcecb4be7c1034291018523124c4a5c

11 years agoUpdate sqlite3MemCompare() to try common cases first, for a modest speed
drh [Wed, 21 Aug 2013 19:13:53 +0000 (19:13 +0000)] 
Update sqlite3MemCompare() to try common cases first, for a modest speed
improvement.

FossilOrigin-Name: b25bac79191975149d88fe34618c74354de62c5e

11 years agoIf a virtual table xSync() returns an error message, copy it into a buffer allocated...
dan [Wed, 21 Aug 2013 17:35:48 +0000 (17:35 +0000)] 
If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg.

FossilOrigin-Name: 854ba3049005adf033e07e6740a36e63f2a56758

11 years agoPerformance enhancement in btreeParseCellPtr().
drh [Wed, 21 Aug 2013 15:52:22 +0000 (15:52 +0000)] 
Performance enhancement in btreeParseCellPtr().

FossilOrigin-Name: a17190a2296e8cd5e59524ff5914fc5ea3560697

11 years agoFix an FTS4 problem introduced by [361084e1eb].
dan [Wed, 21 Aug 2013 15:45:27 +0000 (15:45 +0000)] 
Fix an FTS4 problem introduced by [361084e1eb].

FossilOrigin-Name: 5f35c8cb8f8b67121c70f98c02c4aa7c25327690

11 years agoCandidate fix for [d666d600a6].
dan [Wed, 21 Aug 2013 12:04:32 +0000 (12:04 +0000)] 
Candidate fix for [d666d600a6].

FossilOrigin-Name: 781592f32c8e1dcd59954c17211cf61349d1c0b1

11 years agoFix a minor problem in progress.test. No code changes.
dan [Wed, 21 Aug 2013 07:25:03 +0000 (07:25 +0000)] 
Fix a minor problem in progress.test. No code changes.

FossilOrigin-Name: a95ae93b32a9ad2ae017124ed0881802c3c741c0

11 years agoFix a couple of test scripts to work with DEFAULT_AUTOVACUUM and OMIT_VIRTUALTABLE.
dan [Tue, 20 Aug 2013 20:25:03 +0000 (20:25 +0000)] 
Fix a couple of test scripts to work with DEFAULT_AUTOVACUUM and OMIT_VIRTUALTABLE.

FossilOrigin-Name: 356c6c59311eaf7d5633476f635e94a12b8b3924

11 years agoFix an invalid assert() in where.c. Also a crash that can occur in the EXPLAIN QUERY...
dan [Tue, 20 Aug 2013 17:14:57 +0000 (17:14 +0000)] 
Fix an invalid assert() in where.c. Also a crash that can occur in the EXPLAIN QUERY PLAN code under obscure circumstances.

FossilOrigin-Name: ef192abb82c2fc31135f875d7a19908d67c076b0

11 years agoIgnore IS NOT NULL and NOT NULL constraints on NOT NULL columns.
drh [Tue, 20 Aug 2013 17:00:55 +0000 (17:00 +0000)] 
Ignore IS NOT NULL and NOT NULL constraints on NOT NULL columns.

FossilOrigin-Name: e476408e3c5ba5f3ba5e98ff264167c163d72e3f

11 years agoTest script changes to support testing sqlite3_interrupt().
dan [Tue, 20 Aug 2013 16:08:39 +0000 (16:08 +0000)] 
Test script changes to support testing sqlite3_interrupt().

FossilOrigin-Name: 0cede9f898bcd13dab51b25cb0e72213d988d3d2

11 years agoPerformance optimizations in the VDBE and especially to the OP_Next and
drh [Tue, 20 Aug 2013 03:13:51 +0000 (03:13 +0000)] 
Performance optimizations in the VDBE and especially to the OP_Next and
related opcodes and in the sqlite3BtreeNext() and sqlite3BtreePrevious()
routines.  This is a cherrypick of [6f99b54aedeb], [d2efea1682a7], and
[d78c5d89de4b].

FossilOrigin-Name: 7f72fc4f47445a2c01910b268335873de9f75059

11 years agoPerformance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious()
drh [Mon, 19 Aug 2013 20:04:10 +0000 (20:04 +0000)] 
Performance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious()
for the common case of a valid cursor.

FossilOrigin-Name: dc65ad8c4c67b21e3b042b8df6580d02b634a90b

11 years agoInitialize a variable in fts3_write.c on the grounds that the argument required to...
dan [Mon, 19 Aug 2013 19:29:50 +0000 (19:29 +0000)] 
Initialize a variable in fts3_write.c on the grounds that the argument required to show that it does not require initialization with is complicated. Add an assert() to where.c to silence a clang scan-build warning.

FossilOrigin-Name: d6c4d48a002a6d7057fccc30064ce0b049678f0c

11 years agoFix test script pragma2.test so that it works with ENABLE_MEMORY_MANAGEMENT.
dan [Mon, 19 Aug 2013 18:37:18 +0000 (18:37 +0000)] 
Fix test script pragma2.test so that it works with ENABLE_MEMORY_MANAGEMENT.

FossilOrigin-Name: 6acf728100ff339e4451bcefd3a20fd5c3cfd662

11 years agoAdd some extra assert() statements to silence a few clang warnings.
dan [Mon, 19 Aug 2013 18:17:03 +0000 (18:17 +0000)] 
Add some extra assert() statements to silence a few clang warnings.

FossilOrigin-Name: 1c63e9515b5f5cb9169928b108d002dcd18ad4fd

11 years agoRemove unused variables from the command-line shell sources.
drh [Mon, 19 Aug 2013 14:23:31 +0000 (14:23 +0000)] 
Remove unused variables from the command-line shell sources.

FossilOrigin-Name: 753a402e90f3c9f675155ea96ee048dbe7a68700

11 years agoFix a potential reference off the end of an array in the query planner.
drh [Mon, 19 Aug 2013 14:19:00 +0000 (14:19 +0000)] 
Fix a potential reference off the end of an array in the query planner.

FossilOrigin-Name: f15591f80212dd6d4ed8e0f14be691cd578d4cdf

11 years agoFixes for harmless compiler warnings.
drh [Mon, 19 Aug 2013 11:15:48 +0000 (11:15 +0000)] 
Fixes for harmless compiler warnings.

FossilOrigin-Name: a0d9ca4f07f1dc3a189864f8ed9cdb0b1d791b1a

11 years agoAdjustments to #ifdefs in analyze.c to all a clean compile with no sqlite_stat4
drh [Sat, 17 Aug 2013 18:57:15 +0000 (18:57 +0000)] 
Adjustments to #ifdefs in analyze.c to all a clean compile with no
extra code with both ENABLE_STAT3 and ENABLE_STAT4 and with neither.

FossilOrigin-Name: f86b75b6c7290ee6ddb3636090b00e99fc68c45e

11 years agoAdd the cache_spill pragma. Change the fullfsync and checkpoint_fullfsync
drh [Sat, 17 Aug 2013 16:37:04 +0000 (16:37 +0000)] 
Add the cache_spill pragma.  Change the fullfsync and checkpoint_fullfsync
pragmas to apply to all attached databases.

FossilOrigin-Name: 65a85a156f3c827890e9f1fd22484a2f875c3b6f

11 years agoThe fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all cache_spill
drh [Sat, 17 Aug 2013 15:42:29 +0000 (15:42 +0000)] 
The fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all
files of a database connection, including those opened by future ATTACH
statements.

FossilOrigin-Name: d07c4331a28d44deca1ece8a34118f5b121b3ee2

11 years agoTest cases for the cache_spill pragma.
drh [Sat, 17 Aug 2013 00:25:07 +0000 (00:25 +0000)] 
Test cases for the cache_spill pragma.

FossilOrigin-Name: b85c9ec5e02c1b92faa8eeb9e56e02a576a43a96

11 years agoAdd the cache_spill pragma.
drh [Fri, 16 Aug 2013 20:42:20 +0000 (20:42 +0000)] 
Add the cache_spill pragma.

FossilOrigin-Name: cdb181c04fa99c6c29f23eb68ccb5475e7f6bf9c

11 years agoAdd a test for the problem fixed by [91733bc485].
dan [Fri, 16 Aug 2013 17:46:49 +0000 (17:46 +0000)] 
Add a test for the problem fixed by [91733bc485].

FossilOrigin-Name: 5c591104813a7e55e59f4f557cbb3e500fa817c2

11 years agoIn sqlite3Stat4ProbeSetValue() change a local variable name iVar to iBindVar
drh [Fri, 16 Aug 2013 17:18:02 +0000 (17:18 +0000)] 
In sqlite3Stat4ProbeSetValue() change a local variable name iVar to iBindVar
to avoid confusion with iVal, and fix a place where the name was actually
confused.

FossilOrigin-Name: 91733bc4856034c10bc2ba0acdae1970b05d62b9

11 years agoMerge the fork that resulted from a check-in race.
drh [Fri, 16 Aug 2013 14:51:32 +0000 (14:51 +0000)] 
Merge the fork that resulted from a check-in race.

FossilOrigin-Name: b7fe4f362bdf7b233a7b09eb9ce16d296165f82a

11 years agoFix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when
drh [Fri, 16 Aug 2013 14:49:00 +0000 (14:49 +0000)] 
Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when
changing text encodings.  Also fix some asserts to accommodate OOM errors.

FossilOrigin-Name: dc1ccd09c443cebc4731dbe1a0dea84a9ccf6a9b

11 years agoFixes for test code that was not working with utf16 databases. Run the analyze*.test...
dan [Fri, 16 Aug 2013 14:48:23 +0000 (14:48 +0000)] 
Fixes for test code that was not working with utf16 databases. Run the analyze*.test scripts as part of the 'utf16' permutation test.

FossilOrigin-Name: fe99494d99df95f699ffab07b1e212800b5ff00d

11 years agoAdd extra tests. No code changes.
dan [Fri, 16 Aug 2013 14:23:02 +0000 (14:23 +0000)] 
Add extra tests. No code changes.

FossilOrigin-Name: 949127d53e0a907ed6f73c6828637d94b265468c

11 years agoAvoid buffer overreads and false OOM error reports that could be caused by corrupted...
dan [Fri, 16 Aug 2013 14:09:43 +0000 (14:09 +0000)] 
Avoid buffer overreads and false OOM error reports that could be caused by corrupted sample records in the sqlite_stat4 table.

FossilOrigin-Name: 9f85b6a52a0b9b1524daa6f24d85257e7f591e95

11 years agoFix a potential segfault following an OOM while running ANALYZE.
drh [Fri, 16 Aug 2013 13:34:50 +0000 (13:34 +0000)] 
Fix a potential segfault following an OOM while running ANALYZE.

FossilOrigin-Name: 0118797823c9093e68113578f3f3aae65de41453

11 years agoMerge recent trunk changes into the STAT4 branch.
drh [Fri, 16 Aug 2013 12:26:33 +0000 (12:26 +0000)] 
Merge recent trunk changes into the STAT4 branch.

FossilOrigin-Name: c69b512af276a438399747af22659415af3a5d4d

11 years agoMake sure that GROUP BY terms select input column names in preference to
drh [Thu, 15 Aug 2013 22:40:21 +0000 (22:40 +0000)] 
Make sure that GROUP BY terms select input column names in preference to
output column names, in compliance with the SQL standard.
Ticket [1c69be2dafc28].

FossilOrigin-Name: f2d175f975cd0be63425424ec322a98fb650019e

11 years agoBare identifiers in ORDER BY clauses bind more tightly to output column name,
drh [Thu, 15 Aug 2013 20:24:27 +0000 (20:24 +0000)] 
Bare identifiers in ORDER BY clauses bind more tightly to output column name,
but identifiers in expressions bind more tightly to input column names.
This is a compromise between SQL92 and SQL99 behavior and is what
PostgreSQL and MS-SQL do.  Ticket [f617ea3125e9c].

FossilOrigin-Name: c78b357c00a35ed48ce2ffbc041de8d22570d1e2

11 years agoMake it easy to attach a debugger the test fixture process prior to any tests being...
mistachkin [Thu, 15 Aug 2013 20:05:03 +0000 (20:05 +0000)] 
Make it easy to attach a debugger the test fixture process prior to any tests being run.

FossilOrigin-Name: 53cd9ebfaf401c7932bf591e134a527c9962b88e

11 years agoFix a crash that can occur if the sqlite_stat3 or sqlite_stat4 table is corrupt.
dan [Thu, 15 Aug 2013 19:56:32 +0000 (19:56 +0000)] 
Fix a crash that can occur if the sqlite_stat3 or sqlite_stat4 table is corrupt.

FossilOrigin-Name: d51df8a8fcc31c37f6e1c9612204af5738ed865e

11 years agoFix a crash that can occur following an OOM fault.
dan [Thu, 15 Aug 2013 18:43:21 +0000 (18:43 +0000)] 
Fix a crash that can occur following an OOM fault.

FossilOrigin-Name: 9f80b2687012ab7c4d6d654fe19f40878bd78bd8

11 years agoChange some assert() statements in vdbe.c to ensure that a memory cell used to store...
dan [Thu, 15 Aug 2013 16:18:39 +0000 (16:18 +0000)] 
Change some assert() statements in vdbe.c to ensure that a memory cell used to store a VdbeCursor object is not also used for some other purpose.

FossilOrigin-Name: 71070c9fce86103f174220e07771df99b2e01405

11 years agoMake sure the ANALYZE command allocates enough VDBE registers.
drh [Thu, 15 Aug 2013 16:15:00 +0000 (16:15 +0000)] 
Make sure the ANALYZE command allocates enough VDBE registers.

FossilOrigin-Name: 46fec9b1a1c4616df5a634dbf9235bd13408d3a9

11 years agoAdd tests for sqlite_stat4 sample selection. And a fix for the same.
dan [Thu, 15 Aug 2013 14:39:09 +0000 (14:39 +0000)] 
Add tests for sqlite_stat4 sample selection. And a fix for the same.

FossilOrigin-Name: 1fb4d9d6f2675515feb8e3d971bbd54716372549

11 years agoClarification and typo fixes in comments related to name resolution.
drh [Thu, 15 Aug 2013 14:27:42 +0000 (14:27 +0000)] 
Clarification and typo fixes in comments related to name resolution.
No changes to code.

FossilOrigin-Name: f30abdf9d814d6c75bf1c803054737c737ad636f

11 years agoMake it easy to attach a debugger the test fixture process prior to any tests being... dbgTestFixture
mistachkin [Thu, 15 Aug 2013 08:06:15 +0000 (08:06 +0000)] 
Make it easy to attach a debugger the test fixture process prior to any tests being run.

FossilOrigin-Name: c23acba11bfefc019b5945cfb345f9afcf4b6242

11 years agoChange the way ANALYZE works to use a single cursor when scanning indices.
dan [Wed, 14 Aug 2013 19:54:12 +0000 (19:54 +0000)] 
Change the way ANALYZE works to use a single cursor when scanning indices.

FossilOrigin-Name: bdce612b35193abf72de1a563ea7962375b3574e

11 years agoFix a few more minor comment typos. No changes to code.
mistachkin [Wed, 14 Aug 2013 00:20:23 +0000 (00:20 +0000)] 
Fix a few more minor comment typos.  No changes to code.

FossilOrigin-Name: 9e999081a59b161a0a1f968fbc01a1db9ea43b93

11 years agoFix an outdated comment and a comment typo. No changes to code.
mistachkin [Tue, 13 Aug 2013 22:33:41 +0000 (22:33 +0000)] 
Fix an outdated comment and a comment typo.  No changes to code.

FossilOrigin-Name: ac336959490083ffeaaf25aaec97ecb59a2f4536

11 years agoIf ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate...
dan [Mon, 12 Aug 2013 20:14:04 +0000 (20:14 +0000)] 
If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4.

FossilOrigin-Name: cca8bf4372ab7a0258aa5c9397818415c6cf0abf

11 years agoIf there is data in both the sqlite_stat4 and sqlite_stat3 tables for a single index...
dan [Mon, 12 Aug 2013 17:31:32 +0000 (17:31 +0000)] 
If there is data in both the sqlite_stat4 and sqlite_stat3 tables for a single index, ignore the sqlite_stat3 records.

FossilOrigin-Name: 2a41736728d83a777ea8112da927cb047ec6684e

11 years agoHandle a NULL input to decodeIntArray() that can result from a prior OOM.
drh [Mon, 12 Aug 2013 17:00:08 +0000 (17:00 +0000)] 
Handle a NULL input to decodeIntArray() that can result from a prior OOM.

FossilOrigin-Name: fa1588adab6759fd3d1be02524aa19a0d1c6adaa

11 years agoRe-enable reading from the sqlite_stat3 table (as well as sqlite_stat4).
dan [Mon, 12 Aug 2013 16:34:32 +0000 (16:34 +0000)] 
Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4).

FossilOrigin-Name: 6d45078e621526fc2bac0eaefbb0f9602b9a8ec5

11 years agoFix a bug in calculating the average number of entries for keys not present in the...
dan [Mon, 12 Aug 2013 11:21:10 +0000 (11:21 +0000)] 
Fix a bug in calculating the average number of entries for keys not present in the sqlite_stat4 table.

FossilOrigin-Name: ec3ffb174844406a6186c3dcc41b76d0331b502c

11 years agoFix minor problems caused by adding the rowid to the records in stat4.
dan [Mon, 12 Aug 2013 09:29:04 +0000 (09:29 +0000)] 
Fix minor problems caused by adding the rowid to the records in stat4.

FossilOrigin-Name: 088d1ff94890ada50d43e6a366a58167ec5a8e96

11 years agoAdd the rowid field to the end of sample records stored in the sqlite_stat4 table.
dan [Sat, 10 Aug 2013 19:08:30 +0000 (19:08 +0000)] 
Add the rowid field to the end of sample records stored in the sqlite_stat4 table.

FossilOrigin-Name: 3a5e8ab7ddbe1d943b35ef329fe4e5a1bfdb0d9d

11 years agoFix a couple of typos in a comment in analyze.c. No code changes.
dan [Fri, 9 Aug 2013 19:04:07 +0000 (19:04 +0000)] 
Fix a couple of typos in a comment in analyze.c. No code changes.

FossilOrigin-Name: 5bcccb93df98f5dfee0ea4d797b07fe0257258a9

11 years agoUpdate the header comment on analyze.c to describe the sqlite_stat4 table
drh [Fri, 9 Aug 2013 14:07:55 +0000 (14:07 +0000)] 
Update the header comment on analyze.c to describe the sqlite_stat4 table
format.

FossilOrigin-Name: 4d97809d6b29809f12d753043bda1976bdb1bd3b

11 years agoFix problems in estimating the number of rows visited by a range query using sqlite_s...
dan [Thu, 8 Aug 2013 19:38:40 +0000 (19:38 +0000)] 
Fix problems in estimating the number of rows visited by a range query using sqlite_stat4 data when the column subject to the range query is not the leftmost of the index.

FossilOrigin-Name: 9228aaf54dd2700c4f460f94f9c2309407578983

11 years agoUse a binary search instead of a linear scan when comparing a sample key against...
dan [Thu, 8 Aug 2013 16:17:12 +0000 (16:17 +0000)] 
Use a binary search instead of a linear scan when comparing a sample key against data from the sqlite_stat4 table.

FossilOrigin-Name: e50dc30523210ba12324d5d8379503610f13aa34

11 years agoIf the SQLITE_EXTRA_INIT function is defined, make sure it is called only
drh [Thu, 8 Aug 2013 14:38:45 +0000 (14:38 +0000)] 
If the SQLITE_EXTRA_INIT function is defined, make sure it is called only
once by the effective sqlite3_initialize() call.

FossilOrigin-Name: e2b597cafe7c8a8313b051d6a302fed54f235727