drh [Tue, 10 Jun 2014 20:18:17 +0000 (20:18 +0000)]
Proposed change to the fix for ticket [1c69be2dafc28b] such that legacy
applications that were exploiting the older buggy behavior in SQLite
continue to work.
drh [Mon, 9 Jun 2014 20:24:46 +0000 (20:24 +0000)]
Enhance the unix VFS so that it keeps track of the size of unlinked files
internally and thus avoids the need to call fstat() on those files, since
fstat() does not work reliably on unlinked files on some implementations
of FuseFS.
drh [Mon, 9 Jun 2014 20:06:01 +0000 (20:06 +0000)]
Enhance the unix VFS so that it keeps track of the size of unlinked files
internally and thus avoids the need to call fstat() on those files, since
fstat() does not work reliably on unlinked files on some implementations of
FuseFS.
drh [Mon, 9 Jun 2014 13:11:40 +0000 (13:11 +0000)]
Modify the %nonassoc directive in lemon so that it generates a run-time
error rather than a parsing conflict. This changes is due to a bug report
on the mailing list. SQLite does not use the %nonassoc directive in its
grammar so this change does not affect SQLite.
drh [Fri, 6 Jun 2014 20:20:09 +0000 (20:20 +0000)]
Make sure the estLog() routine in the query planner handles negative
values correctly (always returning 1). Prior to this change, estLog(-1)
would return a large number which could throw off the cost computations
in the query planner in obscure circumstances.
drh [Mon, 2 Jun 2014 11:26:33 +0000 (11:26 +0000)]
Fix the query planner so that it once again knows that queries without a
FROM clause will never return more than one row and hence do not require
sorting.
drh [Thu, 29 May 2014 12:36:14 +0000 (12:36 +0000)]
Improvements to error messages for errors in the dot-commands of the
command-line shell. Add the ".once" command. The output of ".help"
now goes to the designated output channel.
drh [Tue, 27 May 2014 18:18:58 +0000 (18:18 +0000)]
Change the name of the Index.autoIndex field to Index.idxType and provide
symbolic names for the various values of that field rather than using
magic numbers.
dan [Mon, 26 May 2014 20:06:45 +0000 (20:06 +0000)]
Enable the OR optimization for WITHOUT ROWID tables. Use a temp table instead of the RowSet object to track the rows that have already been included in the result set.
dan [Mon, 26 May 2014 18:27:12 +0000 (18:27 +0000)]
Fix a problem in the shell when importing CSV files. If the leftmost field of the first row in the CSV file was both zero bytes in size and unquoted, no data was imported.
dan [Mon, 26 May 2014 16:40:02 +0000 (16:40 +0000)]
Fix a problem in FTS4 where columns with names that are prefixes of any notindexed column were also being (incorrectly) marked as not indexed. For example in "CREATE ... t1(abc, bc, abcd, notindexed=abcd)", both abc and abcd were being treated as notindexed.
drh [Fri, 23 May 2014 12:03:47 +0000 (12:03 +0000)]
In the command-line shell, if three or more interrupt signals (control-c)
are received in a row without a response from sqlite3_interrupt() then
call exit(1) immediately. This allows control-C to interrupt the shell
even if it is stuck in a computation or loop that does not involve the
VDBE.
drh [Fri, 23 May 2014 11:48:57 +0000 (11:48 +0000)]
Make sure sufficient VDBE registers are allocated for an INSERT...SELECT
when there is an idlist on the insert table that includes an explicit
rowid. Ticket [9654505cfda93610585fde5a9bbf2e730c8a8d5]
drh [Wed, 21 May 2014 08:21:07 +0000 (08:21 +0000)]
Fix the sqlite3_db_readonly() API so that it reports true if the database
is readonly because the file format write version (byte 18 of the header)
is too large.
dan [Fri, 16 May 2014 16:16:59 +0000 (16:16 +0000)]
Fixes to prevent an FTS index from growing indefinitely as the corresponding table is updated. Change the FTS 'automerge' option to allow the user to specify the number of segments that should be merged simultaneously by auto-merges.
drh [Fri, 16 May 2014 14:17:01 +0000 (14:17 +0000)]
Repurpose the SQLITE_TESTCTRL_FAULT_INSTALL test-control to register a
callback to be invoked by sqlite3FaultSim(). That test-control has been
unused since 2008-06-20 and was never used in any official release.
dan [Fri, 16 May 2014 10:30:44 +0000 (10:30 +0000)]
Fix a bug causing an incorrect segment size value to be stored if both an old and new FTS version performed work on the same incremental merge operation.
dan [Wed, 14 May 2014 15:58:47 +0000 (15:58 +0000)]
Fix various problems to do with segment promotion. Add test file fts4growth2.test, containing tests to check that the FTS index does not grow indefinitely as the table is updated.
mistachkin [Fri, 9 May 2014 20:51:17 +0000 (20:51 +0000)]
When cross-compiling with the MSVC makefile, make sure the correct library path is used. Also, keep track of the required compilation options separately.
drh [Wed, 7 May 2014 18:21:56 +0000 (18:21 +0000)]
Ensure that the sqlite3StrAccumAppend() routine is never called with a NULL
second argument. Doing so is harmless when N==0, but it causes an assert()
to fail that was placed to quiet static analyzers.
drh [Wed, 7 May 2014 15:46:04 +0000 (15:46 +0000)]
Add the SQLITE_IOCAP_IMMUTABLE bit as a possible return value from
the xDeviceCharacteristics method in the VFS. Add the "nolock" and
"immutable" query parameters to URI filenames.
drh [Mon, 5 May 2014 20:32:15 +0000 (20:32 +0000)]
Create new header file "os_setup.h" used to detect the operating system
at compile-time, and "os_win.h" that contains windows-specific header in
formation.