drh
9978c97ec5
Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging
...
output for CORRUPT, and CANTOPEN errors.
FossilOrigin-Name: 7c4cca6d1a23a6d1591b62f58c3716a944969947
2010-02-23 17:36:32 +00:00
dan
2b0ef4725f
Change a C++ style comment in os_unix.c to use normal C style commenting.
...
FossilOrigin-Name: 7a1933097f2a95bd495c1621fca99e8952a1b25a
2010-02-16 12:18:47 +00:00
drh
309e6555a5
Make sure file descriptors are closed before unlinking in VxWorks.
...
FossilOrigin-Name: f64b81f13de4875343c752e7183bf61032dc9594
2010-02-05 18:00:26 +00:00
drh
7ed97b9de9
Move the Apple OS-X VFS changes into the trunk.
...
FossilOrigin-Name: 571594bfbe89d9949bdb8b07712e96d0a3467c6e
2010-01-20 13:07:21 +00:00
drh
9061ad10bc
Fix a case in os_unix.c where two structures that might have uninitialized
...
padding bytes are compared using memcmp().
FossilOrigin-Name: e02f25560216c7c96c5e1c7e71a8531650b3a96f
2010-01-05 00:14:49 +00:00
drh
476bda7de4
In the OSTRACE debugging macros in os_unix.c, identify the VFS currently
...
in use.
FossilOrigin-Name: 082b8da005128f47f63e95b6b702bf4517221b2a
2009-12-04 14:25:18 +00:00
drh
3313b14f46
Fix the backup API so that a backup from an empty database to a non-empty
...
database works. Ticket [0bf974bdf9]. The only changes are in assert()
statements.
FossilOrigin-Name: ddb71cd9ed395804a13dc136bb7688a7627c798f
2009-11-06 04:13:18 +00:00
drh
1d452e1de0
Fix compiler warnings. Better comments on some variables associated with
...
LIKE/GLOB processing in the query planner.
FossilOrigin-Name: cfa2db0ff7a94e7f66c35f672ee41cadd45a6dd7
2009-11-01 19:26:59 +00:00
drh
9b5db1dbd6
Use memcpy() rather than structure assignment so that memcmp() can later
...
be used for comparison. Ticket [8550ecca70]
FossilOrigin-Name: 56f609da4bfcc794e1f8573652dcde8515e87098
2009-10-07 23:42:25 +00:00
drh
08da4bb16e
Make sure the threadsOverrideEachOthersLocks variable is only referenced by
...
linux systems on a threadsafe compile.
FossilOrigin-Name: e9d064bd9318c2bc9248df948f71fd30f24525eb
2009-09-10 19:20:03 +00:00
dan
11b3879b18
Trying to open a transaction in one thread and close it in another is a misuse with LinuxThreads. Doing so may cause memory and file-descriptors to be leaked. Update an assert() and some test cases to account for this.
...
FossilOrigin-Name: ef99eb57c536d82e7c19fd3d990c17793cc64a3f
2009-09-09 18:46:52 +00:00
drh
3f022189dd
Suppress some harmless compiler warnings.
...
FossilOrigin-Name: f0c72a53c5d57d7487b48a06a40816153f47aaac
2009-09-09 16:10:50 +00:00
drh
0c2694b744
Add the "unix-wfl" VFS that does whole-file locking in order to help NFS
...
do better cache coherency.
FossilOrigin-Name: 2aeab80e5b84f5e94c5c99b4adeca805601c844b
2009-09-03 16:23:44 +00:00
drh
2238dcccc7
Patch to the named semaphore locking mechanism used by VxWorks.
...
FossilOrigin-Name: 609c5341bea16e4e8bcd15388b209c753ca9e0bb
2009-08-27 17:56:20 +00:00
dan
15edd587fd
Fix a bad interaction between "proxy-locking" and [ http://www.sqlite.org/src/vdiff/aa6acfa8caa2ef59b4c16dfe42c4b5644da96905 |aa6acfa8ca].
...
FossilOrigin-Name: 2a5c9e1dbf7f5f4b2081c964450a9305a4516f5b
2009-08-25 05:57:47 +00:00
dan
6aa657f76b
Fix some errors in [ http://www.sqlite.org/src/vdiff/aa6acfa8caa2ef59b4c16dfe42c4b5644da96905 |aa6acfa8ca].
...
FossilOrigin-Name: 82d1934a428a34c292a612fb67bbcea262990e0f
2009-08-24 18:57:58 +00:00
dan
e946c3966a
Fix a problem in os_unix.c where a malloc failure could lead to a leaked file descriptor.
...
FossilOrigin-Name: aa6acfa8caa2ef59b4c16dfe42c4b5644da96905
2009-08-22 11:39:46 +00:00
dan
08da86a68e
When a database file is opened, try to find an unused file descriptor to reuse. This change affects unix (and other systems that use os_unix.c) only. Fix for cvstrac ticket [ http://www.sqlite.org/cvstrac/tktview?tn=4018 |#4018].
...
FossilOrigin-Name: 9b4d9ab62d687289837b13b07885e72cc3abe8a9
2009-08-21 17:18:03 +00:00
dan
9359c7b7ab
Add assert() statements to os_unix.c to check that the mutex is held when it should be.
...
FossilOrigin-Name: 11a669b6537d6bac67764fd91a319234345ac504
2009-08-21 08:29:10 +00:00
dan
3d6e060b48
Move error simulation code from the sqlite3_os_init() functions into a wrapper.
...
FossilOrigin-Name: 67ad21abf88abb7a3e2eacddcaf1ab5d54149807
2009-08-17 15:52:25 +00:00
dan
e1ab219309
Add tests to check that sqlite recovers from an error in sqlite3_initialize() correctly.
...
FossilOrigin-Name: 904a371c6c9d3f20332b37767b06161fa0a78113
2009-08-17 15:16:19 +00:00
drh
06150f95e8
Test the result of pthread_create() and do not call pthread_join() if the
...
thread creation failed. Ticket #3933 . (CVS 6839)
FossilOrigin-Name: 304c5110ad958b2cc1ddff30e68c8791109128b5
2009-07-03 12:57:58 +00:00
drh
0d588bbc38
Suppress some -Wextra compiler warnings from GCC. (CVS 6774)
...
FossilOrigin-Name: 59ec937ce226bbf6c48c5e0466d3bab48873c9ea
2009-06-17 13:09:38 +00:00
drh
0b3bf92417
Changes to allow a clean compile with no floating-point instructions
...
generated when SQLITE_OMIT_FLOATING_POINT is used. (CVS 6763)
FossilOrigin-Name: 1591b8322babebc45df3b799cc5e457288f28594
2009-06-15 20:45:34 +00:00
danielk1977
50c55a90d5
Fix a warning in the osx-specific part of os_unix.c. Ticket #3847 . (CVS 6620)
...
FossilOrigin-Name: 254ca3273cfbd833de82296b4859e1ec5535e8be
2009-05-08 11:34:37 +00:00
chw
78a1318b2e
Compile fixes and improvements for vxwork: fixed deadlock in semClose,
...
detect if fcntl is usable, fall back to named semaphores if not. (CVS 6460)
FossilOrigin-Name: efd0682b7e78acc4242cf257fc246350fc29b5c8
2009-04-07 05:35:03 +00:00
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
danielk1977
73245a7818
If SQLITE_ENABLE_LOCKING_STYLE is defined, have the os_unix.c module offer the following extra VFS implementations for explicitly selecting a locking-style: "unix-none", "unix-afp", "unix-posix", "unix-flock" and "unix-dotfile". (CVS 5674)
...
FossilOrigin-Name: 6e8fb64639cc7451005d9f1dd2d0ef62576abbdd
2008-09-04 06:22:25 +00:00
aswift
f54b1b341b
quieting compiler warning about pointer/int conversion size mismatch (CVS 5602)
...
FossilOrigin-Name: f8a70501c234545b3030144ac6bcbfaa0d2b0069
2008-08-22 18:41:37 +00:00
drh
f489c45a63
Fix os_unix.c so that it will compile on Linux again. (CVS 5588)
...
FossilOrigin-Name: 2416708208357304904e38b2d36081a1adf5e44b
2008-08-22 00:47:53 +00:00
aswift
5b1a256663
Added SQLITE_IOERR_LOCK extended error code and support for detecting and returning errors in the os_unix lock, unlock and check reserved lock variants, also added support for populating and returning system error codes so that they can be accessed via xGetLastError, unfortunately xGetLastError can't seem to access the unixFile structure where the lastErrno is recorded. (CVS 5586)
...
FossilOrigin-Name: c1af14e2b6bf5af0aff3df3adbe8cb9aabe1c4a3
2008-08-22 00:22:35 +00:00
drh
5462624dc4
When opening a zero-size database on unix, write one byte into the file before
...
interrogating the inode number. This works around issues with msdos
filesystems mounted on OS-X. Ticket #3260 . (CVS 5504)
FossilOrigin-Name: a480a8845fb3b49967de0790b30e6250c824b9be
2008-07-30 17:28:04 +00:00
drh
da0e768be2
In the unix OS implementation, replace inode hash tables with linked lists. (CVS 5503)
...
FossilOrigin-Name: db4022db64dc5864e6f1d0a20672183879ad43aa
2008-07-30 15:27:54 +00:00
drh
93a960a0a8
Remove unused code. Test coverage enhancements. Modify the algorithm used
...
to select column names for VIEWs of joins so that the constructed column
names omits the underlying table names. (CVS 5386)
FossilOrigin-Name: 636cd723296a8b1709011fdd99b236ffddf3f1b0
2008-07-10 00:32:42 +00:00
danielk1977
6cb427f5c4
Fix a malloc() failure related problem in os_unix.c. (CVS 5328)
...
FossilOrigin-Name: ba8819a6f3dbc45d88346789de42971aacc0d246
2008-06-30 10:16:04 +00:00
danielk1977
e339d65a89
Rearrange some ENABLE_LOCKING_STYLE related code in os_unix.c. (CVS 5324)
...
FossilOrigin-Name: f70d552bcd0df884eea2e2272bae558d35fc8845
2008-06-28 11:23:00 +00:00
danielk1977
29bafeabcd
Change the OS_XXX pre-processor symbols to SQLITE_OS_XXX. Symbols "OS_UNIX", "OS_WIN", "OS_WINCE", "OS_OS2" and "OS_OTHER" are now "SQLITE_OS_UNIX", "SQLITE_OS_WIN", "SQLITE_OS_WINCE", "SQLITE_OS_OS2" and "SQLITE_OS_OTHER", respectively. (CVS 5311)
...
FossilOrigin-Name: cdd4cf4ce2ab363ddc3f27c5e44896e17269a161
2008-06-26 10:41:19 +00:00
danielk1977
c0fa4c5f32
Remove internal function sqlite3OsDefaultVfs(). The built-in VFS layers now register their VFS implementations by calling sqlite3_vfs_register() from within sqlite3_os_init(). (CVS 5307)
...
FossilOrigin-Name: 8fa33b79d7369ec5777fd9ad3349f0fa31b98fd6
2008-06-25 17:19:00 +00:00
danielk1977
59f8c08ecc
Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234)
...
FossilOrigin-Name: 5059644c4bc5f6679afd939e0bc26080f42a9918
2008-06-18 17:09:10 +00:00
drh
40257ffd0a
Progress toward implementation of sqlite3_config() and a rework of the
...
mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218)
FossilOrigin-Name: a03c5af115889f477e17187a198a7d2d40bc76bf
2008-06-13 18:24:27 +00:00
danielk1977
bcb97fe95e
Add the xGetLastError() member function to the sqlite3_vfs structure. It is neither called nor implemented at this point. (CVS 5192)
...
FossilOrigin-Name: b8f1da52c303de20d40aa20a7a031728d5d69af5
2008-06-06 15:49:29 +00:00
danielk1977
17b90b5316
Remove the xGetTempname() method from the vfs structure. Temp files are now opened by passing a NULL pointer as the filename to xOpen(). (CVS 5190)
...
FossilOrigin-Name: 5173b3e816c7eb711cd21a9068bbafb9ebb7cff1
2008-06-06 11:11:25 +00:00
danielk1977
861f74563d
Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188)
...
FossilOrigin-Name: 4226ac54beea1b58de8ab7b9d768d999f50438a6
2008-06-05 11:39:11 +00:00
shane
9bcbdad298
Consolidated inline assembly versions of "hwtime()" into hwtime.h. Provided MSVC version. Modified code for consistent use of hwtime(). Changed implementation to use sqlite_uint64 and sqlite_int64 instead of unsigned long long int and long long int for MSVC compiler support. (CVS 5178)
...
FossilOrigin-Name: 9883b406ce24eae93942ee5e6aab33fb6b05329f
2008-05-29 20:22:37 +00:00
danielk1977
822a51628f
Add more version tags to files that lack them. Ticket #3120 . (CVS 5137)
...
FossilOrigin-Name: 81a8c70ed7a86abf286706fdbc251f31c9c53382
2008-05-16 04:51:54 +00:00
drh
65594045d0
Better error messages when trying to open a large file using a version
...
of SQLite that omits large file support. Tickets #3096 and #3094 . (CVS 5085)
FossilOrigin-Name: bdd89cd231745e6bd498b2751d7ff2cf6169b3eb
2008-05-05 16:56:34 +00:00
danielk1977
f96d8aebf3
Fix test for buffer overrun in unixGettempname(). Fix for #3091 . (CVS 5069)
...
FossilOrigin-Name: fc0ca647bd1c7c953bb0f3eb7d3471572fd18c34
2008-04-30 08:56:10 +00:00
drh
2fa1868fb6
Add a new api sqlite3_randomness() for providing access to SQLite's
...
internal PRNG. Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882)
FossilOrigin-Name: 15110ea02768bfe977a57eccd6b941a36ebd6b32
2008-03-19 14:15:34 +00:00
drh
308aa32ffc
Another fix to the OsUnlock I/O error logic. (CVS 4839)
...
FossilOrigin-Name: 22bd537ee2af6779ecb38502513ae533f85f7c2e
2008-03-07 20:14:38 +00:00
drh
1aa5af1151
Correctly handle I/O errors that occur during OsUnlock(). Before this
...
fix, an I/O error during OsUnlock() could lead to database corruption.
That is not a serious problem, though, since errors during OsUnlock()
are not possible on most systems. (CVS 4838)
FossilOrigin-Name: b4c1258edb4a40501d13c9da674d0366d5a8c694
2008-03-07 19:51:14 +00:00
drh
339eb0b8af
Cleanup the locking-style code in os_unix.c. (CVS 4837)
...
FossilOrigin-Name: 40f55c09dbd31f861b9f9c7641cce92553d94e35
2008-03-07 15:34:11 +00:00
drh
218c508433
Updates to the locking-style code in os_unix.c. Not yet working. (CVS 4834)
...
FossilOrigin-Name: 6ebce3b798c60050fb3c583d805570bb06837108
2008-03-07 00:27:10 +00:00
drh
93aed5a177
Get all tests running without memory leaks. (CVS 4714)
...
FossilOrigin-Name: 5807921f5a6e2e08f2c9e79aa91d8c587d64de74
2008-01-16 17:46:38 +00:00
drh
85b623f2f9
Change all instances of "it's" in comments to either "its" or "it is",
...
as appropriate, in case the comments are ever again read by a pedantic
grammarian. Ticket #2840 . (CVS 4629)
FossilOrigin-Name: 4e91a267febda572e7239f0f1cc66b3102558c36
2007-12-13 21:54:09 +00:00
drh
3c7f2dc4ca
Use the specified buffer length, not the maximum buffer length in
...
unixFullPathname() and related functions. (CVS 4595)
FossilOrigin-Name: f015a38771d98996366d66787b9b066f9ef5e248
2007-12-06 13:26:20 +00:00
danielk1977
7c055b9b7c
Avoid leaking a file descriptor after a malloc failure on unix. (CVS 4518)
...
FossilOrigin-Name: c249d5da721b32f6fe409a5b55a5d49a58994fec
2007-10-30 17:28:51 +00:00
drh
9e0ebbfa41
Add comments to the code warning that _XOPEN_SOURCE might need to be
...
defined manually if using USE_PREAD or USE_PREAD64. (CVS 4509)
FossilOrigin-Name: d7ed7cd077fe5f9ffba2bca48b84b231ccfd85b0
2007-10-23 15:59:18 +00:00
drh
777b17af7e
Fixes for uninitialized variables. Tickets #2658 and #2659 . (CVS 4437)
...
FossilOrigin-Name: 27fe1288336665c4d47c5d7ddcbeacc451ec4a9d
2007-09-20 10:02:54 +00:00
rse
25c0d1a18a
The code is correct as it contains an assert(3) in the "default" switch
...
case, but GCC 4.3 is not able to detect this and instead complains
with "warning: 'amode' may be used uninitialized in this function".
Hence, although the assert(3) already protects the code here, get rid of
this compiler warning by doing a simple initialization of the "amode"
variable. (CVS 4436)
FossilOrigin-Name: 91831ff2922666b39d8f4ba448982c6763030633
2007-09-20 08:38:14 +00:00
danielk1977
adfb9b0501
Add a parameter to specify the size of the output buffer passed to xGetTempname() and xFullPathname(). This, and the previous commit, are changes to the public vfs API introduced in 3.5.0. (CVS 4433)
...
FossilOrigin-Name: 8b29f5fbfc723cdf67cf3410cd01f7c17ea39a4b
2007-09-17 07:02:56 +00:00
danielk1977
76ee37f9bb
Change the names of xGetTempName and sqlite3OsGetTempName to xGetTempname. To be consistent with xFullPathname and sqlite3OsFullPathname. (CVS 4432)
...
FossilOrigin-Name: ad3687b16e9420d8bbaa3a645aaf803813b36061
2007-09-17 06:06:39 +00:00
danielk1977
ed10afb4c0
Remove the unixFile.isOpen variable (no longer in use). (CVS 4401)
...
FossilOrigin-Name: 1786e9c881a67fbf8bd014d643590534c8c601dc
2007-09-05 13:56:32 +00:00
drh
70c01456e8
Unix OS interface returns SQLITE_CANTOPEN following a getcwd() failure. (CVS 4384)
...
FossilOrigin-Name: ed15db4610bc6202c624234e48d234e0005825e4
2007-09-03 17:42:17 +00:00
drh
33f4e02af6
Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some
...
test cases added but more are needed. Ticket #2616 . (CVS 4376)
FossilOrigin-Name: 020a2b10d408f51d4ef3211c5f701f5378fd4625
2007-09-03 15:19:34 +00:00
danielk1977
843e65f2fc
Remove the syncOk argument to pager_recycle. Now that sqlite3_memory_release uses a global lru list of page, it is no longer required. (CVS 4364)
...
FossilOrigin-Name: fb27692ab10b22851b265348bb6b3e1dececd60f
2007-09-01 16:16:15 +00:00
danielk1977
95c8a54c7d
Fix for registration of non-default vfs objects. (CVS 4360)
...
FossilOrigin-Name: 5f48fb95c26a713b3259ee49fd444108030376dc
2007-09-01 06:51:27 +00:00
drh
9e33c2c108
Remove the xLockState method for sqlite3_io_methods. Replace it with
...
a defined call to xFileControl(). This simplifies the interface and
also gives us coverage testing of sqlite3_file_control(). (CVS 4355)
FossilOrigin-Name: 306586c412b87c6d12bac796641517afa3f9eb6a
2007-08-31 18:34:59 +00:00
drh
cc6bb3eaeb
Initial implementation of the sqlite3_file_control() interface.
...
Compiles and passes all historical tests but the new method is itself
untested. (CVS 4353)
FossilOrigin-Name: d3ab3e3911f10b17d0859a34f4f007c790a0cd82
2007-08-31 16:11:35 +00:00
danielk1977
2f2d8c7331
Prevent sqlite from opening directories as databases under unix. Fix for test cae in misc7.test. (CVS 4342)
...
FossilOrigin-Name: e30546504c59c7d92d83a32d9b7e83edc175e247
2007-08-30 16:13:33 +00:00
danielk1977
c16d463085
Remove the SYNC_BARRIER flag. (CVS 4337)
...
FossilOrigin-Name: 5a22d8695b49cf7bc2eee382b66a98d29adb9e6e
2007-08-30 14:49:58 +00:00
drh
46c99e0f5d
Work around problem with forward declarations of constants in MSVC
...
in the amalgamation. Ticket #2574 . (CVS 4304)
FossilOrigin-Name: dc80b2e1f4e1d31479aad9f39e651e62f2601fb8
2007-08-27 23:26:59 +00:00
drh
50d3f9064b
Added the 34to35.html document describing the changes between 3.4.2 and
...
3.5.0. Minor interface cleanups. (CVS 4302)
FossilOrigin-Name: 0791f917bb18d7305b805b9cbcb308bdd7b3a1f5
2007-08-27 21:10:36 +00:00
drh
1cc8c448b5
Remove nRef and vfsMutex from the sqlite3_vfs structure. Omit the
...
sqlite3_vfs_release() interface. Less memory allocated for a pager
in the common case where the size of the pathname is less than MAX_PATH. (CVS 4287)
FossilOrigin-Name: b8451da378179d43f25d9a014480c0f13dd1dc37
2007-08-24 16:08:29 +00:00
drh
153c62c461
The win32 driver compiles but does not yet work well. Many bugs
...
fixed. (CVS 4282)
FossilOrigin-Name: 3a68fcddfa9184e4b310ce0a21312c54b9462ec8
2007-08-24 03:51:33 +00:00
drh
4a50aac564
Improvements to memory leak detection. The --backtrace=NNN option is now
...
recognized by tester.tcl. Memory leak summaries are automatically written
to the file ./memleak.txt and each leak is tagged with the test in which
it occurred. The quick.test script runs on Linux with no errors and
no leaks. (CVS 4273)
FossilOrigin-Name: 21f6b31097692171c6493e6ca6de6acbd62dc595
2007-08-23 02:47:53 +00:00
drh
f3a65f7e44
The malloc.test script now passes all tests with no errors. (CVS 4271)
...
FossilOrigin-Name: db818430e9ea4ef4a4af575784009d5acae785a3
2007-08-22 20:18:21 +00:00
drh
51fc347a2e
Remove the obsolete static mutexes. Use only the lastest static mutex code. (CVS 4259)
...
FossilOrigin-Name: 6225cd461cdd2132eeb480aa4deb8986b7f63c15
2007-08-21 13:51:23 +00:00
drh
29278e3dbb
Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255)
...
FossilOrigin-Name: fbbd5bda544ffec4e1b43407b12e546235dc7873
2007-08-21 10:44:15 +00:00
drh
d677b3d688
Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253)
...
FossilOrigin-Name: 1315bd8e125602275fb718780f9b2730bd37f6ab
2007-08-20 22:48:41 +00:00
danielk1977
2a6bdf6d5b
Call sqlite3OsSleep() with an argument in microseconds, not milliseconds. (CVS 4248)
...
FossilOrigin-Name: 917790413ced92266bf5c7cca6d130ed7ac6221b
2007-08-20 16:07:00 +00:00
danielk1977
967a4a1c96
Changes to crash-test io backend (test6.c) so that it works with the sqlite3_vfs interface. (CVS 4247)
...
FossilOrigin-Name: 40f66ada815fa1043d24c9cd6d898e1797e7044a
2007-08-20 14:23:44 +00:00
danielk1977
ad94b58a5e
Update the locking-style code in os_unix.c. The updates are as yet untested. (CVS 4244)
...
FossilOrigin-Name: 41f2175b1ed7eccf271b687ee5c3ea262a0cd096
2007-08-20 06:44:22 +00:00
danielk1977
f036aef061
Fix full_fsync() related functionality broken as part of the migration to sqlite3_vfs. (CVS 4243)
...
FossilOrigin-Name: cb24cda179c2b526c5ac48be75e372d2b9db808c
2007-08-20 05:36:51 +00:00
danielk1977
fee2d25a70
Further progress on migration to sqlite3_vfs. (CVS 4242)
...
FossilOrigin-Name: a258c4ec240f96bccfe493e98d0827ec7dd12e67
2007-08-18 10:59:19 +00:00
danielk1977
90949c2003
Remove some old OsFile and IoMethod related code. Add the sqlite3OsLockState function. (CVS 4241)
...
FossilOrigin-Name: 08a0f48028794abbeae1b4852652062b38d37d88
2007-08-17 16:50:38 +00:00
danielk1977
b4b47411ab
Begin migration to using sqlite3_vfs interface. (CVS 4240)
...
FossilOrigin-Name: af3e3c7acdc67013dd733effebe981620d922dd1
2007-08-17 15:53:36 +00:00
drh
dce8bdb8c0
Remove the thread specific data subsystem from the unix build. Remove
...
legacy cruft from sqliteInt.h. Use the new mutex subsystem in the PRNG. (CVS 4237)
FossilOrigin-Name: 3d60c14a32955b69e714a73372924d421899f83b
2007-08-16 13:01:44 +00:00
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
drh
a3fad6f5f3
Convert the unix driver to use a recusive mutex. Similar changes to the
...
windows driver are pending. (CVS 2968)
FossilOrigin-Name: 8830bbbac8e0c9243956aac42dc9f86a0bd1fa07
2006-01-18 14:06:37 +00:00
danielk1977
cbb8496c5e
Arrange for ThreadData to be automatically deallocated even if SQLITE_MEMDEBUG is defined. Fix for #1623 . (CVS 2965)
...
FossilOrigin-Name: 9e2e40845d30cc150abe23ee318a721b4fe9613c
2006-01-17 16:10:13 +00:00
drh
f1a221e695
Clean up comments in os_unix.c. (CVS 2950)
...
FossilOrigin-Name: 2170e803ad48cffa6dddf8b591e0c085a7e66c86
2006-01-15 17:27:17 +00:00
drh
3832230e25
Closing a file from the wrong thread is harmless on most systems.
...
(See ticket #1611 )
But on systems like RedHat9 with broken fcntl() locks, it leaks file
descriptors. That is better than the alternative of prematurely breaking
locks and causing database corruption. Nevertheless, it would be good
if we could figure out a way to report errors when closing a file from
the wrong thread. (CVS 2946)
FossilOrigin-Name: ad8f12cad1fcd9c54478abe20050f9a953035506
2006-01-15 02:43:16 +00:00
drh
64b1bea3ba
Add tests and fix bugs in the new cross-thread lock resolution code.
...
When an unlock fails, do not leak file descriptors (ticket #1611 ).
But we really ought to report SQLITE_MISUSE or some other error instead
of just returning SQLITE_OK. (CVS 2945)
FossilOrigin-Name: f68e05cb2be65fad43fac823b2a9c53b6d2e797d
2006-01-15 02:30:57 +00:00
drh
029b44bdd3
Documentation updates. Fix to date.c. But most importantly: database
...
connections are now allowed to change threads as long as they are not
holding a lock. (CVS 2944)
FossilOrigin-Name: 03c422ecb508dd84dfafc8b7a0b790a43f5dadda
2006-01-15 00:13:15 +00:00
drh
70ff98ab74
Improve performance by about 10% by avoiding excess calls to get
...
the thread-specific data. (CVS 2921)
FossilOrigin-Name: a8c74febec11eb689ca9f6b454f8c8bbadfc49d7
2006-01-12 01:25:18 +00:00
drh
b4bc7057e5
Testing of the automatic TSD deallocation logic. The sqlite3_thread_cleanup()
...
API is documented. This should close ticket #1601 . (CVS 2920)
FossilOrigin-Name: fb518b0ce4ddd4aaca5cccf61e651f173e735119
2006-01-11 23:40:33 +00:00
drh
6f7adc8a80
Automatically deallocate thread-specific data when it is no longer
...
being used. Ticket #1601 . Also implemented the suggestion of
ticket #1603 . Memory management is now off by default at compile-time.
The sqlite3_enable_memory_management() API has been removed. (CVS 2919)
FossilOrigin-Name: 5d9c6aa964305c3f36741ff0058da5b5f3ce0d24
2006-01-11 21:41:20 +00:00
drh
29c636bc12
Added database server example code (untested). Fixed serveral bugs including
...
the autovacuum compile problem described by ticket #1593 . (CVS 2897)
FossilOrigin-Name: ec332d8822d1ac9673581a26ab2a2fce5f2554a3
2006-01-09 23:40:25 +00:00
danielk1977
e501b89ada
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893)
...
FossilOrigin-Name: 82b81f69c78cb3f54634d9aea4f6a838474dc5e5
2006-01-09 06:29:47 +00:00
drh
8c0ca7d27c
Drop the mutex if the TSD key allocation fails. Ticket #1585 . (CVS 2880)
...
FossilOrigin-Name: 77ac231c0e21c09c0b612a4e72bcc863f2c95fd3
2006-01-07 04:06:54 +00:00
drh
198bf39128
Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878)
...
FossilOrigin-Name: 9d71b7deaffdd7eb9ddad1f03df3e4c51c2cbd98
2006-01-06 21:52:49 +00:00
drh
0739723d76
Fix an alignment problem in the sqlite3OsRandomSeed(). Ticket #1584 . (CVS 2872)
...
FossilOrigin-Name: 373b56f0048fd6a1946a97acfcca40fd12f7d572
2006-01-06 14:46:46 +00:00
drh
66560adab3
Change the OS interface layer to use traditional direct function call
...
implementations instead of the more complicated virtual function table.
Omit the asynchronous I/O demo. (CVS 2870)
FossilOrigin-Name: 2529c2e11fa1d345ec61f647e4f6fae20a7133d6
2006-01-06 14:32:19 +00:00
drh
3fbb0b1a3b
Windows implementation of the thread-specific data interface. (CVS 2864)
...
FossilOrigin-Name: 3aa8befedf4534cd100a7309997a4ad2ba08af20
2006-01-06 00:36:00 +00:00
danielk1977
441b09ae55
Disable automatic invocation of sqlite3_release_memory() when a malloc() fails
...
in those cases where the global mutex is held. (CVS 2860)
FossilOrigin-Name: 6fdbb8b771e490f0d791326689245302c4fe18f5
2006-01-05 13:48:29 +00:00
drh
88f474a938
Add the xInMutex method to the os-layer switch for testing whether or not
...
mutexes are used correctly. (CVS 2851)
FossilOrigin-Name: a582b159595ff8d31c81e9b3044711d6590d3f0e
2006-01-02 20:00:12 +00:00
danielk1977
c529f52046
Move malloc(), free(), realloc() and allocationSize() into the Os vtbl. (CVS 2819)
...
FossilOrigin-Name: 81a41f66370ea7f6810dfb323ba5cea60f240edd
2005-12-15 10:50:53 +00:00
danielk1977
13a68c3f61
Add the sqlite3_os_routine_set()/get() functions. (CVS 2818)
...
FossilOrigin-Name: c1ed79f594fb85009c2e9e5e281cbe66a9d2fa17
2005-12-15 10:11:30 +00:00
drh
2646da7e52
Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810)
...
FossilOrigin-Name: 83a59151559d9496d4f546e03e65087ea974717d
2005-12-09 20:02:05 +00:00
danielk1977
2e588c7525
Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808)
...
FossilOrigin-Name: 601c335463aaabc2e9918e4b9298cff6161be5c4
2005-12-09 14:25:08 +00:00
danielk1977
261919cc16
Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800)
...
FossilOrigin-Name: e1606658f1b4530e3001db4779b5669c8d13c853
2005-12-06 12:52:59 +00:00
drh
054889ec6d
Restructure the OS interface yet again. This time make the OsFile object
...
a virtual base class which is subclassed for unix, windows, and the crash
test simulator. Add the new file "os.c" for common os layer code. Move
all OS-specific routines into the sqlite3Os structure. (CVS 2795)
FossilOrigin-Name: bd8740d1aecba69e1b5d64d43db07e8ad8841f07
2005-11-30 03:20:31 +00:00
drh
392b3ddf2e
The crash test works now, at least on unix. Untested on windows. But it never
...
worked on windows before so if it still does not there is no big loss. I am
still troubled by the current design of the OS overloading mechanism. Expect
to see more changes. (CVS 2794)
FossilOrigin-Name: fa1d7ecfcc648fbe9fc6d92e080cf937bdc9c439
2005-11-29 19:56:32 +00:00
drh
9cbe635219
Make the OsFile structure opaque with its internal structure known only to
...
the appropriate os_*.c implementation. Omit the os_unix.h and os_win.h
include files. The crash tests are broken by this patch. (CVS 2791)
FossilOrigin-Name: 058f31753871b16b40fe4048e3adcee411e0f87d
2005-11-29 03:13:21 +00:00
drh
18839217da
Add an OS method for making copies of file descriptors. This fixes the
...
crash tests. (CVS 2786)
FossilOrigin-Name: 57a674fc71512f11393b8eb595961ec9465ba4e1
2005-11-26 03:43:23 +00:00
drh
9c06c95309
Modify the OS layer so that I/O routines are called through a virtual function
...
table. The os_test.c module has been replaced by test6.c. The crash tests
are busted now and need to be fixed. (CVS 2785)
FossilOrigin-Name: 1f69aec285dd8e26bd739d5e44bb50fe03a9682a
2005-11-26 00:25:00 +00:00
danielk1977
d7c03f7485
Add the compilation option SQLITE_DISABLE_DIRSYNC (CVS 2782)
...
FossilOrigin-Name: f1298bb103aad46c737741d89d33c4c2904aec68
2005-11-25 10:38:22 +00:00
danielk1977
26c5d79f60
If SQLITE_DISABLE_LFS is defined, omit the bigfile tests. (CVS 2781)
...
FossilOrigin-Name: f882a516da18f45dbb668078d0d8240d930e1180
2005-11-25 09:01:23 +00:00
danielk1977
0964b23a99
Check the return code of full_fsync() when used to sync a directory fd. (CVS 2780)
...
FossilOrigin-Name: 84aae3b0ae7381710ff0bc9881cbde3559bb580b
2005-11-25 08:47:57 +00:00
drh
91636d58c0
The --enable-cross-thread-connect configuration option or the
...
-DSQLITE_ALLOW_XTHREAD_CONNECT compile-time option permits database
connections to be moved across threads. This will cause latch-ups
and failures on some linux systems such as RedHat-9. Do not use these
options if you want a portable build. (CVS 2778)
FossilOrigin-Name: 84aa4d58001ed943295f21f429c58c3c99b771d8
2005-11-24 23:14:00 +00:00
drh
d9cb6ac02f
Changes to prevent various compiler warnings. (CVS 2750)
...
FossilOrigin-Name: e261b8b09a529a3e67dc27c3b83b660bcb32e195
2005-10-20 07:28:17 +00:00
drh
f2f23916ec
Another attempt to get fdatasync to be ignored on non-conforming posix systems.
...
Now a system has to opt-in for fdatasync instead of opt-out.
Ticket #1467 . (CVS 2741)
FossilOrigin-Name: 115340d4e85f1bbbab657edbb504284343d86e2c
2005-10-05 10:29:36 +00:00
drh
c035e6e4ab
Optionally call fdatasync() instead of fsync() only if _POSIX_SYNCHRONIZED_IO
...
is positive, which should only be the case on operating systems that
actually support fdatasync(). (CVS 2732)
FossilOrigin-Name: a9b341dccffaf324a64139d6f482599258ef7009
2005-09-22 15:45:04 +00:00
drh
b4746b9e33
Defend against disk I/O errors that happen during an sqlite3OsSeek(). (CVS 2679)
...
FossilOrigin-Name: 461e3a0a27ff083b0bae10c9880e3b41bb85ee31
2005-09-09 01:32:06 +00:00
drh
eb796a7c8f
While doing a transaction comment, use fdatasync() instead of fsync() in
...
cases there the file size is unchanged. (CVS 2673)
FossilOrigin-Name: 3c555a87493128620ac967faf7c63c2a58856e9e
2005-09-08 12:38:41 +00:00
drh
79158e1865
Changes to reduce the amount of stack space required. (CVS 2661)
...
FossilOrigin-Name: b86bd70f301205d6ca66475a425e157b976107e2
2005-09-06 21:40:45 +00:00
drh
19e2d37f1d
Increase resolution of time-of-day on unix. Add an experimental
...
sqlite3_profile() API. (CVS 2639)
FossilOrigin-Name: ed2ca0873fa89d6cfd123541d5d1c6b92c72b6ab
2005-08-29 23:00:03 +00:00
drh
ad81e87054
Clean up possible locking problem in multithreaded applications that take
...
a malloc failure. (CVS 2611)
FossilOrigin-Name: 545e702a23c7a6b09e10441d4137efe5a9618a84
2005-08-21 21:45:01 +00:00
drh
d645967aaa
Give the same access permissions to journal files as is given to databases. (CVS 2590)
...
FossilOrigin-Name: 7961ec0ccbc99d890689013b9602635941f308a6
2005-08-13 17:17:01 +00:00
drh
2b4b5962c4
Changes to the unix OS layer aimed at finding and fixing tickets
...
#1272 and #1285 . (CVS 2517)
FossilOrigin-Name: 006dda3119f025d703da4e0215c378206e20cfd0
2005-06-15 17:47:55 +00:00
drh
0ccebe7e2d
Changes to support linking without a parser and without a disk I/O interface. (CVS 2504)
...
FossilOrigin-Name: 62a7353d4af4886b1561832e8b36e8e788b38834
2005-06-07 22:22:50 +00:00
drh
41f5852eea
Handle failures of getcwd() without segfaulting. Ticket #1274 . (CVS 2490)
...
FossilOrigin-Name: c1691004d6d81b683a4ca5b1723c0de8b9b4e376
2005-06-06 15:06:39 +00:00
drh
8e855770de
Provide a compile-time parameter to set the default file creation permissions
...
under Unix. Ticket #1247 . (CVS 2461)
FossilOrigin-Name: bfa55bec3233eed899606c309773f441857605ae
2005-05-17 11:25:31 +00:00
drh
e29b915e9b
Remove unused code from util.c. Enhance the trace output in os_unix.c. (CVS 2397)
...
FossilOrigin-Name: f2f31919fdd181c79b86f849d46c60f1ed7a0db1
2005-03-18 14:03:15 +00:00
drh
f30cc9496a
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)
FossilOrigin-Name: 3c57a4571fc8463ce9de1cbe5be45538bf2f0de9
2005-03-11 17:52:34 +00:00
drh
b851b2c938
Disable F_FULLSYNC if the sychronous pragma is not set to FULL. (CVS 2372)
...
FossilOrigin-Name: 58b8733b96165126ee8514f2ce0f88d249792847
2005-03-10 14:11:12 +00:00
drh
4c7f941cfc
Make sure the rc variable in OsWrite of os_win.c is always initialized.
...
Also assert that the amt parameter is always greater than zero.
Ticket #1094 . (CVS 2309)
FossilOrigin-Name: 4b399ae7791288e5d44f90da530908d9ca77ff4b
2005-02-03 00:29:47 +00:00
drh
842b864118
Initialize the random number generator from /dev/urandom, if available. (CVS 2258)
...
FossilOrigin-Name: aab8e7f8d81ffa786d5fae5a13963c6e58a8eefc
2005-01-21 17:53:17 +00:00
drh
1398ad3639
Continued refactoring of the name resolution logic and query optimizer. (CVS 2236)
...
FossilOrigin-Name: d8b2a7e09187564fe66a2b4bf0992c6a017146cf
2005-01-19 23:24:50 +00:00
drh
268283bc7f
Fixes to the temp_store_directory pragma. (CVS 2185)
...
FossilOrigin-Name: 0a90eaf398aa4a689cd8326cd017951513ca748a
2005-01-08 15:44:25 +00:00
tpoindex
9a09a3caed
Add PRAGMA 'temp_store_directory'. Added os_*.c function
...
sqlite3OsIsDirWritable(), split pragma.c changeTempStorage() function into
invalidateTempStorage(). (CVS 2171)
FossilOrigin-Name: 772e22cbd69463be41c2e73b4fd4eb33946193c4
2004-12-20 19:01:32 +00:00
drh
5719628afb
Convert many constants to have type "const". (CVS 2006)
...
FossilOrigin-Name: d790c84c5a889928d07f5394fffef0cbb8d5f214
2004-10-06 15:41:16 +00:00
drh
9c105bb990
Fixes to the OsUnlock() interface. Correctly leave a SHARED lock behind
...
when requested. Honor the error code that OsUnlock() returns.
Ticket #913 and #938 . (CVS 1997)
FossilOrigin-Name: c4697503d0ad080290b91e96dfc9a1a63f2df7e6
2004-10-02 20:38:28 +00:00
drh
047d4836ff
Additional code to test the SQLITE_FULL return when the disk is full. (CVS 1994)
...
FossilOrigin-Name: 44e56f0bba61245d342d6e75510d6c35785efd49
2004-10-01 14:38:02 +00:00
drh
ededaa59bd
Fully release exclusive locks in the Unlock primitive of Unix.
...
Ticket #913 . (CVS 1993)
FossilOrigin-Name: 11a37a74b101b9e37dcf1c3e57e45fbcd39a1c21
2004-10-01 03:02:48 +00:00
drh
eb206256f1
Use type i64 instead of off_t for file offsets since off_t is giving
...
portability problems. Ticket #924 . (CVS 1992)
FossilOrigin-Name: 8972c004dc825f668d952e7d082a89046b9260f1
2004-10-01 02:00:31 +00:00
drh
effd02bcbe
Change the name of the global variable to sqlite3_temp_directory to
...
avoid a naming conflict with version 2.8. (CVS 1918)
FossilOrigin-Name: 431f7436a680b7c520aa559b0bf8619d7faba8c1
2004-08-29 23:42:13 +00:00
drh
ab3f9fea05
Add the ability to specify a alternative temporary file directory using the
...
"sqlite_temp_directory" global variable. (CVS 1885)
FossilOrigin-Name: fce56ba6a3c53843fabdfad4f545e35a83a01aa9
2004-08-14 17:10:10 +00:00
drh
a9600bc692
Separate P4 timing asm code out of the SQLITE_DEBUG macro so that SQLITE_DEBUG
...
can be used on non-x86 machines and with compilers other than GCC.
Ticket #838 . (CVS 1876)
FossilOrigin-Name: add266ccc3146fa56572d109e84c8a79dc3df2ca
2004-08-04 14:44:33 +00:00
drh
0bb132bedc
Lemon collapses common destructors and reduce actions into a single case. (CVS 1837)
...
FossilOrigin-Name: 3c5aa850eeec5c75c5200a3707852cc5fc9e780b
2004-07-20 14:06:51 +00:00
drh
6458e39c12
Report an error when attempting to open a directory as a database.
...
Ticket #687 . (CVS 1832)
FossilOrigin-Name: 4d77037be34b357d24d18d1e13b5f0df580b83ff
2004-07-20 01:14:13 +00:00
drh
d5b447d9ac
The OsFile under Unix records a pointer back to the pager. This is intended
...
to be used for an externalized locking patch. (CVS 1821)
FossilOrigin-Name: 511ee6392472d250b542961d1f715cc7453598e6
2004-07-19 22:08:09 +00:00