Test handling of IO errors that occur in OsDelete() or OsTruncate() operations. Also use an anonymous file for temporary storage during a VACUUM. (CVS 3729)
check-in: b24a6e7b user: danielk1977 tags: trunk

The -DSQLITE_OMIT_ATTACH=1 option now omits both the ATTACH and VACUUM
commands. Ticket #2268.
The regression test suite depends on both of these commands
and will not run if compiled with this option. (CVS 3727)
check-in: cbebfb89 user: drh tags: trunk

Refactor PLWriter in preparation for buffered-document change.
Currently, PLWriter (Position List Writer) creates a locally-owned
DataBuffer to write into. This is necessary to support doclist
collection during tokenization, where there is no obvious buffer to
write output to, but is not necessary for the other users of PLWriter.
This change adds a DLCollector (Doc List Collector) structure to
handle the tokenization case. Also fix a potential memory leak in writeZeroSegment(). In case of
error from leafWriterStep(), the DataBuffer dl was being leaked. (CVS 3706)
check-in: 1b9918e2 user: shess tags: trunk

Out-of-memory cleanup in tokenizers. Handle NULL return from
malloc/calloc/realloc appropriately, and use sizeof(var) instead of
sizeof(type) to make certain that we don't get a mismatch between
them as the code rots. (CVS 3693)
check-in: fbc53da8 user: shess tags: trunk

Updates to the copyright.html page to address concerns some users have
SQLite have about copyright issues. A links to the wikipedia article
on public domain and a public domain icon. (CVS 3679)
check-in: 6ce39f30 user: drh tags: trunk

Changes to the btree and pager that reduce the amount of I/O when dealing
with the freelist. (1) Avoid journaling pages of a table that is being
deleted. (2) Do not read the original content of pages being pulled off
of the freelist. (CVS 3671)
check-in: 2ba5be31 user: drh tags: trunk

Make sure that integer values are converted to real when pulled from
a REAL table column by GROUP BY. Ticket #2251. Also make sure default
values are correctly expanded. There may be other places in the code
where this issue comes up - we need to look further. (CVS 3659)
check-in: e11bbf17 user: drh tags: trunk

Disable the OR optimization if it would conflict with column
affinity coercions. Ticket #2249. Additional cleanup and testing
of the OR optimization. (CVS 3658)
check-in: 908daaa9 user: drh tags: trunk

Clarify the documentation on how comparisons occur in an IN operator.
Fix the comparison operators when both sides of an IN operator are
expressions (ticket #2248).
Changes to main.mk for adding FTS2 into the standard build also
got mixed in with this check-in by mistake. (CVS 3656)
check-in: da81725c user: drh tags: trunk

Change the coding of PRAGMA count_changes so that it uses memory cells
of the VM rather than the stack, to avoid problems with leftovers on the
stack interfering with other operations. Ticket #2217. (CVS 3632)
check-in: 2bd4b62a user: drh tags: trunk

http://www.sqlite.org/cvstrac/tktview?tn=2219 When creating fts tables in an attached database, the backing tables
are created in database 'main'. This change propagates the
appropriate database name to the routines which build sql statements. Note that I propagate the database name and table name separately. I
briefly considered just making the table name be "db.table", but it
didn't fit so well in the model used to store the table name and other
information, and having the db name passed separately seemed a bit
more transparent. (CVS 3631)
check-in: 283385d2 user: shess tags: trunk

When optimizing out an ORDER BY clause due to uniqueness constraints, make
sure unused terms to the right in the ORDER BY clause to not reference other
tables in a join. Ticket #2211. Additional test cases needed before
closing this ticket. (CVS 3629)
check-in: 912faf18 user: drh tags: trunk

Minor tweaks to collating sequences. We'll hold of making major changes
until 3.4.0, since we'll likely end up with some minor technical
imcompatibilities. (CVS 3626)
check-in: 9740aa95 user: drh tags: trunk

First cut at adding the COLLATE operator. Regression tests pass (or at least
the quick set does) and a few new tests have been added. But many more
tests are needed. Rules for combining collations need to be worked out. (CVS 3624)
check-in: 85cca7cd user: drh tags: trunk

Limit the number of errors returned by PRAGMA integrity_check to 100 by
default. Specify an alternative limit using an argument to the pragma.
Ticket #2176. (CVS 3609)
check-in: d564a039 user: drh tags: trunk

Add code to select.c for printing the contents of parse-tree structures.
The code is normally omitted. You must compile with -DSQLITE_TEST
or -DSQLITE_DEBUG to enable it. (CVS 3606)
check-in: 1b26d687 user: drh tags: trunk

http://www.sqlite.org/cvstrac/tktview?tn=2166,35 Calling UPDATE against an fts table in a UTF-16 database inserts
corrupted data into the database. The UTF-8 data is being inserted
directly. This appears to happen because sqlite3_ value_text()
destructively coerces a value to UTF-8, and it's never converted back
when updating the table. This works around the problem by rearranging
things so that the update happens before the coercion. (CVS 3596)
check-in: 4f2ab4b6 user: shess tags: trunk

Make sure the IS NULL optimization introduced by check-in (3494) correctly
handles a LEFT JOIN where the a term from the right table of the join uses
an IS NULL constraint. Ticket #2177. This check-in also adds the new test
cases that were suppose to have been added with (3494) but which were
mistakenly omitted. (CVS 3595)
check-in: 335863e4 user: drh tags: trunk

Additional memory initialization in lemon - bug reported from wireshark.
Ticket #2172. Note this problem only comes up with certain grammars,
and does not impact SQLite. On the other hand, it might cause SQLite
to run slower. So we might want to revisit this change at some point. (CVS 3594)
check-in: d537aa5e user: drh tags: trunk

Fix a bug in lemon. The code in which the error appears might well be
unreachable. The changes does not effect the code that is generated for
the SQLite parser. Ticket #2164. (CVS 3591)
check-in: f4ee5d83 user: drh tags: trunk

Fix a critical bug in sqlite3_prepare_v2 that can lead to segfaults when
the schema changes and the statement is recompiled automatically.
Ticket #2154. (CVS 3576)
check-in: 3401388d user: drh tags: trunk

In the btree.c, when releasing the page1 lock, first make sure the
pager has not reset and released the lock already. This fixes a bug
introduced by (3549). (CVS 3563)
check-in: 36a2db96 user: drh tags: trunk

Make sure that the database size cache in the pager is invalidated whenever
the database is unlocked. A stale value in the database size cache can
result in database corruption on a heavily loaded system running
autovacuum. (CVS 3548)
check-in: 6806b9ec user: drh tags: trunk

Update the vtab_err test to check for -DSQLITE_MEMDEBUG=1 and skip the tests
if missing. Pager is more careful to clear its file size cache. Remove
an assert() in VDBE that might fail on a corrupt database file. (CVS 3547)
check-in: bf1afd01 user: drh tags: trunk

OS/2 change: add safeguard to be able to use SQLite loaded into high memory on OS/2 when compiled with GCC 3.3 or later. Currently, this is only used when building within the Mozilla source tree. (CVS 3546)
check-in: 720189b8 user: pweilbacher tags: trunk

Disable extension loading by default. At some point we should change
the configure script to detect the presence of dlopen() automatically
and add the appropriate library to the link. But that requires a
working version of autoconf, which I do not have. Ticket #2124. (CVS 3545)
check-in: 87a9ee07 user: drh tags: trunk

The query optimizer does a better job of optimizing out ORDER BY clauses
that contain the rowid or which use indices that contain the rowid.
Ticket #2116. (CVS 3536)
check-in: f245f5c2 user: drh tags: trunk