Overview
Comment: | Fix bugs discovered in 3.1.4. F_FULLFSYNC not F_FULLSYNC. And a bug in "make doc". Also typos in the documentation. (CVS 2379) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | 3c57a4571fc8463ce9de1cbe5be45538bf2f0de9 |
User & Date: | drh 2005-03-11 17:52:35 |
Context
2005-03-11
| ||
17:55 | Updates to the homepage prior to 3.1.5. (CVS 2380) check-in: c78611f6 user: drh tags: trunk | |
17:52 | Fix bugs discovered in 3.1.4. F_FULLFSYNC not F_FULLSYNC. And a bug in "make doc". Also typos in the documentation. (CVS 2379) check-in: 3c57a457 user: drh tags: trunk | |
04:53 | Version 3.1.4 (CVS 2378) check-in: 3d070a9b user: drh tags: trunk | |
Changes
Changes to Makefile.in.
561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 |
tclsh $(TOP)/www/version3.tcl >version3.html
# Files to be published on the website.
#
DOC = \
arch.html \
arch.png \
autoinc.html \
c_interface.html \
capi3.html \
capi3ref.html \
changes.html \
compile.html \
copyright.html \
|
< |
561 562 563 564 565 566 567 568 569 570 571 572 573 574 |
tclsh $(TOP)/www/version3.tcl >version3.html # Files to be published on the website. # DOC = \ arch.html \ autoinc.html \ c_interface.html \ capi3.html \ capi3ref.html \ changes.html \ compile.html \ copyright.html \ |
Changes to VERSION.
1 |
3.1.4
|
| |
1 |
3.1.5
|
Changes to src/os_unix.c.
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
...
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
|
*/
#ifdef SQLITE_NO_SYNC
rc = SQLITE_OK;
#else
#ifdef F_FULLFSYNC
if( fullSync ){
rc = fcntl(fd, F_FULLSYNC, 0);
}else{
rc = 1;
}
/* If the FULLSYNC failed, try to do a normal fsync() */
if( rc ) rc = fsync(fd);
#else
rc = fsync(fd);
#endif /* defined(F_FULLSYNC) */
#endif /* defined(SQLITE_NO_SYNC) */
return rc;
}
/*
** Make sure all writes to a particular file are committed to disk.
................................................................................
/*
** Sync the directory zDirname. This is a no-op on operating systems other
** than UNIX.
**
** This is used to make sure the master journal file has truely been deleted
** before making changes to individual journals on a multi-database commit.
** The F_FULLSYNC option is not needed here.
*/
int sqlite3OsSyncDirectory(const char *zDirname){
int fd;
int r;
SimulateIOError(SQLITE_IOERR);
fd = open(zDirname, O_RDONLY|O_BINARY, 0644);
TRACE3("DIRSYNC %-3d (%s)\n", fd, zDirname);
|
|
|
|
|
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
...
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
|
*/ #ifdef SQLITE_NO_SYNC rc = SQLITE_OK; #else #ifdef F_FULLFSYNC if( fullSync ){ rc = fcntl(fd, F_FULLFSYNC, 0); }else{ rc = 1; } /* If the FULLSYNC failed, try to do a normal fsync() */ if( rc ) rc = fsync(fd); #else rc = fsync(fd); #endif /* defined(F_FULLFSYNC) */ #endif /* defined(SQLITE_NO_SYNC) */ return rc; } /* ** Make sure all writes to a particular file are committed to disk. ................................................................................ /* ** Sync the directory zDirname. This is a no-op on operating systems other ** than UNIX. ** ** This is used to make sure the master journal file has truely been deleted ** before making changes to individual journals on a multi-database commit. ** The F_FULLFSYNC option is not needed here. */ int sqlite3OsSyncDirectory(const char *zDirname){ int fd; int r; SimulateIOError(SQLITE_IOERR); fd = open(zDirname, O_RDONLY|O_BINARY, 0644); TRACE3("DIRSYNC %-3d (%s)\n", fd, zDirname); |
Changes to www/changes.tcl.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
proc chng {date desc} {
puts "<DT><B>$date</B></DT>"
puts "<DD><P><UL>$desc</UL></P></DD>"
}
chng {2005 February 19 (3.1.4)} {
<li>Fix a bug in autovacuum that could cause database corruption if
a CREATE UNIQUE INDEX fails because of a constraint violation.
This problem only occurs if the new autovacuum feature introduced in
version 3.1 is turned on.</li>
<li>The F_FULLSYNC ioctl (currently only supported on OS-X) is disabled
if the synchronous pragma is set to something other than "full".</li>
<li>Add additional forward compatibility to the future version 3.2 database
|
| > > > > > |
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2005 March 11 (3.1.5)} { <li>The ioctl on OS-X to control syncing to disk is F_FULLFSYNC, not F_FULLSYNC. The previous release had it wrong.</li> } chng {2005 March 10 (3.1.4)} { <li>Fix a bug in autovacuum that could cause database corruption if a CREATE UNIQUE INDEX fails because of a constraint violation. This problem only occurs if the new autovacuum feature introduced in version 3.1 is turned on.</li> <li>The F_FULLSYNC ioctl (currently only supported on OS-X) is disabled if the synchronous pragma is set to something other than "full".</li> <li>Add additional forward compatibility to the future version 3.2 database |