1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00
Commit Graph

399 Commits

Author SHA1 Message Date
drh
577d674f1a It is OK for a unix file descriptor to be zero. It just can't be negative.
Adjust an assert accordingly.  Ticket #3781. (CVS 6457)

FossilOrigin-Name: 47aa7eb0e047e30bbf09cb08c1e48c61f8d9861c
2009-04-07 00:35:20 +00:00
danielk1977
64a54c52fe Another change related to (6401) and (6402): When an attempt to unlock a file fails in os_unix.c, close all files held open waiting for the unlock event anyway.
This prevents a file-descriptor leak when testing IO errors. (CVS 6406)

FossilOrigin-Name: 50fbcdea045f7d4266d9afa721616c720564aa93
2009-03-30 07:39:35 +00:00
drh
f48f9ca65c Previous commit ((6401)) did not quite fix the problem. This should work
better. (CVS 6402)

FossilOrigin-Name: 2e7d3cc9f04de1fe7ef95cd5736dbc409c209cef
2009-03-28 23:47:10 +00:00
drh
cd731cf540 In the unix-backend, when simulating an I/O error on an unlock operation,
still mark the connection as unlocked to avoid a future assert(). (CVS 6401)

FossilOrigin-Name: fb35cff855e17771caee2a992e7b2b4105b94862
2009-03-28 23:23:02 +00:00
drh
892404323f Use fdatasync() only on linux, unless -Dfdatasync=fdatasync is set at
compilation time. (CVS 6383)

FossilOrigin-Name: cbf2ca4cc41f1f710635b863db6e98074bd5e8bc
2009-03-25 01:06:01 +00:00
drh
4a7384a25f Rig the unix backend to use fdatasync() by default, without having to set the
HAVE_FDATASYNC macro.  Systems that do not support fdatasync() can be compiled
using -Dfdatasync=fsync. (CVS 6368)

FossilOrigin-Name: a331562727be465874a66c2c1d15ee070f96f7e0
2009-03-21 14:56:52 +00:00
drh
0b647ffd47 On unix, always use fdatasync() instead of fsync() when available, even if
the file size changes, since (we are told) fdatasync() will automatically
flush the inode when the file size changes. (CVS 6367)

FossilOrigin-Name: 0d6b11bcf67f86e5554806869d32338e5831833e
2009-03-21 14:41:04 +00:00
drh
d43fe20bc9 Suppress some compiler warnings (where possible). Ticket #3696. (CVS 6331)
FossilOrigin-Name: a2373e5409e4e59903f315a4446db8cb6ba000cc
2009-03-01 22:29:20 +00:00
drh
08c6d4468c Add assert() statements to os_unix.c which fire if there is a read or
write for the locking region of a database file. (CVS 6270)

FossilOrigin-Name: 93e792ffa88ba2e8422d041f36b70d9b2e220da2
2009-02-09 17:34:07 +00:00
danielk1977
09480a9dc2 Ignore the return structure of and F_GETLK fcntl() call on djgpp. Fix for #3642. (CVS 6268)
FossilOrigin-Name: 8227af3463ded1c52d0a16c63b8dbc516eab57f0
2009-02-09 05:32:32 +00:00
drh
eb0d74ff39 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)

FossilOrigin-Name: b054b569172c53f4e185e4a64f41d08784aa0f8b
2009-02-03 15:27:02 +00:00
drh
a6d90f0ddd Remove a harmless UMR that occurs inside some debugging code. (CVS 6190)
FossilOrigin-Name: 191c399fc6354b35477ec21f685377e2af26f49b
2009-01-16 23:47:42 +00:00
drh
c7288ee0b8 Avoid using ENOTSUP on systems that do not define that symbol.
Ticket #3512. (CVS 6182)

FossilOrigin-Name: fcb6c677124102558f7a7a22bc3569b664424a4c
2009-01-15 04:30:02 +00:00
drh
8f941bc7a1 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)

FossilOrigin-Name: b676ccfd9019e65b52251332d94de1b3018ec823
2009-01-14 23:03:40 +00:00
drh
d2cb50b74c Coverage improvements in pragma.c. Change the __DARWIN__ macro to __APPLE__,
which is available by default on Leopard. (CVS 6153)

FossilOrigin-Name: 64c56226b91e57883c8059f65330318e53376b8a
2009-01-09 21:41:17 +00:00
drh
617634eca2 Allow database files to be created in the root directory on unix.
Ticket #3570. (CVS 6141)

FossilOrigin-Name: 81014334ad57e380e21c47ad6eebe9f16b4ad24c
2009-01-08 14:36:20 +00:00
danielk1977
852e232922 Fix a variable type to prevent a warning in the proxy-locking code. (CVS 6051)
FossilOrigin-Name: d9595b961800a13c141bebdb8c0a67377f30efad
2008-12-22 03:36:59 +00:00
drh
103fe74315 Fix the TCL test harness so that it compiles and runs on OSX with
SQLITE_ENABLE_LOCKING_STYLE. (CVS 6017)

FossilOrigin-Name: 561d5de16ec07546a3bb691f308fb2495a0d0a43
2008-12-11 02:56:07 +00:00
drh
ea6788322e Never use strlen(). Use our own internal sqlite3Strlen30() which is
guaranteed to never overflow an integer.  Additional explicit casts to
avoid nuisance warning messages. (CVS 6007)

FossilOrigin-Name: c872d554930ecf221ac2be5f886d5d67bb35288c
2008-12-10 19:26:22 +00:00
drh
1875f7a3db The amalgamation now compiles cleanly on GCC with options
-pedantic-errors -Wno-long-long. (CVS 5991)

FossilOrigin-Name: 73c7302c5f76a2f61ecd75f8bda69bb500d3119c
2008-12-08 18:19:17 +00:00
drh
947bd8091b Make sure dot-lock is fully enabled when SQLITE_ENABLE_LOCKING_STYLE is
disabled.  Fix compiler warnings when SQLITE_ENABLE_LOCKING_STYLE is
disabled. (CVS 5976)

FossilOrigin-Name: 4697249fcc6041ba7d2fb89589c855a8bec71eb2
2008-12-04 12:34:15 +00:00
drh
c66d5b64de Fix a missing forward declaration that is needed when
SQLITE_PREFER_PROXY_LOCKING is defined. (CVS 5972)

FossilOrigin-Name: 24235300b3f64f0396e1016afbe31aec9ea69b62
2008-12-03 22:48:32 +00:00
drh
715ff30e27 Reorganize the proxy-locking method in os_unix.c. Additional cleanup. (CVS 5971)
FossilOrigin-Name: 31f6090e22b54d657afc8c23171d000d47850205
2008-12-03 22:32:44 +00:00
aswift
f0551ee5e4 Make os_unix compile with SQLITE_ENABLE_PROXY_LOCKING (CVS 5970)
FossilOrigin-Name: 3efedac6aa4f544d40c2f782109d4e1795e449a0
2008-12-03 21:26:19 +00:00
drh
6b9d6ddc21 Continue with the cleanup of os_unix.c. (CVS 5969)
FossilOrigin-Name: 215d36ea89078036fb66b5154f054613b735dab3
2008-12-03 19:34:47 +00:00
drh
9b35ea62c7 Continuing to refactor os_unix.c. This is an incremental check-in. (CVS 5967)
FossilOrigin-Name: c13df0311ef4f6a510f42105293f7c53c323fda8
2008-11-29 02:20:26 +00:00
drh
7708e9720b Continuing work on the os_unix.c refactoring. Removed all of the
LOCKING_STYLE_* constants and instead pass around pointers to the
underlying sqlite3_io_method objects. (CVS 5966)

FossilOrigin-Name: 1017d2fb1935a278ef442030bf7bdf5e112c566a
2008-11-29 00:56:52 +00:00
drh
734c9864cb First step in refactoring os_unix.c. This is work in progress. The code
compiles and runs on Linux and MacOSX (as long as SQLITE_ENABLE_LOCKING_STYLE
is turned off), but there are a few test failures. (CVS 5965)

FossilOrigin-Name: 7825cd63e5cb390a9c2c05957ebc9b189612f04a
2008-11-28 15:37:20 +00:00
danielk1977
c015e39ff9 Move the definition of function transferOwnership() in os_unix.c to below the static functions it calls. (CVS 5954)
FossilOrigin-Name: 622cb59791ab9f61c2e5131cb6ece5e75cdc9fae
2008-11-25 12:07:40 +00:00
drh
107886abe8 Factor out and simplify the canonical pathname logic in the VxWorks OS
interface. (CVS 5943)

FossilOrigin-Name: adb0aafaa6b1ea06541f653a2559f099fb1b2795
2008-11-21 22:21:50 +00:00
drh
6c7d5c5b33 Work toward cleaning up and refactoring the os_unix.c VFS module.
Change IS_VXWORKS to OS_VXWORKS.  The VxWorks implementation can now
be built and tested on Linux using -DOS_VXWORKS=1 -Dsem_t=int -DPATH_MAX=512 -DNO_GETTOD=1. (CVS 5942)

FossilOrigin-Name: 30a0132a83ce95d45f106fce1439e7509fdc64d1
2008-11-21 20:32:33 +00:00
drh
41022645ee Fixes to the proxy locking so that os_unix.c compiles on linux with proxy
locking omitted. (CVS 5935)

FossilOrigin-Name: 6f910b7036817f4bb4de807bf48938d20ab033cc
2008-11-21 00:24:42 +00:00
aswift
aebf413d9a Added support for proxy file locking style
Added pragma support for controlling proxy file locking
Added file control access to last errno and proxy locking
Added support for TMPDIR environment variable
Extended unit tests to cover new proxy locking pragmas and file control features (CVS 5934)

FossilOrigin-Name: b9bc36d3d5e35821ef69c0881a84c0afed253c9e
2008-11-21 00:10:35 +00:00
danielk1977
f3d3c27a0c Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927)
FossilOrigin-Name: d1abe8a1c9a990b02c71d6c249436381c9fde443
2008-11-19 16:52:44 +00:00
danielk1977
a03396aafb Fix a few more compiler warnings. (CVS 5926)
FossilOrigin-Name: 70b2f6839ca97dfc08f72875283f5c75c8fcf0cc
2008-11-19 14:35:46 +00:00
danielk1977
c70dfc477f In os_unix.c, use "IS_VXWORKS" instead of "defined(__RTP__) || defined(_WRS_KERNEL)". Purely because it's easier on the eyes. (CVS 5925)
FossilOrigin-Name: 92c91a6cd7bcbe79206bdf7708fe9049a7b7fdd6
2008-11-19 13:52:30 +00:00
danielk1977
397d65f641 Eliminate some of the "unused parameter" warnings in os_unix.c. (CVS 5923)
FossilOrigin-Name: 2f5aaad90b7e3bbb31866c43db3e24a1be26f03b
2008-11-19 11:35:39 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
danielk1977
00e136135e Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914)
FossilOrigin-Name: 8009220c36635dd9b6efea7dc13281ca9625c40a
2008-11-17 19:18:54 +00:00
chw
971854898a Added support for vxworks >= 6.4; RTP mode tested, kernel mode untested. (CVS 5910)
FossilOrigin-Name: f45a1493636a5ee474dd6c0b5d286be2249b05aa
2008-11-17 08:05:31 +00:00
danielk1977
41a6a61d94 Change the way threadsOverrideEachOthersLocks() works to avoid trying to write-lock a (potentially) read-only files. Also, assume that on non-linux systems threads do override each others locks. Ticket #3472. (CVS 5883)
FossilOrigin-Name: 8ecae0943b06102fe22133db0dcaf58ecbd39545
2008-11-11 18:34:35 +00:00
drh
4c17c3fb11 Add documentation to make it clear that short reads from xRead in the VFS
must be zero-filled. (CVS 5867)

FossilOrigin-Name: fb311d6f4098a08f05b3fac9a2a7e2a53c38bb5f
2008-11-07 00:06:18 +00:00
danielk1977
d39fa70c79 Fix an error in (5826). (CVS 5828)
FossilOrigin-Name: 8065a92f705dfa04863ba4a828f5bd2803901be8
2008-10-16 13:27:40 +00:00
danielk1977
d138dd8687 Do not open and sync the directory in unixDelete() if the SQLITE_DISABLE_DIRSYNC option is defined. (CVS 5826)
FossilOrigin-Name: 8ef141644edc5182785c6a554222c2ffbe92fef5
2008-10-15 16:02:48 +00:00
drh
72cbd078c3 Fix the xRandomness() method on the unix VFS to return the number of bytes
of randomness obtained. (CVS 5821)

FossilOrigin-Name: b7687e2f2dfa5b0a01ba87ae0bf13684cda50499
2008-10-14 17:58:38 +00:00
danielk1977
0afae93fa4 Fix some function declarations (change "int foo()" to "int foo(void)"). Ticket #3399. (CVS 5740)
FossilOrigin-Name: 0fb98c35353d8c0a8d669bbe45fe84e3a5060621
2008-09-24 09:12:46 +00:00
drh
40bbb0a3e8 Enable the LOCKING_STYLE extensions by default on a Mac. Leave them
disabled on all other posix platforms. (CVS 5737)

FossilOrigin-Name: bae1d5b16948705b7dec7b139e3586b4b510cbfa
2008-09-23 10:23:26 +00:00
danielk1977
cd3b3c8902 Add instrumentation to os_unix.c to test that a return value of SQLITE_FULL from an xSync() callback is handled correctly. (CVS 5730)
FossilOrigin-Name: 7bd2da93c6cce52edbbe53fe26a82ad159dd6b6b
2008-09-22 11:46:32 +00:00
danielk1977
5ad6a88f59 Check if error code ENOTSUP is supported before using it. Ticket #3375. (CVS 5697)
FossilOrigin-Name: c32cb106c5d68e98f51f1eaf9ae0e2a3c36d00d6
2008-09-15 04:20:31 +00:00
danielk1977
0a732f59b0 Add support for the SQLITE_THREADSAFE=2 and SQLITE_DEFAULT_MEMSTATUS compilation options. (CVS 5676)
FossilOrigin-Name: 85c2a58901338c1c4652c2cbee51e5f48d289191
2008-09-04 17:17:38 +00:00