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

713 Commits

Author SHA1 Message Date
dan
502019c8bb Support FCNTL_CHUNK_SIZE on windows too.
FossilOrigin-Name: a038688c991435967b935946c2283707820bb5da
2010-07-28 14:26:17 +00:00
dan
6e09d69c92 Add experimental unix-only file-control to grow and truncate the database file by a configurable chunk size.
FossilOrigin-Name: 7cf0e851d4c5e826ea22ed08291b7c91d7b1abc7
2010-07-27 18:34:15 +00:00
dan
0668f5916e Fix a race condition in os_unix.c that may occur when one thread is opening a connection to a shared-memory block and another is either closing or locking the same shared-memory.
FossilOrigin-Name: 3b7330c19a5327322068e9460018fe0152b8ac87
2010-07-20 18:59:00 +00:00
drh
8ab58665bc Previous check-in [534aab837e] accidently reverted some
changes from [a121cd80c5].  This check-in restores those changes.

FossilOrigin-Name: abff795f38e33d778c8dd494a601bc029237da9e
2010-07-15 18:38:39 +00:00
drh
a4ced195db Optionally support shared-memory in /dev/shm or other tmpfs directory
using an unsupported compile-time option.

FossilOrigin-Name: 534aab837e5a34fd58963ab2b505bfbb9da2e8ee
2010-07-15 18:32:40 +00:00
dan
c74e4ef4c7 When creating a journal file on unix, attempt to create it with the same permissions as the associated database file.
FossilOrigin-Name: a121cd80c5ac94e5977bc3164d2500e0ea132fed
2010-07-15 14:59:37 +00:00
drh
f65bc9119c Fix a typo in a comment in os_unix.c.
FossilOrigin-Name: e1e7312580a8b19825b0c52fa8af6c9382f99f22
2010-07-14 20:51:34 +00:00
dan
ddb0ac4b9f On unix, try to create the *-wal and *-shm files with the same permissions as the associated database file.
FossilOrigin-Name: e5d180eed245437b61bfb257ee01e2571c93afe7
2010-07-14 14:48:58 +00:00
drh
5d4feffe7d Fix the unix driver to return an I/O error if unlink fails for any reason
other than the file not existing in the first place.

FossilOrigin-Name: 90d73c66bfa880cdeb688b3016c8b1c58bfcf35f
2010-07-14 01:45:22 +00:00
drh
e11fedc589 Change the name of the xShmClose VFS method to xShmUnmap, everywhere.
FossilOrigin-Name: c2d27cf51d33e6f38bab37008d39074051f75274
2010-07-14 00:14:30 +00:00
drh
6e1f482824 Tweaks to the new shared-memory interface design - mostly comment changes.
FossilOrigin-Name: 6336de7aa96a6e1e68cc123e5d5f485d790d95a2
2010-07-13 23:41:40 +00:00
dan
da9fe0c327 Changes so that the xShmOpen VFS method is no longer required. Its job can be done by the first call to xShmMap. Rename xShmClose to xShmUnmap.
FossilOrigin-Name: f4780bde62c6c19146d2723c101540b8db898d38
2010-07-13 18:44:03 +00:00
drh
2667be5e3f Remove the unused xRename() method from the sqlite3_vfs object.
Add better documentation on the xCurrentTimeInt64() method.

FossilOrigin-Name: 51ec0e5432dd6849b83a3d969a018482eb3bb083
2010-07-03 17:13:31 +00:00
drh
0ab216a6b4 Fix compiler warnings in the proxy locking code.
FossilOrigin-Name: 26c7689cfedf03e65bcd51df68d128101ed2c1ec
2010-07-02 17:10:40 +00:00
drh
ff82894faa Suppress various compiler warnings.
FossilOrigin-Name: e82d008eaffb5522080cad6c69c1b194b78eadbd
2010-06-26 21:34:06 +00:00
drh
bd9676c19e Adjust the shared-memory locking range to account for the new version number
values in the wal-index header.

FossilOrigin-Name: a6dc0df304876b51cef5402b0e21330f10aabccf
2010-06-23 17:58:38 +00:00
dan
248af428ea Merge latest trunk change.
FossilOrigin-Name: f6d26e07b70965e332b1589804ca938593a5f432
2010-06-21 06:00:15 +00:00
drh
19515c8da1 Fix an uninitialized variable in os_unix.c.
FossilOrigin-Name: 822a0283c6bc1c75001f3d1c528a4ff89c6b039c
2010-06-19 23:53:11 +00:00
drh
7234c6d6f6 Change the unix VFS to always allocate shared-memory using a file in the
same directory as the database.  Otherwise, a chroot might cause different
processes to use different shared memory files resulting in database
corruption.

FossilOrigin-Name: 2241788bc85fbc48e9cfecb95fe0a858338e37cb
2010-06-19 15:10:09 +00:00
dan
83acd423a1 Change the implementation of the unix implementation of xAccess() so that it returns 0 (does not exist) to an SQLITE_ACCESS_EXISTS query on a file that exists but is zero bytes in size.
FossilOrigin-Name: 077b0e5bcd849130c8df373fc2134c4b44351882
2010-06-18 11:10:06 +00:00
dan
b0ac3e3a17 Fix a memory leak that can occur in os_unix.c if an IO error occurs within the xUnlock method.
FossilOrigin-Name: 6c5c04eea1f0e8d61883ee8675c249fbf895dc01
2010-06-16 10:55:42 +00:00
drh
6b017cc6d4 Move the xShmMap method to in between xShmLock and xShmBarrier, since it seems
to fit in there logically.

FossilOrigin-Name: 58dfd83d8b7905391e2a06bb918ffa209c6de6b5
2010-06-14 18:01:46 +00:00
dan
9785fc9510 Add the new xShmMap (formerly xShmPage) to os_win.c.
FossilOrigin-Name: 13e7a8242206bca4b5bf356ef074e66474d39609
2010-06-14 16:16:33 +00:00
dan
188019153d Remove xShmGet/Size/Release from the sqlite3_vfs structure. Change the name of xShmPage to xShmMap. Remove some code that is now unused from os_unix.c and some of the test VFS implementations.
FossilOrigin-Name: fc0cabc15c97dde6a852b4f07df6d30f1d2c04bc
2010-06-14 14:07:50 +00:00
dan
13a3cb82ce Experimental change to the xShmXXX parts of the VFS interface.
FossilOrigin-Name: ca68472db01c14a899892007d1cbaff5e86ae193
2010-06-11 19:04:21 +00:00
dan
7df6c2c04b In os_unix.c, call munmap() to unmap a shared-memory region prior to closing the associated file descriptor.
FossilOrigin-Name: 95cc976f1520bdaedd8f93b0e9fbef94e4e2c8cc
2010-06-07 19:26:54 +00:00
drh
c11895b808 Make sure the directory used by os_unix.c for shared-memory files is always
the same, regardless of individual client permissions and environment
variable settings.

FossilOrigin-Name: f97bd520f06a16c61ccdd9ebeda7e138896b9ac2
2010-06-02 15:59:05 +00:00
drh
aab4c02e47 Changes to make WAL more robust against SHM locking failures and OOM errors.
FossilOrigin-Name: ebf4041383c3cdddb5861960359abd209d4a1028
2010-06-02 14:45:51 +00:00
drh
8b3cf82ddf The shared-memory used by WAL on linux now really is shared memory in /dev/shm.
On other unix flavors, the file is in a temporary directory rather than in the
same directory as the database.

FossilOrigin-Name: fc18c4aadb908c3b6f9b6481a2efca6a0daadc64
2010-06-01 21:02:51 +00:00
dan
72bcac9ca7 Do not hold the shared-memory mutex in os_unix.c if returning NULL.
FossilOrigin-Name: 9622dd468c8914262e9d8bd8dbca9e22ec6ee75c
2010-06-01 11:08:56 +00:00
drh
b29ad8502e Fix os_unix.c so that it will compile and build on a Mac.
FossilOrigin-Name: bc707c83e5f9849d9d201d695d0d071ca9ed93cb
2010-06-01 00:03:57 +00:00
drh
61e4acecf4 Fix issues with locking_mode=EXCLUSIVE in WAL.
FossilOrigin-Name: 8deba0cebd135a18da68530fab9e7d19dc21ddcb
2010-05-31 20:28:37 +00:00
drh
15d6809222 Fix an inconsistent #ifdef in wal.c. Fix os_unix.c so that it does not allow
moving an SHM lock directly exclusive to shared without going through unlocked.

FossilOrigin-Name: 552658da2845c2323167b6c7db6e5c00090f280c
2010-05-31 16:56:14 +00:00
drh
20e1f08e0b Get the new xShmLock interface design working on os_win.c.
FossilOrigin-Name: 149a7082e266edf0dc25c23823a9e240f5285215
2010-05-31 16:10:12 +00:00
drh
4222441dee Remove the tests that enable tracing based on the existance of the "vdbe_*"
files when in SQLITE_DEBUG mode.

FossilOrigin-Name: cdbb4e7ca7ec27e7e80dd66529d9d565f547887a
2010-05-31 14:28:25 +00:00
drh
c99597ca10 WAL runs but quickly deadlocks.
FossilOrigin-Name: ace58acbf1fad13d2be96cafebc3a22875098d03
2010-05-31 01:41:15 +00:00
drh
73b64e4d2e Initial code for incremental checkpoint in WAL mode. This check-in compiles
on unix and runs as long as you do not engage WAL mode.  WAL mode crashes and
burns.  Consider this check-in a baseline implementation for getting the new
capability up and running.

FossilOrigin-Name: ef3ba7a17ff90674d702e5694b9e792851ab6998
2010-05-30 19:55:15 +00:00
drh
026ac28b28 Change the semantics of xShmGet() such that it will never increase the size
of shared memory.  xShmSize() must be used to grow the size of shared memory.
A shared memory segment size cannot be shrunk (except by dropping it).

FossilOrigin-Name: 72de00731245277b2209103ec0a76e3d4f56530e
2010-05-26 15:06:38 +00:00
drh
1b78eaf0ba Update header comments in wal.c to correctly describe the WAL file format.
Update the locking region offsets in os_unix.c and os_win.c and add assert()
statement to verify that the locking region offsets are correct.

FossilOrigin-Name: 40030c0739f821ea8ee188c28c579507f10448bc
2010-05-25 13:40:03 +00:00
drh
c527669df5 Comment out the SQLITE_FCNTL_SIZE_HINT from os_unix.c since it does not
seem to provide any performance gain there.

FossilOrigin-Name: 7d01309da658d6b658c1b2e53bbdc5112fb0a4d9
2010-05-21 18:24:06 +00:00
drh
286a288493 Add a new xShmBarrier method to the VFS - a shared-memory fence operation.
Implement the same in both unix and win32.  Use it to make the WAL subsystem
more robust.

FossilOrigin-Name: 1bd011c9fed5ef29fb616b4d0a52df3b82221b1f
2010-05-20 23:51:06 +00:00
drh
9ff27ecdb2 Add the SQLITE_FCNTL_SIZE_HINT operator to sqlite3_file_control() and use it
to give the VFS hints about the ultimate size of a database file when the
file is growing.

FossilOrigin-Name: 2b7e3b4a30d6a7c4a8a4b8e7dd2ed728b565c96d
2010-05-19 19:26:05 +00:00
drh
5939f44375 Mark the shared-memory in the WAL implementation as volatile.
FossilOrigin-Name: 0a6787908e989bd5e6af25acbdc59ebc8fa61d6d
2010-05-18 13:27:12 +00:00
drh
ff59a114bd Fix a typo that (by bad luck) was not a syntax error but which caused some
important lines of code to be skipped when SQLITE_DEBUG was not used.

FossilOrigin-Name: 9ef99d97d25aae81df971d40ad10c544b8f30053
2010-05-14 20:15:51 +00:00
drh
d91c68f6cc Simplifications to the SHM implementation in os_unix.c, taking advantage
of the removal of the LinuxThreads mess.

FossilOrigin-Name: d1debe5def82a6bc72f11b8787176ac60259630f
2010-05-14 14:52:25 +00:00
drh
8af6c228f8 Simplify os_unix.c by removing support for LinuxThreads. Linux systems must
either use NPTL or else not share database connections across threads.

FossilOrigin-Name: e294b696ba91512b1ca5547774c51ea07b4cb5bc
2010-05-14 12:43:01 +00:00
drh
308c2a5c0f Change the OSTRACEn() macro to OSTRACE(()). Also rename some internal fields
and variables in os_unix.c to be more meaningful and searchable.

FossilOrigin-Name: 5fe529f239cddbf4b7ea57abb02d95cc0d94f5f5
2010-05-14 11:30:18 +00:00
drh
a925fd256b Change the xShmSize() implementation in os_unix.c so that it will only
increase and never decrease the size of a shared-memory segment.

FossilOrigin-Name: 149d2ae4a6fe2f86822f286d2a7092c51bec7ebb
2010-05-13 08:33:35 +00:00
drh
d9e5c4f6ed Refactoring the VFS-SHM methods used by WAL. This version compiles and
runs non-WAL test cases but crashes and burns on wal.test.

FossilOrigin-Name: 2b00152c1ac0b3735aa6cfab61259ff04d81c701
2010-05-12 18:01:39 +00:00
dan
97c1f6c8f2 Have os_unix.c use the suffix "-wal-index" for wal-index files instead of "-wal-inde".
FossilOrigin-Name: 885e854e7cdc79ecc9d5772d563ddc0f61753ab6
2010-05-11 16:29:54 +00:00