Commit Graph

139 Commits

Author SHA1 Message Date
danielk1977
1e5369531e More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)
FossilOrigin-Name: 77b1671351fe94b0ebc126a63140643deae2aa64
2007-08-16 10:09:01 +00:00
drh
174357527a Half-way through a major refactoring of the memory allocation.
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)

FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
danielk1977
6207906027 Modify the crash-recovery test code in test6.c for 3.5. Also change some other code to use the new sqlite3_io_methods interface. Lots of things are broken now. (CVS 4228)
FossilOrigin-Name: af9503daf3f7703fcddad754bc1dc9e179830b6e
2007-08-15 17:08:46 +00:00
drh
fd131daecd Remove all tabs from source code files. Ticket #2556. (CVS 4198)
FossilOrigin-Name: 7550dd1d5980a399fbb06b4ed69216700f879a0b
2007-08-07 17:13:03 +00:00
drh
e78669b6b8 Set FD_CLOEXEC on all open files under Unix. Ticket #2475. (CVS 4146)
FossilOrigin-Name: f1e5fed8eb0fb92bd0f040666c017850afe3cf9f
2007-06-29 12:04:26 +00:00
drh
63fff5f7a5 Cast the 2nd parameter of ftruncate to off_t to work around bugs in
some unix implementations.  Ticket #2425. (CVS 4089)

FossilOrigin-Name: 0b20a69609c64af922bedab381f7d075e9da4fc5
2007-06-19 10:50:38 +00:00
drh
3b62b2fa8b Use C-sylte comments exclusively, never C++ comments. Ticket #2406. (CVS 4052)
FossilOrigin-Name: 8f5b789fea23d76128c10b37158de2525a54ce20
2007-06-08 18:27:03 +00:00
drh
5bb3eb9b9a Eliminate all uses of sprintf() and strcpy(). These were not being
misused.  But getting rid of them removes a library dependency.  And
it avoids warnings from the OpenBSD compiler.  Ticket #2336. (CVS 3916)

FossilOrigin-Name: ba4845b32bdf38e623c4f7246e6e327715bbba4b
2007-05-04 13:15:55 +00:00
drh
bb5f18d2ca Additional coverage testing. (CVS 3823)
FossilOrigin-Name: 26b2e1aede3f776134b2d6e941d17a907843e650
2007-04-06 18:23:17 +00:00
drh
bdcc276e94 Do not use the second parameter to gettimeofday() on unix. Pass it a NULL. (CVS 3804)
FossilOrigin-Name: 96b678818c9a536b77f10b25256facf4bff1ff65
2007-04-02 18:06:57 +00:00
drh
61fc595fdd Fix some warnings about unused and uninitialized variables. (CVS 3788)
FossilOrigin-Name: 18aec1ddfb08b74f0ef9cf1215eac7af71449db3
2007-04-01 23:49:51 +00:00
drh
2c547df6cf Make unix builds threadsafe by default. (CVS 3787)
FossilOrigin-Name: ddfc3b2df0b37be66fc55bb216cdcb6ba67aa7fd
2007-04-01 18:46:19 +00:00
drh
a16313e505 Move the sqlite3_temp_directory global variable out of the OS porting layer
and into main.c so that it is more accessible to non-standard OS porting
layers. (CVS 3759)

FossilOrigin-Name: 23653f7aab6609f69948a7366bef9ebd0fd4d0b1
2007-03-30 11:29:32 +00:00
drh
e2396a1090 Assume any return code from fcntl() other than -1 is success. Formerly we
only assumed that 0 was success.  Ticket #2173. (CVS 3754)

FossilOrigin-Name: 8d0073c0e8408558dae39f789ac3fa2622b52365
2007-03-29 20:19:58 +00:00
drh
3ceeb75680 Change the name of PAGER_SECTOR_SIZE to SQLITE_DEFAULT_SECTOR_SIZE. Make
the new OS-layer interface routine for finding sector size optional. (CVS 3750)

FossilOrigin-Name: 0fb9af1d6e20bf25511c6d2097937cc11137776e
2007-03-29 18:19:52 +00:00
danielk1977
979f38e5ee 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)
FossilOrigin-Name: b24a6e7b024c8b9a0b6fd15bd8f247e458781ca2
2007-03-27 16:19:51 +00:00
drh
4f0c587819 Modify sources to that they can be combined into a single sqlite3.c source
file.  Eliminate all type-pruned pointer warnings. (CVS 3722)

FossilOrigin-Name: 0b832e218ec12b0eb559e407d80aba6709e2ea85
2007-03-26 22:05:01 +00:00
danielk1977
a3d4c887e0 Add a comment to the OsSectorSize() function. (CVS 3710)
FossilOrigin-Name: 0fd9983a98d8d61654f252f1708a4d7232a96b53
2007-03-23 10:08:38 +00:00
drh
8350a2187a In os_unix.c, make a distinction between pread() and pread64(). Add a new
compile-time macro USE_PREAD64 to select the latter. (CVS 3709)

FossilOrigin-Name: 177cd92910d01c97eb3133a59fad417edbb1aa92
2007-03-22 15:22:06 +00:00
danielk1977
b472117c11 Add new OS file method to return the sector-size of the underlying storage: sqlite3OsSectorSize() (CVS 3700)
FossilOrigin-Name: 5752d84d374205e011d49b0221d6237967fe0743
2007-03-19 05:54:48 +00:00
drh
3f56e6ebac Enhanced temp-file security under unix. There are no known attacks against
prior versions - this check-in is just an added precaution. (CVS 3687)

FossilOrigin-Name: 5af61402f65bddc4040a20470f267c9404cba631
2007-03-15 01:16:47 +00:00
drh
15d00c4e7b Improvements to OS layer tracing on the unix backend. (CVS 3664)
FossilOrigin-Name: 3ad96dbe09b99bd5f623de0de3072a25e9e2bc17
2007-02-27 02:01:14 +00:00
drh
8ebf6707cf Check the return value of lseek() in os_unix.c to make sure it really worked. (CVS 3628)
FossilOrigin-Name: e4408dd1fd32e6c5057cce0fdfa70eb2d9bd2531
2007-02-06 11:11:08 +00:00
aswift
ae0943b445 Fixed incorrect typecast for flock structure ptr in fcntl() call in sqlite3TestLockingStyle()
Restored previous fullfsync behavior, try fsync() if fcntl(fd, F_FULLFSYNC, 0) returns an error. (CVS 3621)

FossilOrigin-Name: f044c5f49f116ede8ab2d5ab43caa5ca9dd54ffe
2007-01-31 23:37:07 +00:00
drh
bafda0962e Additional changes in the pager and os interface layers to fix problems that
might be contributing to recently observed database corruption. (CVS 3549)

FossilOrigin-Name: a593d5743eab12c0f93a7bc436f0d69dfab0c387
2007-01-03 23:36:22 +00:00
drh
761df87ea5 Move the shared-library loading routines into the OS portability layer,
thus enabling the os_win.c code to handle the character encoding
confusion of win95/nt/ce.  Ticket #2023. (CVS 3541)

FossilOrigin-Name: a1bcc6de578992b28924c1cf974ea58251454e2d
2006-12-21 01:29:22 +00:00
aswift
448aa6f71a The uninitialized file descriptor from the unixFile structure is passed to sqlite3DetectLockingStyle in allocateUnixFile rather than the file descriptor passed in. This was causing the locking detection on NFS file systems to behave somewhat randomly and the result was locks were not respected and data loss could occur. (CVS 3508)
FossilOrigin-Name: b9dd16ef3df0785d8d0eea9a6f2ad580a7289834
2006-11-11 01:31:58 +00:00
drh
551b77365e Use the difference between the SQLITE_IOERR_SHORT_READ and SQLITE_IOERR_READ
returns from sqlite3OsRead() to make decisions about what to do with the
error. (CVS 3503)

FossilOrigin-Name: 6324ea811eec1200cee89e6f377368eaf2fcda77
2006-11-06 21:20:25 +00:00
aswift
108bc320f9 Bug fix: named local variable lockStyle as lockingStyle in SQLITE_ENABLE_LOCKING_STYLE block in allocateUnixFile (CVS 3473)
FossilOrigin-Name: aa0b96c3dfa1d8008cd944281c227604b2ee16d1
2006-10-11 17:19:46 +00:00
drh
bfe6631e7a Add the OS-X locking style patches to os_unix.c. Disabled by default. (CVS 3459)
FossilOrigin-Name: f4103dea5e1a87adccccca715946e174d1cc7450
2006-10-03 17:40:40 +00:00
drh
4ac285a1c2 Add support for extended result codes - additional result information
carried in the higher bits of the integer return codes.  This must be
enabled using the sqlite3_extended_result_code() API.  Only a few extra
result codes are currently defined. (CVS 3422)

FossilOrigin-Name: ba579ddc4361fc6e8ea66f9385770d70dfe94751
2006-09-15 07:28:50 +00:00
drh
5968593b51 Enhanced I/O error simulation. (CVS 3418)
FossilOrigin-Name: 86931854fc5a63571719639d9a23b1d6614a6153
2006-09-14 13:47:11 +00:00
drh
cdc35e9343 Remove a superfluous call to access() in the unix driver. Error spotted
by Coverity. (CVS 3175)

FossilOrigin-Name: 4f195aa1ebef5129e6f912e78b3d5f97b393a06c
2006-04-19 01:24:53 +00:00
drh
b912b2889c Use the pread()/pwrite() interface on Posix if compiled with -DUSE_PREAD=1.
Note that on Linux this is slower and does not work for large files. (CVS 3147)

FossilOrigin-Name: 5a24f61981df4d8b696f03372eba2d37228906d9
2006-03-23 22:42:20 +00:00
danielk1977
750b03e543 Changes so that test_async.c works with memory management turned on. (CVS 3093)
FossilOrigin-Name: f4150c29df2774b4422d4296d913cdbcee62c859
2006-02-14 10:48:39 +00:00
drh
4eb9a9792a Disable the /./ and /../ collapser logic in sqlite3OsFullPathname under Unix. (CVS 3092)
FossilOrigin-Name: 111a426b3e2fae77c9e6c3cd903fd80652b23720
2006-02-13 18:42:21 +00:00
drh
89ea93121d Add in-process file locking to test_async.c. The unix implementation of
sqlite3OsFullPathname() now attempts to remove /./ and /../ elements from
the path. (CVS 3090)

FossilOrigin-Name: 42379c623073eb541d053c2dff9f49087fb290f8
2006-02-13 17:03:47 +00:00
drh
e9565a6d94 Fix typo in os_unix.c. (CVS 3082)
FossilOrigin-Name: c0e987bcfa899c073d54fbd5a3606c704b8bc3d9
2006-02-11 02:03:52 +00:00
drh
ac530b1ab4 Add support and documentation for the fullfsync pragma. Also include
some other unrelated documentation updates. (CVS 3080)

FossilOrigin-Name: f2069d0bf3161591535e68b7389792e9cb7fe043
2006-02-11 01:25:50 +00:00
drh
6a3d670205 More comments on the unix locking code. Ticket #1672. (CVS 3075)
FossilOrigin-Name: 4b6f5688843ebe39f6bd3e863666a44d486fbe0f
2006-02-10 13:11:32 +00:00
drh
5c11123df8 Fix deadlock problem in the unix mutex. Ticket #1672. (CVS 3071)
FossilOrigin-Name: a6c30be214bb575f9ecfa299b7a597d21e3d3aca
2006-02-10 04:33:12 +00:00
drh
86631a5ad1 Ignore errors when when calling fsync() on a directory. Ticket #1657. (CVS 3068)
FossilOrigin-Name: d54d3b82c468b7e6dd39aac6aac56b26b3918c37
2006-02-09 23:05:51 +00:00
drh
5062d3a048 Add the SQLITE_THREADS_OVERRIDE_LOCKS compile-time option that disables
the run-time test to see if threads can override each others locks on unix. (CVS 3050)

FossilOrigin-Name: e83a19e8cb6d721b02502925b362f2e86b2de742
2006-01-31 23:03:35 +00:00
danielk1977
4d5238f0c0 Fix a couple of (harmless) intel compiler warnings. (CVS 3034)
FossilOrigin-Name: 2e23231f0c10b2bba9e08ea47859e2c0ffa84c76
2006-01-27 06:32:00 +00:00
drh
2f1a4d106d Fix uninitialized variable in os_unix.c. (CVS 3006)
FossilOrigin-Name: 892e644d20b9d132cf29242a9bca0116ebe6968f
2006-01-23 16:24:54 +00:00
drh
02afc86171 More compiler warnings fixed - or in some cases comments are added to explain
that the compiler is wrong. (CVS 2984)

FossilOrigin-Name: 507653a98cbd096f836a977408e373640c7cdb8f
2006-01-20 18:10:57 +00:00
danielk1977
76e8d1a292 Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974)
FossilOrigin-Name: c7b9d50d0a975912776aaa2b870308652f77e1e6
2006-01-18 18:22:43 +00:00
drh
757b04ed36 Modify the sqlite3OsInMutex os-layer interface to take a single parameter
to distinguish between mutexes held by the current thread and mutexes held
by any thread.  Part of the fix for ticket #1630. (CVS 2973)

FossilOrigin-Name: e1ad9df1cf46287f2a7789275e98d28e05880e17
2006-01-18 17:25:45 +00:00
danielk1977
9e12800dec Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972)
FossilOrigin-Name: ac090f2ab3b5a792c2fdf897e10060f263e0d408
2006-01-18 16:51:35 +00:00
danielk1977
54f0198e47 Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970)
FossilOrigin-Name: e0b022e5b2bfd272b4e25cd7a7b472206a118bbe
2006-01-18 15:25:17 +00:00