-C Add\scomments\sto\ssqlite3ExprCompare()\sto\sclarify\sits\soperation.\sTicket\s#2216.\s(CVS\s3663)
-D 2007-02-24T15:29:04
+C Improvements\sto\sOS\slayer\stracing\son\sthe\sunix\sbackend.\s(CVS\s3664)
+D 2007-02-27T02:01:14
F Makefile.in 1fe3d0b46e40fd684e1e61f8e8056cefed16de9f
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F src/os_os2.h e5f17dd69333632bbc3112881ea407c37d245eb3
F src/os_test.c 49833426101f99aee4bb5f6a44b7c4b2029fda1c
F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3
-F src/os_unix.c 2f7f7dbb95bbfa109f951c828b248102ab75b621
+F src/os_unix.c abdb0f7b8e3f078b8b48d4c0b8c801693046774d
F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
F src/os_win.c 8736cf3a49fd651a6538857480f302807d57814c
F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 2bf5475bde763f73f7f4dd9cac7d13a631a7d2aa
-R bf7e89dd91722385f525c6269433be59
+P fba0a1e50820677081bc7cf01f97bf953065f7c4
+R 53e6e1175e996a66fdc28979d298605a
U drh
-Z 359d2bb09f0008f8bf6cf7c87fededb5
+Z 6212737d1226e74d32458bf3f5faf876
static int seekAndRead(unixFile *id, void *pBuf, int cnt){
int got;
i64 newOffset;
+ TIMER_START;
#ifdef USE_PREAD
got = pread(id->h, pBuf, cnt, id->offset);
#else
}
got = read(id->h, pBuf, cnt);
#endif
+ TIMER_END;
+ TRACE5("READ %-3d %5d %7lld %d\n", id->h, got, id->offset, TIMER_ELAPSED);
if( got>0 ){
id->offset += got;
}
static int unixRead(OsFile *id, void *pBuf, int amt){
int got;
assert( id );
- TIMER_START;
got = seekAndRead((unixFile*)id, pBuf, amt);
- TIMER_END;
- TRACE5("READ %-3d %5d %7d %d\n", ((unixFile*)id)->h, got,
- last_page, TIMER_ELAPSED);
- SEEK(0);
SimulateIOError( got = -1 );
if( got==amt ){
return SQLITE_OK;
static int seekAndWrite(unixFile *id, const void *pBuf, int cnt){
int got;
i64 newOffset;
+ TIMER_START;
#ifdef USE_PREAD
got = pwrite(id->h, pBuf, cnt, id->offset);
#else
}
got = write(id->h, pBuf, cnt);
#endif
+ TIMER_END;
+ TRACE5("WRITE %-3d %5d %7lld %d\n", id->h, got, id->offset, TIMER_ELAPSED);
if( got>0 ){
id->offset += got;
}
int wrote = 0;
assert( id );
assert( amt>0 );
- TIMER_START;
while( amt>0 && (wrote = seekAndWrite((unixFile*)id, pBuf, amt))>0 ){
amt -= wrote;
pBuf = &((char*)pBuf)[wrote];
}
- TIMER_END;
- TRACE5("WRITE %-3d %5d %7d %d\n", ((unixFile*)id)->h, wrote,
- last_page, TIMER_ELAPSED);
- SEEK(0);
SimulateIOError(( wrote=(-1), amt=1 ));
SimulateDiskfullError(( wrote=0, amt=1 ));
if( amt>0 ){
*/
static int unixSeek(OsFile *id, i64 offset){
assert( id );
- SEEK(offset/1024 + 1);
#ifdef SQLITE_TEST
if( offset ) SimulateDiskfullError(return SQLITE_FULL);
#endif