danielk1977 [Fri, 6 Feb 2009 05:59:44 +0000 (05:59 +0000)]
Changes to the backup API: (1) if a negative number is passed as the second argument to backup_step(), this is interpreted as "copy all remaining pages" and (2) if backup_finish() is called after backup_step() fails with a BUSY or LOCKED error, then this error is also returned by backup_finish() (same handling as for other errors encountered by backup_step()). (CVS 6266)
drh [Wed, 4 Feb 2009 19:16:23 +0000 (19:16 +0000)]
If the truncate operation fails in journalmode=TRUNCATE, do not fall back
to overwriting the journal header with zeros. Simply fail the operation. (CVS 6257)
shane [Wed, 4 Feb 2009 03:59:25 +0000 (03:59 +0000)]
Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250)
drh [Tue, 3 Feb 2009 22:51:06 +0000 (22:51 +0000)]
Correction to check-ins (6246) and (6247): The backup object might not
hold a valid destination connection pointer. Also, do not reset the
page cache when establishing a read-lock while there is a persistent
or truncated journal, only if there is a journal that really needs to
rollback. Otherwise backups always reset whenever the source database
file is read. (CVS 6248)
drh [Tue, 3 Feb 2009 21:13:07 +0000 (21:13 +0000)]
Must hold mutex on the destination during backups. Add documentation to
warn programmers that attempting to use the destination connection during
a backup can lead to deadlock. (CVS 6246)
shane [Tue, 3 Feb 2009 19:55:20 +0000 (19:55 +0000)]
Fixed postToParent() return type (Tcl_ThreadCreateType) in test_thread.c to compile with MSVC. Removed a few compiler warnings. Test harness change only. (CVS 6245)
drh [Tue, 3 Feb 2009 16:25:47 +0000 (16:25 +0000)]
Fix the sqlite3_mprintf_long test command (added by check-in (6224) in order
to address ticket #3621) so that it works on systems with sizeof(int)==4 and
sizeof(long)==8. (CVS 6240)
drh [Tue, 3 Feb 2009 15:27:02 +0000 (15:27 +0000)]
Check at the write() call to work around the msdos bug in OSX actually
succeeds and throw an error if it does not. #ifdef out the work-around
for all platforms other than OSX. Ticket #3633. (CVS 6237)
drh [Mon, 2 Feb 2009 21:57:05 +0000 (21:57 +0000)]
Make group_concat() a 1- or 2-value function, as the documentation says it
should be. Use the md5sum() function to verify ticket #3179, not
group_concat(). This undoes the ill-advised group_concat() change of
check-in (5233). (CVS 6233)
drh [Fri, 30 Jan 2009 17:27:44 +0000 (17:27 +0000)]
Fix a round-off error when moving dates by negative modifier amounts.
Ticket #3618. Enhance the "NNN years" modifier to accept fractional
years. (CVS 6220)
drh [Thu, 29 Jan 2009 19:27:46 +0000 (19:27 +0000)]
Add test cases to make sure that keywords that we say can be used as
identifiers really can be used as identifiers. These tests were
inspired by ticket #3612, but they do not directly address ticket #3612. (CVS 6214)
vapier [Wed, 28 Jan 2009 04:46:14 +0000 (04:46 +0000)]
unify TCLLIBDIR handling with libtclsqlite3.so and use libtool to install it rather than custom tclinstaller.tcl ... this integrates better with autotools and avoids relinking issues (RPATH pointing to builddir) (CVS 6210)
drh [Thu, 22 Jan 2009 23:04:45 +0000 (23:04 +0000)]
Fix the VACUUM command so that it does not commit a transaction when it is
mistakenly run within a transaction - it should leave the transaction open. (CVS 6200)
danielk1977 [Thu, 22 Jan 2009 17:12:39 +0000 (17:12 +0000)]
Silence a C++ builder warning by writing "if( (rc = function())!=SQLITE_OK )" instead of "if( (rc = function()) )" in two places in pager.c. Ticket #3605. (CVS 6199)
danielk1977 [Wed, 21 Jan 2009 17:45:33 +0000 (17:45 +0000)]
Add a comment to fts3_tokenizer.h to make it clear how the xNext() method is supposed to set its output variables. Make sure the output variables of xNext() are only used if SQLITE_OK is returned. Ticket #3604. (CVS 6198)
danielk1977 [Tue, 20 Jan 2009 16:53:39 +0000 (16:53 +0000)]
When not compiling for an EBCDIC system, use built-in alternatives to the tolowe
r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196)
drh [Sat, 17 Jan 2009 15:53:31 +0000 (15:53 +0000)]
Back out the Makefile.in changes from check-in (6181) because of reports
(ticket #3594) that they do not work on NetBSD. Separately, documentation
is updated to make clear that configure and Makefile.in are unsupported. (CVS 6191)
danielk1977 [Fri, 16 Jan 2009 16:40:14 +0000 (16:40 +0000)]
Fix a change-counter bug similar to #3584. This one is much more obscure though, requiring a transient IO or malloc error to occur while running in exclusive mode. (CVS 6189)
danielk1977 [Fri, 16 Jan 2009 11:04:58 +0000 (11:04 +0000)]
Allow recently added keywords 'savepoint' and 'release' to be used as database object names. Just as they could be prior to 3.6.8. Ticket #3590. (CVS 6186)
drh [Wed, 14 Jan 2009 23:03:40 +0000 (23:03 +0000)]
Add asserts to detect if a transaction commits without first incrementing
the transaction counter. These asserts are intended to prevent future
problems similar to ticket #3584. (CVS 6179)
danielk1977 [Wed, 14 Jan 2009 17:45:57 +0000 (17:45 +0000)]
Fix a problem with committing a transaction while there are other active statements. Sometimes, the database change counter was not being updated. (CVS 6176)
drh [Wed, 14 Jan 2009 00:55:09 +0000 (00:55 +0000)]
Make sure the OR-clause optimizer takes the cost of sorting into account.
Reset the rowid cache on the OP_Rewind and OP_Last opcodes. Bump the
version number so that we can do an emergency release. Ticket #3581. (CVS 6173)
danielk1977 [Tue, 13 Jan 2009 16:03:44 +0000 (16:03 +0000)]
If the journal file is open when unlocking the database, close it just before unlocking the database file instead of just after. This may fix #3572. (CVS 6171)