signature=25b3a64851188d9f76c2840443898b3b,SQLite: All files named "src/os_unix.c"

2021-05-21

[430266b3]

part of check-in [4efefb59]

Merge latest changes from wal2 into this branch.

[ff4738e2]

part of check-in [0dba9010]

Merge all recent trunk changes into the begin-concurrent branch.

2021-05-19

[efa60c1c]

part of check-in [6f2fb60e]

Fix a formatting error on the comment.

[e96732e6]

part of check-in [b480aacb]

Add a table of shared-memory lock offsets in a comment in the os_unix.c code.

Include some assert()s to help verify the numbers.

2021-04-02

[9ee493ab]

part of check-in [98420842]

Merge latest trunk changes into this branch.

[b5b7475b]

part of check-in [e16da5af]

Add experimental SQLITE_FCNTL_EXTERNAL_READER file control.

2021-03-26

[f0d42250]

part of check-in [4d425e64]

Merge up all the 3.35.3 changes into the begin-concurrent-pnu-wal2 branch.

[cf029156]

part of check-in [988da36c]

Merge from 3.35.3 into the begin-concurrent branch.

2021-03-18

[7a9eab7b]

part of check-in [ff1eca7f]

Fix a problem with the filename normalizer in unix, discovered by dbsqlfuzz.

2021-02-10

[0e712a25]

part of check-in [cb5bdf82]

Fix a longstanding problem causing an RBU vacuum to omit releasing some locks before finishing.

2020-11-26

[9b8d6679]

part of check-in [ddb97eee]

Update this branch with latest changes from trunk.

2020-11-23

[adbbcea4]

part of check-in [b45a08e3]

In os_unix.c, put ALWAYS() on unreachable branches associated with pathname

normalization.

2020-11-19

[7c42aa79]

part of check-in [c38dec6f]

The xFullPathname method of the unix VFS now normalizes the filenames by

omitting surplus "/", "/./" and "/../" strings.

2020-11-18

[c19f3928]

part of check-in [b887c750]

Improvements to the mechanism that attempts to report SQLITE_CORRUPT if

pread() says that the underlying filesystem is corrupt.

[cfd1ee5f]

part of check-in [9538ea84]

On unix, for certain error codes of read()/pread() return

SQLITE_IOERR_CORRUPTFS instead of SQLITE_IOERR_READ. And then convert this

error into SQLITE_CORRUPT prior to returning back to the application.

2020-11-16

[cd1ff5c1]

part of check-in [7ba89d3e]

Enhance the unix VFS so that it removes extra "/", "/./" and "/../" from

the database filename.

2020-11-06

[ff106673]

part of check-in [b599e890]

Add ALWAYS() to conditionals associated with SHM locking that are always true.

2020-09-16

[89f19aec]

part of check-in [1f0055d0]

Do not invoke usleep() for more than 999999 microseconds.

[7a306a01]

part of check-in [553e20c3]

Fix another (harmless in practice) tsan error in shared-cache mode.

2020-09-15

[b16ae8f1]

part of check-in [1f5ed852]

Do not invoke usleep() for more than 999999 microseconds.

2020-09-04

[99a6ace0]

part of check-in [5dd05940]

Ensure that the busy-handler count is reset at the end of each sqlite3_file_control() and sqlite3_prepare() (and _v2() and _v3()).

2020-09-02

[695560d6]

part of check-in [459de23e]

Fix reporting on locks from external processes. Various other fixes.

2020-09-01

[1f65273d]

part of check-in [ef10e1b3]

Add file-controls and a vtab frontend for querying the unix VFS for the currently held shm-locks. Still some issues.

2020-08-29

[63156254]

part of check-in [30214727]

Improve performance of wal-mode locking on unix in cases where there are hundreds of connections to a single database within the same process.

2020-08-28

[d707ed28]

part of check-in [3eb36502]

Fix handling of an xShmLock(SHARED, UNLOCK) call when the caller does not hold any lock on the specified slot, but another connection in the same process holds an EXCLUSIVE.

[0120726d]

part of check-in [e0faddf0]

Modify the unixShmLock() function to avoid iterating through the (possibly large) set of connections to the same database file.

2020-08-19

[13553fb5]

part of check-in [e1595a20]

Try to make SQLite easier to compiler for Mac Catalyst. See

forum post 803387a1c5.

2020-07-31

2020-07-30

[c79bf713]

part of check-in [e8a66515]

Merge latest trunk changes into this branch.

2020-07-29

[1754f464]

part of check-in [a80ae2c9]

Dozens and dozens of typo fixes in comments. This change adds no value

to the end product and is disruptive, so it is questionable whether or not

it will ever land on trunk.

2020-07-24

[9b1b8601]

part of check-in [270ac1a0]

Fix other potentiall pointer aliasing problems associated with subclassing

of the sqlite3_file object for various VFS implementations.

2020-06-29

[93ed45be]

part of check-in [ac381e6e]

Change things so that if SQLITE_ENABLE_SETLK_TIMEOUT is defined as 2 instead of 1, all blocking locks are taken for a single millisecond and the default busy-handler invoked as normal.

2020-06-19

[e72b7148]

part of check-in [7a876209]

Extend the refactoring into extensions. Clean up stray newlines.

[94bd41f5]

part of check-in [7bb08b1b]

Refactoring various names. No changes in the resulting machine code.

2020-05-29

[03bad4eb]

part of check-in [77933dc4]

Expand upon a comment in os_unix.c. No changes to code.

2020-05-18

[550f4daf]

part of check-in [9e4a7b3e]

Merge latest trunk changes into this branch.

2020-05-06

[13f983da]

part of check-in [98eb54c6]

Fix a problem preventing building without SQLITE_ENABLE_SETLK_TIMEOUT defined.

[ad4f910f]

part of check-in [f3ef9c7c]

Add error code SQLITE_BUSY_TIMEOUT, used internally by the OS layer to indicate that a call to xShmLock() has failed due to timeout of a blocking lock.

[0e1acfbb]

part of check-in [d096ea3f]

Add tests for running recovery when opening a write transaction or performing a checkpoint with blocking locks enabled. Fix some failing assert() statements.

2020-05-05

[daabdb3c]

part of check-in [d6f819a9]

Unless upgrading an existing read transaction, have ENABLE_SETLK_TIMEOUT builds attempt to use a blocking lock when opening a write transaction on a wal mode database.

2020-04-20

[7ef8b602]

part of check-in [2fc80ef1]

Do not use O_NOFOLLOW when opening a directory just to call fsync() on

that directory.

2020-04-09

[359f1c8d]

part of check-in [6c11b67b]

Merge recent trunk changes into begin-concurrent-pnu-wal2.

[e96b6930]

part of check-in [d6fda470]

Merge recent trunk changes into the apple-osx branch.

[257dd274]

part of check-in [92f71a88]

Merge recent trunk enhancements into the begin-concurrent branch.

2020-03-27

[06593ba4]

part of check-in [c516027d]

Modifications to the way blocking locks are used in SQLITE_ENABLE_SETLK_TIMEOUT builds so that multiple processes or threads may not deadlock when operating on a single database.

2020-02-13

[238ad161]

part of check-in [0c683c43]

Omit O_NOFOLLOW from the open() call when opening /dev/null, since /dev/null

is a symlink on Solaris, we are told.

2020-01-15

[facecefa]

part of check-in [350627f3]

Merge in the latest trunk changes via the begin-concurrent-pnu branch.

[5f3eebdc]

part of check-in [95ba2f50]

Merge fixes and enhancements from trunk into begin-concurrent.

[a796deff]

part of check-in [dadedf41]

Merge all recent enhancements and fixes from trunk into the apple-osx branch.

2019-12-27

[ad7640c0]

part of check-in [8a39803e]

Follow-up to check-in [c8c6dd0e6582ec91] - change the xAccess() method to

return true if the file exists and it is anything other than a regular file,

or if it is a regular file with a non-zero file size.

2019-12-26

[d4039501]

part of check-in [c8c6dd0e]

In the xAccess() method of the unix VFS, return true if the named object

is a directory, regardless of what stat() reports as the st_size for the

object. Different filesystems report st_size differently for directories.

Problem reported on the mailing list by Stefan Brüns.

2019-11-25

[112995da]

part of check-in [12b8fa23]

Experimental file-controls for controlling the use of the -shm file.

2019-11-22

[3e0e519f]

part of check-in [6a64fb6a]

Revise the SQLITE_OPEN_NOFOLLOW so that it actually uses O_NOFOLLOW in the

open() system call. This backs out the SQLITE_ACCESS_SYMLINK value but adds

the new SQLITE_OK_SYMLINK return code from the xFullPathname method of

sqlite3_vfs when that routine resolves symbolic links. O_NOFOLLOW is always

included in open() system calls for journal files.

2019-11-18

[ca1cc952]

part of check-in [cb79c828]

Add support for SQLITE_OPEN_NOFOLLOW.

2019-09-30

[24a8f1d3]

part of check-in [a003818f]

Merge the 3.30.0 beta 1 changes from trunk.

[02b58808]

part of check-in [9ce4c791]

Merge the 3.30.0 beta 1 changes from trunk.

2019-09-27

[a76a75f1]

part of check-in [3bcb9cc1]

Allow compile-time options -DHAVE_GETHOSTUUID=0 and -DHAVE_GETHOSTUUID=1.

2019-09-25

[134c64af]

part of check-in [77b0db22]

In the previous check-in, the variable should be openMode, not openFlags.

[1397a889]

part of check-in [ab853724]

In the unix VFS layer, do not attempt to chown() the journal to be the same

as the database if running in 8+3 filename mode. Also, update the comments

on the chown() attempt to be more precise.

2019-09-16

[1a2c66a9]

part of check-in [15593bf3]

Bring the begin-concurrent-pnu-wal2 branch up to date with all the latest

enhancements on trunk.

[5d64ee1a]

part of check-in [93b9ef3f]

Merge recent trunk enhancements into the begin-concurrent branch.

[92336114]

part of check-in [a95191de]

Merge the latest changes from trunk into the apple-osx branch.

2019-08-06

[4ec5b130]

part of check-in [509c1ba2]

Improved reuse of file descriptors for which close() is delayed to prevent

clearing of posix advisory locks.

2019-07-15

[7a2e00cf]

part of check-in [68e12e06]

Call ioctl() with the correct signature on both Android and stock Linux.

2019-07-13

[94576efb]

part of check-in [0d7287e1]

Remove unreachable "break" statements to silence harmless compiler warnings

from ICC.

2019-03-08

[4a5a0f9a]

part of check-in [543ecb30]

Merge the latest enhancements and fixes from trunk.

[93f9933a]

part of check-in [667cce3d]

Merge all the latest enhancements from trunk.

2019-03-01

[b1ebd170]

part of check-in [e64ded7b]

Merge the latest enhancements from trunk.

2019-02-20

[2b9604eb]

part of check-in [be21a641]

Changes to the unix VFS that allegedly enable it to build of Fuchsia.

We have no way of testing this.

2019-02-08

[53b42b7c]

part of check-in [df66fec9]

Use a fast compiler-provided memory barrier exclusively, if such a memory

barrier is available.

2019-01-02

[45f00fb3]

part of check-in [86685679]

Merge changes from begin-concurrent-wal2. Also modify the unix-excl shm-locks

on this branch so that it is not an error to attempt to release an EXCLUSIVE

lock that is not held.

2018-12-24

2018-12-18

[9886c031]

part of check-in [c3191fc8]

Add the "mutexfree-shmlock" patch to this branch.

2018-12-10

[e191348d]

part of check-in [b9a74151]

Make SQLITE_MFS_NSHARD a compile time setting.

[9bcd767c]

part of check-in [6007abfe]

Merge the latest version of mutexfree-shmlock with this branch.

[4b21c514]

part of check-in [d9157dd1]

Rework the SQLITE_MUTEXFREE_SHMLOCK code to reduce contention.

[8526ea45]

part of check-in [a8c5fd86]

Avoid a mutex in-and-out in unixShmBarrier() on this branch. Use

__sync_synchronize() instead.

[4cd8758c]

part of check-in [280d1a72]

Avoid a mutex in-and-out in unixShmBarrier() on this branch. Use

__sync_synchronize() instead.

2018-12-06

[1ef4b733]

part of check-in [3aead209]

Add the mutexfree-shmlock experiment to the begin-concurrent-pnu branch.

[dcf08ca4]

part of check-in [8f4cb9dd]

Experiment with using an atomic CPU primitive instead of a mutex for

intra-process locking with the unix-excl VFS.

2018-12-03

[1aa113b2]

part of check-in [b7281a1c]

Merge the wal2 and begin-concurrent code. Both features work, but not at the

same time.

2018-12-01

[711480e9]

part of check-in [7a44fa5a]

Sync this branch with the latest trunk.

2018-11-26

[86eca42c]

part of check-in [28a615a2]

Merge latest trunk changes into this branch.

2018-10-12

[21faa3e6]

part of check-in [6cb537bd]

Fix the SQLITE_ENABLE_APPLE_SPI compile-time option.

2018-10-11

[f6e91b8f]

part of check-in [90cf32cd]

On the first connection to a WAL-mode database that was not cleanly shut down

and contains a left-over -shm file, truncate the -shm file to 3 bytes instead

of to 0 bytes. Avoiding a truncation to 0 means that system monitoring tools

can better detect if a process illegitimately tries to truncate a -shm file.

Such a rogue process might think it is being helpful by cleaning up old files,

but there is a race condition that can cause damage to the database.

[d4483c1a]

part of check-in [7fbb083c]

In the unix VFS, fix the heap shm allocator (used for unix-excl)

so that it works even on systems where the page size is larger than 32KB.

2018-10-10

2018-10-09

[42c344b3]

part of check-in [ddf6a54e]

Merge changes for the 3.25.0 release.

2018-10-02

[d483d738]

part of check-in [cb151106]

Add an additional assert() verifying mutex invariants on the

unixShmSystemLock() routine in the unix VFS.

[fd755a51]

part of check-in [9280774a]

Additional field name changes and commit fixes associated with shared-memory

locking in the unix VFS, to improve maintainability. No logic changes.

[3acd41af]

part of check-in [3e9f1635]

Fix comments and refactor some names associated with shared-memory locking

in the Unix VFS. No logical changes.

2018-09-28

2018-09-18

[7cfd67db]

part of check-in [e41e50fe]

Fix a problem building on Android with SQLITE_ENABLE_BATCH_ATOMIC_WRITE set.

2018-09-12

[d8e37bc3]

part of check-in [028ed861]

Fix an assert() in os_unix.c that is not true when using RBU.

2018-09-06

[03a5cd0e]

part of check-in [b9d1fb5d]

Fix a harmless compiler warning in os_unix.c.

2018-08-16

[d6ee0c3b]

part of check-in [45684292]

Fix a harmless unused-variable compiler warning that only came up in certain

compile-time configurations.

2018-08-13

[e681b2a3]

part of check-in [e3ea43da]

Stop requiring the global VFS mutex to access the unixInodeInfo.pUnused field.

The unixInodeInfo mutex is sufficient.

[443f6331]

part of check-in [8b1e0010]

Take extra precautions to ensure access to unixInodeInfo.pUnused is protected

by all necessary mutexes.

[c8487c06]

part of check-in [2447e0fd]

Fix a heap-corruption causing race condition in os_unix.c that could occur

when one thread wal opening a database file while another is unlocking the

same file. Edit: Let's go in a slightly different direction with this fix.

[4723f4d9]

part of check-in [90f7c193]

Fix an incorrect comment on the unix-nolock VFS object. No functional

code changes.

2018-07-23

[d9cf5ae0]

part of check-in [1c948348]

Return an SQLITE_NOMEM error if the locking mutex fails to allocate.

[c275a32d]

part of check-in [f69afaf0]

First attempt at reducing mutex contention in the unix VFS by providing

a separate mutex for each unixInodeInfo object.

2018-06-19

[22faca31]

part of check-in [87a9e9d7]

The file_control_ofd_locks TCL command in testfixture distinguishes between

OFD locks unavailable on the platform and OFD locks not used.

[5713c996]

part of check-in [4f1fb5c9]

OFD locks are now mostly working, but need additional tests.

[71b17c32]

part of check-in [d849ade3]

Miscellaneous cleanup of OFD logic. Add an #if 0 to disable the use of

OFD logic, temporarily, until I can get it to actually work.

[da3e1802]

part of check-in [148f8dec]

Initial attempt to get SQLite working with OFD locks on Linux. The code here

does not function correctly. This is an incremental check-in for a work in

progress.

2018-06-06

[2c6a5a60]

part of check-in [d7299bfe]

Merge changes from trunk, including all the 3.24.0 changes plus some

later enhancements.

2018-06-04

2018-06-02

[c230a7a2]

part of check-in [ab3a5539]

Proposed fix for the use of posix_fallocate() so that it handles EINVAL

returns correctly.

2018-05-04

[c8eaf4f6]

part of check-in [180516bf]

Bring the code that changes the owner of WAL and rollback files when running

as root into alignment with trunk.

2018-04-24

[67377f96]

part of check-in [b27bd799]

Merge latest trunk changes into this branch.

2018-04-10

[801cc679]

part of check-in [e20fcb51]

Merge all version 3.23.1 changes and enhancements from trunk.

2018-03-28

[e853b592]

part of check-in [df52e89f]

Update this branch with latest trunk changes.

2018-03-26

[2b53b0b8]

part of check-in [b8196056]

Avoid a race condition that might cause a busy_timeout to last longer than

it should.

[8aaa2ee9]

part of check-in [2e54a743]

Add infrastructure to support for using F_SETLKW with a timeout on system

that support that functionality. Requires SQLITE_ENABLE_SETLK_TIMEOUT.

2018-03-14

[9cd1f99a]

part of check-in [a658f80c]

Merge the latest enhancements from trunk.

2018-03-02

[da5704d0]

part of check-in [36801eff]

Merge latest trunk changes into this branch.

2018-02-21

[928586cb]

part of check-in [e7b7f588]

Remove an unnecessary memset().

2018-02-19

[9e02186f]

part of check-in [38f654dc]

Only try to use the geteuid() interface on unix if HAVE_FCHOWN is defined.

This fixes the build for vxWorks, we are told.

2018-02-15

[774c789b]

part of check-in [b18cc5fe]

On unix, the "PRAGMA fsync_interval=N" command causes an extra fdatasync()

after writing N bytes of content, to force a write-queue flush in the

underlying OS. This is an experimental hack that is not expected to land

on trunk.

2018-02-05

[ce491421]

part of check-in [5764dc16]

Allocation the mutex used by the unix VFS only once at initialization, instead

of every time it is needed.

2018-01-15

[913b3066]

part of check-in [c9d2ec51]

Merge the enhancements associated with the first 3.22.0 beta.

[a82505be]

part of check-in [8151913a]

Fix an error in the setDeviceCharacteristics() procedure for the

(unsupported) QNX code in os_unix.c.

2018-01-10

[ecdffdc7]

part of check-in [6a16f554]

Fix a problem in os_unix.c causing it to return SQLITE_CANTOPEN instead of

SQLITE_READONLY_RECOVERY.

2018-01-09

[a9edddcc]

part of check-in [fa8b80bb]

In the os_unix.c implementation of xOpen(), do not return

SQLITE_READONLY_DIRECTORY in cases where the file cannot be opened for reasons

other than a readonly directory, such as the process running out of file

descriptors.

2017-12-13

[7fc27353]

part of check-in [1c0aa919]

An improved way of generating the SQLITE_READONLY_DIRECTORY error.

The error message submitted to sqlite3_log() is still correct this way.

[1ec93909]

part of check-in [3ec73c38]

New result code SQLITE_READONLY_DIRECTORY is returned when an attempt is

made to write on a database file that is in a read-only directory and hence

the journal file could not be created. This situation formerly returned

SQLITE_CANTOPEN, which less helpful.

[a40e2926]

part of check-in [9cede8a8]

Minor enhancement to two assert() statements in the default VFSes.

2017-12-09

[888afdea]

part of check-in [bab9de7f]

Fix a harmless API signature mismatch in the unix VFS.

2017-11-14

[fcbdfbba]

part of check-in [adf83060]

Fix a typo that prevented successful builds on macs.

[50b62dad]

part of check-in [8c2a769c]

Merge the patch that enables reading a read-only WAL-mode database, without

any special query parameters, as long as the -shm and -wal files are on disk.

[b8167023]

part of check-in [1754faef]

Merge all changes from trunk prior to the read-only WAL enhancement.

2017-11-08

[e87cef0b]

part of check-in [6d7f94fa]

Change the name of SQLITE_READONLY_CANTLOCK to SQLITE_READONLY_CANTINIT.

2017-11-07

[7de92801]

part of check-in [ba718754]

On unix, if the *-shm file cannot be opened for read/write access, open it

read-only and proceed as if the readonly_shm=1 URI option were specified.

2017-11-06

[1f10b358]

part of check-in [7f217eda]

Merge latest trunk changes into this branch.

2017-11-03

[7cc36e2b]

part of check-in [9b0d5c4f]

Allow readonly_shm connections to access the *-shm file using read() even if

it is unable to take a DMS lock.

2017-11-01

[e376adf6]

part of check-in [ce5d13c2]

If a readonly_shm connection cannot map the *-shm file because no other

process is holding the DMS lock, have it read from the database file only,

ignoring any content in the wal file.

[9137cfdb]

part of check-in [d655bfab]

Fix a race condition in os_unix.c that might allow a client to use a *-shm

file corrupted by a power failure if another client fails between locking the

*-shm file and truncating it to zero bytes.

2017-10-26

[9bf0c1b7]

part of check-in [f71dfee0]

Fix an error in the previous commit on this branch.

[8103f603]

part of check-in [5492f457]

Instead of extra locks, use F_GETLK to ensure that readonly_shm clients cannot

connect to a wal-mode database if there are no writers.

2017-10-25

[bec568f6]

part of check-in [35d97908]

Use extra locks to prevent a readonly_shm=1 process from connecting to a

WAL-mode database if there are no writers.

[7edc8727]

part of check-in [adfa7ed2]

Do not reference the ioctl() system call in the unix backend unless it

is actually needed by the Batch Atomic Write extension. This should allow

the build to work on VxWorks.

2017-10-24

[c702163c]

part of check-in [13be3a44]

Merge all enhancements and fixes from the 3.21.0 release.

2017-10-04

[1f9c3e77]

part of check-in [e2fc5c81]

Add experimental mode that uses two wal files. Activated using "PRAGMA

journal_mode = wal2".

2017-09-22

[1b2203f3]

part of check-in [c7a5880d]

Cherrypick [ec37ad6d08] into this branch. With this patch, if

SQLITE_SHARED_MAPPING is defined at build-time SQLite will use a single memory

mapping for multiple connections to the same database file within a single

process.

2017-09-18

[dffae52f]

part of check-in [2e573350]

Merge latest trunk changes with this branch.

2017-09-14

[3984fc06]

part of check-in [1a7e0b61]

Add another test case for the problem fixed by the previous commit.

[0e365b4c]

part of check-in [cf5bf42c]

Avoid an out-of-bounds read that can be caused by a specially constructed

journal file.

2017-09-12

[e29ad5a4]

part of check-in [8b1fc4b9]

Merge the mutex-free PRNG change into this branch.

[f36ad99b]

part of check-in [ec37ad6d]

Hack to have multiple connections to a single file share a

single memory mapping of the databse file.

2017-09-09

2017-08-22

[489aa972]

part of check-in [885c2b44]

Fix error tests in seldom-used compile-time branches of the unix backend.

2017-08-18

[0a7730f6]

part of check-in [3075cfa0]

For the unix VFS, avoid an unnecessary stat() system call prior to opening

any file in the common case where there are no unused file descriptors.

2017-08-16

[6947c0fc]

part of check-in [04e0cb57]

Enhance this branch to support page-level-locking (without MVCC) for

multi-process deployments.

2017-08-14

[24e4b7f6]

part of check-in [bc2498d6]

Update this branch with latest trunk changes.

2017-08-07

[a3612737]

part of check-in [f08d63b4]

On Windows, avoid casting a value larger than 2^31 to a (SIZE_T) on systems where it is a 32-bit type.

[47b6c1e5]

part of check-in [4249fcf7]

Fix a problem with handling SQLITE_FCNTL_MMAP_SIZE requests with a negative

parameter in os_unix.c.

[bbe39b59]

part of check-in [46c3085d]

Avoid casting a value larger than 2^31 to a (size_t) on systems where it

is a 32-bit type.

[a2956104]

part of check-in [17bc7ded]

Update this branch with latest trunk changes.

2017-07-28

[0681c6ef]

part of check-in [94a20047]

Add new extended error codes for the atomic write file-controls.

2017-07-27

[9aa19db9]

part of check-in [4477e60c]

Do not set device-capabilities flags SEQUENTIAL or SAFE_APPEND for f2fs

file-systems.

2017-07-24

[98df292b]

part of check-in [e77d29f6]

Only open a db in server-mode if there is a directory named "db-journal"

in the file-system and the VFS is an exclusive locking VFS.

2017-07-22

[9e7300ba]

part of check-in [a89b62c4]

Omit unused batch-atomic-write code if SQLITE_ENABLE_BATCH_ATOMIC_WRITE is

not defined.

2017-07-21

[7feae9ca]

part of check-in [532bbf1f]

Use ioctl(F2FS_IOC_GET_FEATURES) to determine whether or not atomic batch

writes are available.

2017-07-20

[eca7004f]

part of check-in [416973ed]

Add support for F2FS atomic writes. Untested at this point.

2017-07-07

[4193a7dc]

part of check-in [d9d92781]

Avoid even trying to open a SHM file read/write in WAL mode if we know that

the file is read-only. This avoids scare security log messages.

2017-06-27

[d3c3a186]

part of check-in [dfa9a4d5]

Support clients within a single process only.

2016-12-12

[4a58dfdf]

part of check-in [a24f805b]

Merge all the latest performance enhancements from trunk.

2016-12-05

[30e2c43e]

part of check-in [8df492c1]

Work around a bug in the definition of "ino_t" on some versions of Android.

2016-11-17

[ab6fb769]

part of check-in [a07c581e]

When opening the *-shm file for a readonly database, try to open it in read-write mode before falling back to readonly. This is in case some other read/write connection within the same process uses the same file descriptor.

2016-09-07

[5f558f94]

part of check-in [00759af0]

Merge recent enhancements from trunk.

2016-08-11

[be9ca0f9]

part of check-in [ed406d31]

Add the "modeof=" URI parameter to os_unix.c - used to specify a file to copy permissions from when a new database is created. Also allow passing NULL as the second parameter to sqlite3rbu_vacuum().

2016-07-29

[e7157dfa]

part of check-in [7d4562e9]

Use __sync_synchronous(), when available, instead of a mutex when a memory

barrier is needed.

2016-05-02

[defa2c6c]

part of check-in [f52765ee]

Merge enhancements and bug fixes from trunk.

2016-04-29

[a9443cda]

part of check-in [614bb709]

Fix the temporary directory search algorithm for unix so that it fails

gracefully even if all candidate directories are inaccessible. This fixes

a bug that was introduced by check-in [9b8fec60d8e].

[dc9694fd]

part of check-in [ce11f8e8]

Fix the nolock VFS so that it supports shared memory.

[5b824866]

part of check-in [81b76901]

Merge enhancements from trunk, and in particular the TEMP file deferred I/O

enhancements.

2016-04-26

[8422fba2]

part of check-in [12418b10]

The pcache and the built-in VFSes should not use mutexes when

SQLITE_CONFIG_SINGLETHREAD is set.

2016-04-23

[2488a2b6]

part of check-in [b38fe522]

Fix the fix to the temporary directory search algorithm so that it continues

to return "." as a fallback if that directory has the correct permissions.

2016-04-21

[c96826e2]

part of check-in [67985761]

Change the temporary directory search algorithm on unix so that directories

with only -wx permission are allowed. And do not allow "." to be returned if

it lacks -wx permission.

[4e279d41]

part of check-in [a15c49ae]

Merge all recent enhancements from trunk.

2016-04-18

[d0b41a47]

part of check-in [3a7d7298]

The last parameter to pread64() and pwrite64() should be off64_t, not off_t.

2016-04-07

[bde4844f]

part of check-in [716b20de]

Update comments on the unix file locking protocol. No changes to code.

2016-03-29

2016-03-21

[b1ccb273]

part of check-in [4dc30cce]

Remove an unreachable branch from the unlink verification logic in the UNIX

VFS.

[a721d5d9]

part of check-in [063f1b37]

Merge the sqlite3_system_errno() change from trunk.

2016-03-18

[91e743e4]

part of check-in [ec052b4f]

Merge recent enhancements from trunk.

2016-03-17

[50103f69]

part of check-in [6782c87b]

Experimental implementation of the sqlite3_system_errno() interface.

2016-03-16

[4bde1192]

part of check-in [dbf84705]

Avoid a few unnecessary fstat()s on journal files.

2016-03-04

[4547ba82]

part of check-in [2f0c195c]

Merge recent enhancements from trunk, and especially the changes that

reduce the heap-memory footprint of schemas, and defer opening and writing

to statement journals.

[f5bac8e7]

part of check-in [38fb54e7]

Further fixes to the pread()/pwrite() enabling logic.

[14a28aeb]

part of check-in [7d67d876]

Fix the build for cases when pread()/pwrite() are not available.

[a1aaf2d8]

part of check-in [2cffb9e5]

Update the configure script to detect pread/pwrite and update os_unix.c to

use those routines if they are available.

2016-02-18

[df8e4347]

part of check-in [b7fa0fb3]

Merge recent performance enhancements and the enhanced API_ARMOR from trunk.

2016-02-13

[3a6f2073]

part of check-in [6a9c4a3e]

Enhance ability to debug out-of-memory errors.

2016-02-05

[20b22469]

part of check-in [201fcbee]

Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as

other enhancements from trunk.

2016-02-04

[821ed110]

part of check-in [e3157cb5]

Refinements to synchronous logic:

(1) Use PAGER_SYNCHRONOUS_FULL rather than the corresponding magic number.

(2) Honor SQLITE_NO_SYNC on xDelete calls with sync

(3) Count xDelete syncs during testing

(4) Fix #ifs on SQLITE_EXTRA_DURABLE so that directory syncs on journal

unlink are off by default.

2016-02-02

[fb027e79]

part of check-in [e6a4a163]

Merge recent enhancements from trunk.

2016-01-26

[5bb20172]

part of check-in [4a438556]

Ensure that unixFullpathname() always nul-terminates its output buffer, even when returning an error.

2016-01-25

[4c217111]

part of check-in [8a6e4147]

Only use lstat() if the HAVE_LSTAT macro is defined. Fix some test file issues.

[6604e7f9]

part of check-in [f71249d3]

Simplify the unixFullpathname() function. This adds a dependency on lstat().

[cf524029]

part of check-in [80398fd4]

Fix issues on unix with opening database files via symlinks that are not in the current working directory. And with nested symlinks.

2016-01-22

[0eb7f469]

part of check-in [c11c85fd]

Reenable the xCurrentTime and xGetLastError methods on the unix VFSes as long

as SQLITE_OMIT_DEPRECATED is not defined.

2016-01-14

[9d109ca9]

part of check-in [d85774e0]

Merge the latest enhancements and fixes from trunk.

2016-01-12

[b509b49b]

part of check-in [75cd41ff]

Various #ifdef enhancements for improved VxWorks support.

2016-01-11

[cda640ef]

part of check-in [79125ec9]

Merge enhancements from trunk, and in particular the WAL overwrite feature.

2016-01-08

[82986e1e]

part of check-in [52c16603]

Typo fix in the previous commit.

[08535292]

part of check-in [122c111e]

More #ifdef fixes for the unix VFS.

[0b8ed82a]

part of check-in [ceceea4c]

Fix a problem with #ifdefs on the system calls in the unix VFS that causes

problems when compiling with SQLITE_OMIT_WAL.

2015-12-11

[90d83aaa]

part of check-in [7e7b2406]

Merge recent trunk enhancements, and in particular the snapshot interface.

2015-12-08

[2f3bb1da]

part of check-in [f3c0579e]

Avoid unnecessary work inside of verifyDbFile() in the unix VFS.

2015-12-07

[0ca6d871]

part of check-in [e7ae120d]

Fix the openDirectory() routine in the unix VFS so that it works for databases

located in the root of the filesystem and for database files that have no

pathname at all.

2015-12-03

[25637346]

part of check-in [9e489a71]

Cleaner code and additional comments on the handling of 8+3 filenames when

trying to find the name of a database file based on its journal filename,

in the unix VFS.

2015-12-02

[325d2917]

part of check-in [e1fb33c7]

Merge all recent trunk enhancements, especially the unix VFS changes.

[60997373]

part of check-in [4692ae84]

Fix an incorrect, though harmless, assert() in the unix VFS.

[b2482c40]

part of check-in [b50f67bc]

Remove an unreachable branch from the unixMapfile() routine of the unix VFS.

[2b65298b]

part of check-in [2f13c16b]

Minor simplifications to the unix VFS.

[badd3d7b]

part of check-in [f64ea8a0]

Change the SQLITE_NO_SYNC compile-time option to call fstat() in place of

fsync() rather than being a total no-op.

[27a7ead7]

part of check-in [3d02711a]

Fix a (harmless) off-by-one error in the unix VFS logic that fsync()s a

directory after deleting a file.

[207fef7c]

part of check-in [73defd52]

Simplification of the logic used to take the process-wide lock in the

unix-excl VFS.

[8f8f11b6]

part of check-in [e1d5320c]

Remove all traces of SQLITE_FCNTL_WAL_BLOCK from the unix VFS - that feature

had been disabled for a long time and never actually worked.

2015-12-01

[5808a077]

part of check-in [74934d3f]

Simplification to the posix_fallocate() replacement used for the

SQLITE_FCNTL_SIZE_HINT file control in the unix VFS.

[7d56433a]

part of check-in [9eefa449]

Simplification to the read and write primatives in the unix VFS.

2015-11-30

[88d9fd1d]

part of check-in [bb1e2c4d]

Fix a problem in xFullPathname for the unix VFS. The problem was found by

Kostya Serebryany using libFuzzer.

[641b7da6]

part of check-in [8cfb7a50]

The EOVERFLOW errors from fstat() is not possible unless SQLite has been

compiled with SQLITE_DISABLE_LFS.

[d4ca37d4]

part of check-in [58381352]

Simplifications to the locking logic in the unix-dotfile VFS.

2015-11-28

[951ef130]

part of check-in [d6e177fd]

Improvements to temporary file creation logic in the unix VFS.

2015-11-26

[8b35dc3b]

part of check-in [eb180b4f]

Simplify logic for syncing directories after creating or deleting a file in

the unix VFS.

[9b3a586e]

part of check-in [96e7d638]

Small simplification to the xOpen method in the unix VFS.

2015-11-25

[3f22d7f2]

part of check-in [6c5621ce]

Simplify the temporary filename generator and the time-of-day functions in

the unix VFS.

[066d6f8e]

part of check-in [191aef98]

Make the xAccess method of the unix VFS smaller and faster.

[a6ed7d9a]

part of check-in [228bd15b]

Remove unused methods from the unix VFS.

[cedce5fd]

part of check-in [2a20f793]

Simplification of the error code translator in os_unix.c. Code cleanup only.

The logic is unchanged.

2015-11-24

[80ec4975]

part of check-in [20256177]

Remove from os_unix.c pointless logic that tries to prevent a recurrence of

a warning message that can only occur once.

[3ca4a23d]

part of check-in [32e13879]

Fix a comment typo in the unix VFS. No changes to code.

[c5e7976c]

part of check-in [6c2ddea6]

Make the geteuid() system call overloadable using xSetSystemCall() on the

unix VFSes.

2015-11-21

[bddde71d]

part of check-in [198d191b]

Fix over-length source code lines. No logic changes.

2015-11-19

[f3e7ee04]

part of check-in [2c9e5436]

Merge the latest enhancements from trunk.

2015-11-17

[eb24e034]

part of check-in [67c5d3c6]

When using mmap mode on unix, use a read-only mapping by default. Write to the database file using write(). Unless SQLITE_MMAP_READWRITE is defined, in which case use a read/write mapping and write into the file using memcpy().

2015-11-02

[93f3106e]

part of check-in [447521d7]

Merge latest trunk changes, including the follow-symlinks functionality and 3.9.2 bugfixes, into this branch.

2015-10-31

[cf72e06e]

part of check-in [c7c81050]

On unix, if a file is opened via a symlink, create, read and write journal and wal files based on the name of the actual db file, not the symlink.

2015-09-24

[5d735a65]

part of check-in [4dd06d8b]

Merge recent trunk enhancements into the apple-osx branch.

[fc93d55f]

part of check-in [c6ab807b]

Strengthen the implementations of xShmMemoryBarrier on both the unix and

windows VFSes, so that they likely work even if SQLITE_THREADSAFE=0 is used.

2015-09-03

2015-09-01

[76f493ed]

part of check-in [6db3ff45]

Very minor optimizations in the unix VFS.

2015-08-28

[ea4f5f48]

part of check-in [650111f6]

Fix a potential segfault in the VFS logic that checks for fail renames out

from under SQLite.

[70dc7e3a]

part of check-in [da864658]

Merge trunk enhancements into the apple-osx branch. Most tests works, but

there are yet a few issues to be resolved.

2015-08-11

[bc57de77]

part of check-in [600df309]

Fix the retry mechanism on file locks.

2015-07-03

[388c0235]

part of check-in [b202e2a1]

Add static mutexes for use by the built-in / third-party VFSs and use the built-in VFS mutex where appropriate.

2015-04-30

[23eb5f56]

part of check-in [93ce2bca]

Fix signed/unsigned comparison compiler warnings. Add the

SQLITE_OMIT_RANDOMNESS compile-time option to cause the PRNG to be seeded

identically on every run, for testing purposes.

2015-04-29

[661b48c5]

part of check-in [48f553b0]

Use sqlite3_malloc64() in place of sqlite3_malloc() internally.

2015-04-16

[cf45d7b1]

part of check-in [cd154266]

Merge updates from trunk. Make OSTRACE changes work on Linux.

2015-04-13

[acd575b6]

part of check-in [e709d3b4]

Merge all recent trunk enhances into the apple-osx branch.

[5ed7e2e4]

part of check-in [211411d0]

Add #ifdef magic for HAVE_GETHOSTUUID so that the build will hopefully now

work on more verions of MacOS with SQLITE_ENABLE_LOCKING_STYLE turned on.

2015-04-08

[bd7b5374]

part of check-in [30121870]

Merge in all version 3.8.9 changes from trunk.

2015-04-03

[25b80a3d]

part of check-in [4ae9a3ac]

Disable the SQLITE_FCNTL_WAL_BLOCK feature for now. It needs more work and

is not yet ready for release.

2015-03-24

[895648d4]

part of check-in [a2bd81e5]

Merge the latest trunk enhancements into the apple-osx branch.

2015-03-21

[a4dadbc2]

part of check-in [de9da317]

Do not invoke a C preprocessor macro with an empty argument, as (reportedly)

some versions of GCC are unable to deal with that.

[181f7369]

part of check-in [9f1f8b33]

Merge all recent trunk enhancements and especially the blocking WAL-lock fix

into the apple-osx branch.

[e68c8e77]

part of check-in [67d69d21]

Fix the blocking WAL lock so that it works and so that it compiles on a Mac.

2015-03-17

[78819ac3]

part of check-in [8abbeadb]

Merge all recent trunk changes, and in particular the blocking WAL lock change,

into the apple-osx branch.

2015-03-10

[cc903ecc]

part of check-in [c6e6d5f4]

Arrange for some of the transient locks in WAL mode to block, as a single

to the OS to fix priority inversions.

2015-03-09

[e34ae6ec]

part of check-in [5e04eec8]

Merge recent trunk enhancements into the apple-osx branch.

2015-03-03

[49d06ace]

part of check-in [ac8c7ca3]

Clean up #ifdef logic dealing with VxWorks in os_unix.c. On VxWorks,

automatically use posix advisory locking if it is available or fall back

to named semaphore locking if not.

[35510fa3]

part of check-in [55c21521]

Fix compiler warnings when compiling under VxWorks 7.

2015-03-02

[190c726a]

part of check-in [7d92f1f1]

Changes so that the amalgamation and the command-line shell build without

modifications on VxWorks 7. Still gives a few compiler warnings, and still

mostly untested on that platform.

2015-02-21

[2a05bfbc]

part of check-in [3896e233]

Merge trunk changes into the apple-osx branch.

[c06b1b26]

part of check-in [c299e55a]

Fix a compiler warning associated with USE_PREAD64.

[77e169d8]

part of check-in [7560a9fa]

Fix over-length source code lines in os_unix.c.

2015-02-19

[16ad795e]

part of check-in [8215727d]

Remove a redundant call to statfs() in the xOpen() method of the unix VFS.

Also fix an unused local variable warning.

[e9666eb4]

part of check-in [82c4c4e2]

Incremental merge to prevent a huge pileup of merge conflicts resulting

from editing the same code in two different branches.

[56b08303]

part of check-in [57d70240]

Move the os_unix.c file closer to trunk.

[9922c8f5]

part of check-in [81f242e3]

Move the os_unix.c file closer to apple-osx.

2015-01-16

[06e10d7a]

part of check-in [518621f8]

Merge the 3.8.8 release changes from trunk.

2015-01-10

[aefeaf91]

part of check-in [694228e4]

Make use of the fdatasync() interface if the HAVE_FDATASYNC macro is true.

2015-01-08

[56858043]

part of check-in [cc780842]

Merge the testing enhancements and the unlimited VALUES enhancement from trunk.

2015-01-06

[949cdedc]

part of check-in [af20eae1]

Fix a problem in the unix implementation of FCNTL_SIZE_HINT on systems that do not support posix_fallocate().

2015-01-02

[68823f4a]

part of check-in [df3cdf9f]

Merge the latest changes from trunk into the apple-osx branch.

2014-12-30

[08c0346d]

part of check-in [c7f84717]

Ensure that when a file is extended using FCNTL_SIZE_HINT the last page is allocated on disk, even if the file will only use part of it.

[7f9ed5f0]

part of check-in [77664841]

If the sorter uses mmap'd temp files, ensure all pages of the temp file have been allocated before it is accessed. Otherwise, a disk-full condition might result in a SIGBUS exception.

2014-10-09

[2af3813f]

part of check-in [2a6a0820]

Record the errno on fstat() failures.

2014-10-01

[318d879a]

part of check-in [2078454a]

Merge the latest enhancements from trunk.

2014-09-22

[fb587121]

part of check-in [10a6e510]

Disable shared memory operations using the unix-nolock VFS.

2014-09-21

[eb7b17fa]

part of check-in [3967ebe8]

Merge in all recent changes from trunk.

2014-09-19

[9096a1b1]

part of check-in [3db78d61]

Make the "nolock" VFS on unix a version-3 VFS so that the sorter can

use memory-mapped I/O.

2014-09-06

[addd023b]

part of check-in [ad7063aa]

Fixes to os_unix.c to support database (and other) files larger than 2GiB on Android.

[074879d7]

part of check-in [9dca7ce5]

Merge latest trunk changes with this branch.

[22225d79]

part of check-in [e7fae33c]

Fixes to os_unix.c to support database (and other) files larger than 2GiB.

[576f95b5]

part of check-in [e62aab5e]

Fix typos in comments. No code changes.

2014-09-02

[187835e0]

part of check-in [696dc935]

Merge the latest trunk changes into the apple-osx branch.

2014-09-01

[8525ca79]

part of check-in [b0f6b91f]

Attempt to make the xDelete method of the unix VFS more robust on VxWorks.

2014-08-15

2014-08-14

[cd502696]

part of check-in [08058df3]

Merge the pre-3.8.6 changes from trunk into the apple-osx branch.

2014-08-13

[bd7df309]

part of check-in [f01d42cc]

Minor change to unixDelete for VxWorks with a DOS filesystem.

2014-08-12

[119f4f1f]

part of check-in [19682e8f]

Fix typos in the VxWorks code of os_unix.c.

2014-08-11

[17e7ab0f]

part of check-in [de27c742]

Changes that will perhaps enable SQLite to work better on VxWorks.

2014-08-08

[f0a58d43]

part of check-in [36b7c5ce]

The SQLITE_IOERR_BLOCKED extended error code is not longer used, so remove

assert() statements and documentation for that error code. Also make other

documentation improvements.

2014-06-30

[bc2bed8c]

part of check-in [f426876f]

Merge the latest trunk changes into the apple-osx branch.

2014-06-23

[a7baf1b3]

part of check-in [612b6d1b]

Fix a problem with SQLITE_OMIT_WAL builds.

2014-06-16

[9a97268f]

part of check-in [e43a2f92]

Add the SQLITE_UNLINK_AFTER_CLOSE compile-time option. If enabled, the

unlink of temporary files on unix is deferred until after the file is closed.

2014-06-09

[89be80af]

part of check-in [6484fb5a]

Avoid an unnecessary initialization of the szFile field of unixFile in

the unix VFS.

[e8c5f23b]

part of check-in [c41df393]

Enhance the unix VFS so that it keeps track of the size of unlinked files

internally and thus avoids the need to call fstat() on those files, since

fstat() does not work reliably on unlinked files on some implementations of

FuseFS.

2014-05-09

[6a54dad9]

part of check-in [c8d384d1]

Fix a misplaced #endif and a C99-ism in the unix VFS.

2014-05-08

[a0ebd5f0]

part of check-in [9411d7dc]

Initial attempt to merge in all trunk changes over the previous 1.5 years.

This check-in compiles but there are compiler warnings and "make test"

segfaults after only running a few test modules.

2014-03-20

[ae4b5240]

part of check-in [e3d2be3b]

Add a test to ensure os_unix.c works with 64KiB OS pages.

[7e2f6348]

part of check-in [6f3a5c24]

Add an experimental fix to avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB.

2014-02-12

[c53e2683]

part of check-in [f352ef57]

Various fixes and test case updates so that veryquick.test passes again.

2014-02-11

[d75a3d63]

part of check-in [8ef97420]

Test case updates to account for the fact that database files are not created until they are first written.

2014-02-10

[a45a0d2f]

part of check-in [95d0c58d]

Fix a bug causing the POWERSAFE_OVERWRITE device-characteristic flag to be set incorrectly if file opening is deferred.

[dcb7dd4f]

part of check-in [538f7b25]

Experimental change to os_unix.c to delay creating a database file until it is first written.

2014-02-07

[18f7f95d]

part of check-in [4043d879]

Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE.

2014-01-24

[f3ed0e40]

part of check-in [87bf6063]

Fixes for various clang warnings.

2014-01-15

2014-01-10

[3a4dcb55]

part of check-in [0484549b]

Fix another harmless compiler warning in unixUnfetch().

2014-01-09

[9270957b]

part of check-in [618f248f]

Fix harmless compiler warning in unixUnfetch().

2014-01-01

[abeb9d54]

part of check-in [e1eba1fb]

Try to detect process ID changes due to fork() calls in os_unix.c and

reset the PRNG when a process ID change is detected.

2013-12-07

[60a7b3b2]

part of check-in [2b1884dc]

Actually look at i-node numbers to determine whether or not the database

file has moved.

2013-12-05

[f0765870]

part of check-in [e19eead8]

Fix two potential (and apparently harmless) shift overflows discovered by

the -fcatch-undefined-behavior option of clang.

2013-10-31

[143624d9]

part of check-in [090db8c8]

Fix a problem in os_unix.c causing compilation failure if SQLITE_DEBUG and SQLITE_MAX_MMAP_SIZE=0 are both defined.

2013-08-30

[243fb37f]

part of check-in [a411df72]

Add support for Cygwin when handling temporary file names. Improve error codes and diagnostic messages for temporary file name handling on Windows. Rename winConvertUtf8Filename to winConvertFromUtf8Filename. Improve placement and comments for forward function declarations.

[7d5f3c51]

part of check-in [ba519053]

Add the SQLITE_MINIMUM_FILE_DESCRIPTOR compile-time option, for control over

exactly which low-numbered file descriptors SQLite will use.

[81271e38]

part of check-in [d9c018f8]

Improvements to the robust_open() logic in the unix VFS so that if an attempt

is made to open a repository on file descriptors 0, 1, or 2, and blocking

that file descriptor by opening it on /dev/null fails, then the open will

fail.

2013-08-29

[45d42555]

part of check-in [66dddda0]

Change the unix VFS so that it refuses to open a database file using

a file descriptor less than 3.

[94c7edbd]

part of check-in [3426673e]

Never leave an open file descriptor pointing into the middle of the

database file if the file descriptor number is 2 or less.

2013-08-26

[6005be1c]

part of check-in [edd5dbdc]

Fix for builds with both SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0 defined.

2013-08-24

[e767bca6]

part of check-in [032c3159]

Unify the result of PRAGMA mmap_size when mmap support is disabled.

2013-06-20

[9eafa545]

part of check-in [b6744622]

Disable posix_fallocate() for all systems, all the time, unless the

HAVE_POSIX_FALLOCATE compile-time macro is supplied.

2013-06-19

[a4c49f85]

part of check-in [2b2ade92]

Only default HAVE_POSIX_FALLOCATE on for linux, and then only if it is not

previously defined.

[4b198446]

part of check-in [b9b30d4f]

Only enable posix_fallocate by default on linux and mac.

2013-05-23

[42c9b8b7]

part of check-in [76117792]

Cause the mmap_size PRAGMA to immediately change the mmap space if the

database connection is already active. In particular, reducing mmap_size

will immediately free up process address space.

2013-05-17

[75ce4930]

part of check-in [1def4ea3]

In os_unix.c and os_win.c, initialize the default mmap-limit of a new file descriptor to the current global default mmap-limit, not the current global maximum allowable mmap-limit.

2013-05-09

[5e0b0ca7]

part of check-in [cf5c3642]

Add assert()s to the implementation of xRead() in the built-in VFSes to

verify that the offset parameter is always non-negative.

2013-05-02

[658b180a]

part of check-in [b81e87e7]

Minor fixes for compilation with SQLITE_OMIT_WAL defined.

2013-04-27

[5a214c54]

part of check-in [f14d55cf]

Untested fix for building on VxWorks.

2013-04-26

[f86cd628]

part of check-in [9c7523da]

Avoid using posix_fallocate() in WAL mode, as it is not supported by all file-systems.

2013-04-22

[5a9ac4a5]

part of check-in [1a1cf5aa]

Fix harmless compiler warnings.

2013-04-15

[0a561eae]

part of check-in [ea1404a1]

Refactoring the mmap interface. The controlling pragma is now "mmap_size"

instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and

SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and

SQLITE_FCNTL_MMAP_SIZE, respecctively.

The default mmap_size is now always 0, meaning that

memory mapped I/O is off by default. There is a new compile-time option

SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size.

Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic

and causes it to be omitted from the build. An extra argument is added

to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE

at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we

know that it does not work, meaning that it cannot be turned on by mistake

on those platforms.

2013-04-11

[5707fcb1]

part of check-in [e238dcf9]

Have the UNIX VFS issue warnings via sqlite3_log() if a database file is

renamed or unlinked or linked to more than one name while the file is open.

2013-04-09

[d732dca0]

part of check-in [96f04d99]

Check in the instrumented code for the mptest test case that appears to show a spontaneously disappearing journal file.

[a6e9caad]

part of check-in [c1e2523c]

Add extra #ifndef statements in os_unix.c and os_win.c to make sure the

memory mapped I/O really is disabled when SQLITE_DISABLE_MMAP is set.

2013-04-08

[6d584190]

part of check-in [36047349]

Handle the case in os_unix.c where SQLITE_FCNTL_MMAP_LIMIT requests that the mmap limit be set to a value smaller than the current mapping.

2013-04-03

[f0ecce40]

part of check-in [2d9f1327]

Change the mmap_limit pragma to report the new limit, or to report the

existing limit if called with no arguments. Report the default mmap_limit

as part of PRAGMA compile_options. Set the default mmmap_limit to 0 for

all systems other than linux, mac, windows, and solaris.

[626ddccf]

part of check-in [24bab759]

Initialize the mmap_limit of temporary files to the configured mmap_limit.

[f7d8c6ef]

part of check-in [1dd42ef4]

Fix the unix driver to check defined(_BSD_SOURCE) rather than just the plain

_BSD_SOURCE macro. This fixes the build for OpenBSD.

2013-04-02

[42684a59]

part of check-in [3098a3c1]

Add test cases for errors in mmap() or mremap() is os_unix.c.

2013-04-01

[9912ab0c]

part of check-in [78141d0a]

Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the

SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit"

so that without a specific database name, it sets the limit on all database

files and changes the default for any future databases that might be added

using ATTACH.

[d136eca0]

part of check-in [4d67433d]

Attempt to emulate mremap() on non-Linux systems by allocating a second mapping immediately following the first in virtual memory.

[2c54787f]

part of check-in [80c63443]

Minor changes to unixMapfile() function.

2013-03-29

[0bebbe67]

part of check-in [e8bcdf93]

Fix a problem in btree.c that could cause a crash following an OOM. Also various test script problems.

[68b5606c]

part of check-in [3b7ec8d7]

Avoid assuming the page-size is 4096 bytes in os_unix.c.

2013-03-27

[3894d062]

part of check-in [0e3d5119]

Modify various test cases so that they work if the file is extended in units of the system page-size.

2013-03-26

[d37ec5f1]

part of check-in [e7698cba]

Change os_unix.c to use either one or two mappings internally.

[d6981218]

part of check-in [72813b8e]

Fix a comment in os_unix.c. No code changes.

2013-03-25

[57306f1d]

part of check-in [1b37c4ef]

Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be

used to issue a hint to the VFS to limit mmap space to N bytes. The VFS

is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)"

is used, xFetch is never called.

[6b3f972a]

part of check-in [8776047b]

Add munmap and mremap to the set of os interfaces that can be overloaded

in os_unix.c.

[54b82f34]

part of check-in [a607d63f]

Merge all recent trunk changes into the experimental-mmap branch.

[6815e3dd]

part of check-in [6ec7367d]

Add a test that simulates an error in mmap().

[664fc178]

part of check-in [115b8305]

Change the signature of the xUnfetch method to "int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p)".

[82efc58c]

part of check-in [dce35c01]

Remove unnecessary code to round the size of a memory mapping to 4KB from os_unix.c. Rename SQLITE_IOERR_MREMAP to SQLITE_IOERR_MMAP. Fix other small issues in os_unix.c.

[1e61abcb]

part of check-in [5885ba6c]

Fix a case in the pager where an xFetch() reference was being leaked following an OOM error.

2013-03-23

[d8cdf331]

part of check-in [1431be95]

Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch.

2013-03-22

[55d11087]

part of check-in [19345416]

Add a fix for the assert() statements added by the previous commit.

[18153e6f]

part of check-in [765615f9]

Add assert statements to os_unix.c to ensure that any mapped region of the database file is not being read or written using the xRead() or xWrite() methods.

2013-03-21

[21a36fa0]

part of check-in [6f6e2d50]

Many spelling fixes in comments. No changes to code.

[be66c313]

part of check-in [5ed8ad78]

Do not use the Linux mremap() call. Use the same strategy for xMremap() as on OSX instead.

2013-03-20

[c96bdc9e]

part of check-in [9529ed88]

Optimize the xMremap method in os_unix.c some.

[aedd47c2]

part of check-in [14135da3]

When possible, use memory mapping when appending new pages to a database file.

2013-03-19

[0c7b0d07]

part of check-in [6183f1bd]

Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size".

2013-03-14

[2a4cd96a]

part of check-in [6f21d9cb]

Use mmap() to read from the database file in rollback mode. This branch is unix only for now.

2013-03-06

[f6387eef]

part of check-in [4f5f3aeb]

Fix an operator precedence problem on the [1d8086902e] check-in.

2013-03-05

[d8ab3f4b]

part of check-in [1d808690]

Do not attempt to set the permissions on an existing journal or wal file. Do this only immediately after creating a new file (or opening one zero bytes in size).

2013-03-01

[8964f621]

part of check-in [d7343558]

Always use strncmp() rather than memcmp() when comparing strings where one

or other string might be less than the length parameter, since optimized

versions of memcmp() might read past the first difference and in so doing

generate an access violation.

2013-01-04

[dfdc04b1]

part of check-in [6c4c2b7d]

Do not use umask() since it change the umask for the entire process, not just

the thread using SQLite. Make whatever permission changes are needed using

fchmod() after the file is created, instead.

2012-12-06

[ad459bb6]

part of check-in [1a63b1d5]

Add the SQLITE_FCNTL_TEMPFILENAME file control that asks the underlying VFS

to return a new temporary filename. Per request from NSS team at Mozilla.

2012-11-13

[b75d9b08]

part of check-in [597333f1]

Use preprocessor macros to automatically detect whether or not

posix_allocate() is available. (It is generally available on Linux

but not on Mac.) Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3]

[fad4c9cb]

part of check-in [35625961]

When available, use posix_fallocate() rather than ftruncate() to allocate

space for mmap()ed -shm files, since posix_fallocate() gives an error if

no disk space is available whereas ftruncate() is silent and leaves the system

vulnerable to a SIGBUS upon first write to the mmap()ed region.

Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3]

2012-11-09

[f0753566]

part of check-in [5a3b07f0]

Only log unlink() errors if the error is something other than

SQLITE_IOERR_DELETE_NOENT. The error is still reported up the stack, it

is simply not added to the sqlite3_log().

[1f7c7f2a]

part of check-in [bed9c172]

Change os_unix.c to propagate ENOENT errors back to sqlite as SQLITE_IOERR_DELETE_NOENT. Have SQLite ignore these where they are benign and propagate them back to the caller where they may indicate a file-system malfunction of some description.

2012-10-26

[603d020f]

part of check-in [63a7dd75]

Add QNX-specific performance tweaks to the unix VFS. (Cherry-pick merge of

[b02849e7bde458].)

[2383c592]

part of check-in [cbfd1b12]

Add QNX-specific performance tweaks to the unix VFS. (Cherry-pick merge of

[b02849e7bde458].)

Put auxiliary libraries after libsqlite3.a in the testfixture target of

the "main.mk" makefile. (Cherry-pick merge of [8fc8548f52ab8fcfb5].)

2012-10-09

[0d3a39dd]

part of check-in [7b1a6e6c]

Attempt to suppress warnings generated by Coverity.

2012-10-05

[97c346f8]

part of check-in [b02849e7]

Add QNX-specific performance tweaks to the unix VFS.

2012-10-01

[a5a45a28]

part of check-in [daebe3bd]

Make sure the size parameter to read and write VFS methods in the unix VFS

do not become too big or go negative. This was not actually possible in the

current code. The checks are added to make sure some future bug does not

make it possible.

2012-08-31

2012-08-25

[69b2fe66]

part of check-in [9b19b847]

Fix all known instances of 'repeated the' style typos in comments. No changes to code.

[7f781672]

part of check-in [6723add4]

Merge all the latest trunk changes into the apple-osx branch.

2012-08-20

[b5149a33]

part of check-in [7edd10a9]

Remove tab characters from source code files. Replace them with spaces.

2012-06-08

[767d9ae4]

part of check-in [9d1b8515]

Merge trunk changes into the apple-osx branch.

2012-05-31

[d7c96b5d]

part of check-in [70c419a4]

Avoid calling fchown() if the process is not running as root.

[1f91f730]

part of check-in [ed53b645]

Only call fchown when running as root and supporting files mismatch the database owner & perms

2012-05-29

[8a90a7cd]

part of check-in [8e302570]

Changes some NDEBUG macros to SQLITE_DEBUG in os_unix.c. The is a notational

change only and really should not effect the code.

2012-05-17

[d0eeadc4]

part of check-in [4068abe0]

Stylistic fixes: limit source code line length to 80 characters. C89-style

comments only, not C++/C99 style.

2012-05-16

[a87e927c]

part of check-in [92e7bb90]

Improve error reporting from sqlite3_file_control, SQLITE_FCNTL_REPLACE_DATABASE shouldn't copy file security/ACL metadata, bad bit mask fixed

2012-05-09

[f8c943a0]

part of check-in [65479294]

Added support for SQLITE_ENABLE_PERSIST_WAL compile time macro, retrieving lastErrno from WAL file and setting last errno when writes fail due to space constraints

2012-04-19

[d1978ba8]

part of check-in [b72f07b4]

Update the apple-osx branch so that it includes all of the latest trunk

changes.

2012-04-14

[424d46e0]

part of check-in [9efbeb11]

In the unix VFS, always set every open file to close-on-exec using either

O_CLOEXEC at open (preferred) or FD_CLOEXEC in an ioctl after opening. Before

this changes, many files were done this way, but not all.

2012-04-05

[75eff7b4]

part of check-in [1b08fef9]

Ignore the value of SQLITE_FCNTL_CHUNK_SIZE if it is negative.

2012-04-02

[5e6ead4f]

part of check-in [d51c086e]

Merge in latest changes, autologging options, read only file system wal support, test config conditionalization, WAL frame write prebuffering

2012-03-05

[c008584c]

part of check-in [504bf490]

Pull in all the latest trunk changes.

2012-02-22

[49e10d7d]

part of check-in [9a1da918]

Disable the "filename" pragma implemented by os_unix.c except when compiled

with SQLITE_TEST.

[497e355a]

part of check-in [fd8d7440]

Change the SQLITE_FCNTL_PRAGMA file-control so that it can return a string

value.

2012-02-13

[0e3d2942]

part of check-in [a8a042a7]

Fix a harmless compiler warning introduced by the previous check-in.

[8035d8af]

part of check-in [84b32460]

On unix, ignore the umask when creating journal files. That way, journal files

will have exactly the same permissions as the original database and any

process that has permission to write to the database can also recover

hot journals.

[fd5875e6]

part of check-in [bfbfe05b]

Fix a typo in the type of the fchown() function in os_unix.c.

2012-02-11

[55fbf23b]

part of check-in [98efac96]

Make fchown() an overrideable system call in os_unix.c.

[3dd0399f]

part of check-in [b0225473]

Silence GCC compiler warnings about unused return value from fchown().

[f7e7b3e4]

part of check-in [1254dffe]

When creating journal files (including -wal and -shm files) try to set the

ownership to be the same as the original database. This will prevent root

from locking out the original owner of the file.

[35fb4bc9]

part of check-in [31142ca7]

Remove a redundant test from the shared-memory logic in os_unix.c.

2012-02-10

[34a2b44b]

part of check-in [e2485986]

Pull the latest trunk changes into the apple-osx branch.

[d509b369]

part of check-in [1a16db0b]

Fix an important bug in the handling of EINTR in unixRead(). Never came

up on x86 but crashes on sparc.

2012-01-14

[43d5790e]

part of check-in [2cc414cd]

Merge the latest trunk changes into the apple-osx branch.

2012-01-10

[657672fa]

part of check-in [cb774b26]

Only require double-zero terminators on database filenames, not any every

files supplied to the xOpen method. This backs out [2544f233f1]. Also

refactor the fillInUnixFile() routine in os_unix.c to reduce the number

of parameters.

2012-01-05

[2ad4366b]

part of check-in [3d088ba5]

Make sure the name of the shared memory file has two zero-terminators in the

UNIX VFS, so that sqlite3_uri_parameter() will work correctly on that name.

[b65e2d90]

part of check-in [e75fd3b2]

Change the unix VFS so that it ignores all but the least-significant bit

of the syncDir flag to xDelete. Add an assert to prove that the core only

ever uses that one bit.

[f19ca2ef]

part of check-in [7cf568a1]

Remove the SQLITE_FCNTL_SYNC_OMITTED cases from the unix and windows VFSes

as they are no longer needed because of check-in [fd3822f1f2].

2012-01-03

[fc315957]

part of check-in [8a048423]

Pull all the latest trunk changes over into the apple-osx branch.

[aff2f5e6]

part of check-in [d73e93cf]

Make sure filenames passed into sqlite3OsOpen() always have the extra

zero-terminators needed by sqlite3_uri_parameter().

2012-01-02

[51acd547]

part of check-in [03d8362c]

Remove the code that attempts to find the sector size from the OS and

hardcode the xSectorSize methods of the unix and windows VFSes to return

SQLITE_DEFAULT_SECTOR_SIZE, which is now set to 4096 unless overridden.

2011-12-23

[3a441671]

part of check-in [6191c5e4]

Change the name ZERO_DAMAGE to the more descriptive POWERSAFE_OVERWRITE.

The query parameter used to control this device characteristic is now "psow".

[ac21edf9]

part of check-in [d5e36327]

Merge the latest trunk changes into the statvfs branch.

[ee4ea557]

part of check-in [83d26b9a]

Add interfaces sqlite3_uri_boolean() and sqlite3_uri_int64() which are

wrappers around sqlite3_uri_parameter() combined with internal routines for

converting strings to booleans and 64-bit integers.

2011-12-21

[3e630701]

part of check-in [c83627b7]

Add the ability to enable or disable SQLITE_IOCAP_ZERO_DAMAGE using a URI

parameter for both unix and windows. Add a file-control to query or disable

the ZERO_DAMAGE setting. Add the -uri option to the "sqlite3" TCL command

in tclsqlite3.c. Allow the sqlite3_uri_parameter() interface to accept a

NULL pointer for its first parameter.

2011-12-17

[e2b96f85]

part of check-in [a0be6ea4]

Add SQLITE_IOCAP_ZERO_DAMAGE and enable it for both unix and windows. Use

this device characteristic to reduce the required work in journaling.

A side effect is that this changes the default page exists back to 1024

even with the use of statvfs().

[a1d12b74]

part of check-in [915713ff]

Fix a bad #endif with the previous check-in on this branch.

[987407fd]

part of check-in [e0d44450]

Add support for statvfs() in os_unix.c, for determining the sector size.

This causes many TCL test failures under Linux.

2011-12-14

[7dc7df10]

part of check-in [da118e02]

Merge the nx-devkit changes into trunk. This includes the new

SQLITE_FCNTL_VFSNAME file-control.

[baad28b2]

part of check-in [cdbfb553]

Add a file-control that will discover the name of the bottom-level VFS and

all the shims in between.

2011-12-12

[02b3794c]

part of check-in [c4e2ce48]

Backport a minimal set of changes needed to get 8+3 filenames and the

multiplexor shim playing well together.

[dcb42d74]

part of check-in [169e1229]

Fix os_unix.c so that, unless 8.3 filenames are actually in use, journal and wal file permissions are assigned correctly even if SQLITE_ENABLE_8_3_NAMES is defined.

2011-12-11

[07dcae2d]

part of check-in [1e6a698a]

Fix harmless compiler warnings.

2011-12-08

[fa4ef25e]

part of check-in [59e0d4f3]

Merge the latest trunk changes into the apple-osx branch.

2011-11-14

[f2c4cfdc]

part of check-in [09be42d5]

Begin making experimental changes to use mmap() for reading content from

a database. The code compiles, but crashes on the test suite.

2011-11-07

[4fbb9172]

part of check-in [a210695a]

Make the unix VFS tolerant of read() calls that return less than the

requested number of bytes.

2011-11-04

[32f2ac2a]

part of check-in [e2f08426]

Use mkdir() and rmdir() rather than open() and unlink() to create the lock

files with the unix-dotlock VFS. The change is backwards compatible and,

we are told, works better on some network filesystems.

2011-11-01

[82e71071]

part of check-in [72256634]

If the read() system call in unix returns fewer bytes than expected, retry

it until it either returns zero or an error.

2011-10-31

[c70a4487]

part of check-in [b2f7639c]

Fix the os_unix.c source file so that it will build as part of an

amalgamation on non-apple platforms.

2011-10-21

[68ca0b5e]

part of check-in [be62ef05]

Merge the latest trunk changes into the apple-osx branch.

2011-10-20

[ddda0b1c]

part of check-in [2b35c514]

Fix an issue with finding the access permissions of journal files when

8+3 filenames are in use.

2011-10-15

[1e7dcc17]

part of check-in [39408702]

Added the tool/warnings-clang.sh script. Changes so that there are no

warnings with either gcc or clang even including FTS4 and RTREE and

both with and without SQLITE_THREADSAFE=0.

2011-10-14

[951ac526]

part of check-in [60fee957]

Add assert() statements and eliminate needless variable assignments in order

to get the clang scan-build utility to report zero problems against the

SQLite core. Clang's static analysis did find one real problem - but it was

in the command-line shell, not in the SQLite core.

2011-10-13

[d42ad1c4]

part of check-in [4bf4d5eb]

Fix a harmless compiler warning introduced into os_unix.c by one of the

recent changes.

2011-10-12

[7f8031b5]

part of check-in [c96651dd]

The date/time functions return NULL if the xCurrentTime or

xCurrentTimeInt64 VFS methods fail.

Ticket [0b803bff856c644c]

2011-10-11

[cf2d1338]

part of check-in [9efb74ce]

Simplify the readonly_shm implementation so that it conforms to the

implementation on trunk. Update the test cases to agree with the new

behavior.

[b14e8b40]

part of check-in [f1364004]

Change the behavior of the readonly_shm=1 query parameter so that it never

attempts to open the -shm file read/write.

[c254695c]

part of check-in [cce1f521]

Fix a locking error introduced when porting the new Apple locking code.

[b84dfb5c]

part of check-in [7e2c4898]

Merge the latest trunk changes into the apple-osx branch.

[c936dcab]

part of check-in [b431a634]

Patches to the apple-osx-377 branch so that it will compile and run on

non-Mac unix platforms.

2011-10-10

[ed727d58]

part of check-in [6cb43f6c]

Forward port the Apple-specific changes from [db5b7b778c] in the

apple-osx-377 branch. Fix this up so that it will compile and run on Linux.

[8f60f539]

part of check-in [db5b7b77]

Merging in cherry picked diffs for persist wal, alloc padding, wal-safe vacuum and sqlite3_file_control based lockstate checking

2011-10-05

[9da63854]

part of check-in [328cc186]

When finding the appropriate file permissions for journal files with

SQLITE_ENABLE_8_3_NAMES, ignore "-" characters in the name of the

containing directory.

2011-09-17

[6fdce406]

part of check-in [ffed86bf]

Remove a couple of comments that were causing problems for the

amalgamation generator script.

2011-09-14

[fed168d5]

part of check-in [2456b4d0]

Merge in the latest changes from trunk.

2011-08-31

[10e0c4dc]

part of check-in [70b5b309]

Formerly, we enabled fdatasync() on linux only. But now we learn that

fdatasync() is not supported on Android. So we disable fdatasync() on

Linux too. It can be reenabled at compile-time for those who really need it.

[9e6e26b9]

part of check-in [07803476]

Always include the unixShm.id field, even when not debugging.

2011-08-30

[ae82cf32]

part of check-in [88b763e8]

Make sure SQLITE_FCNTL_SIZE_HINT a no-op if the chunk size is not greater than zero.

2011-08-29

[014cd466]

part of check-in [639cc85a]

Back out [05c9832e5f6eb] since it was causing a performance regression with

no obvious benefit.

2011-08-26

[37925244]

part of check-in [5454d0fe]

Fix several harmless compiler warnings and a documentation bug.

[0cac72a6]

part of check-in [55af8003]

Merge the latest trunk changes into the apple-osx branch.

2011-08-25

[1a34ca37]

part of check-in [6deb3ea1]

Fix the SQLITE_DISABLE_DIRSYNC compile time option.

2011-08-23

[81341980]

part of check-in [880b5115]

If the application-defined openDirectory() function returns SQLITE_CANTOPEN,

then silently ignore the error. This allows the chromium sandbox to disallow

opening of directories without causing errors.

[bcdfbf4f]

part of check-in [c5f7977b]

Merge latest trunk changes into the apple-osx branch.

[87ced852]

part of check-in [ca47da2a]

Change to test instrumentation of os_unix.c: Regard IO errors that occur within SQLITE_FCNTL_SIZE_HINT requests as benign. (This check-in was intended for trunk

and went onto the branch accidentally.)

2011-08-19

[81f15448]

part of check-in [21452f3a]

When retrying a write() after an EINTR error on unix, be sure to also

rerun the previous lseek(). Ticket [e59bdf6116036a]

2011-08-10

[0177d9f4]

part of check-in [6b236069]

Make the openDirectory routine in os_unix.c overrideable so that it can

be turned into a harmless no-op for the chromium sandbox.

2011-08-08

[d059bd9c]

part of check-in [713b1b7d]

In os_unix.c, do not open the directory containing the database file when

the database file is opened. Instead, wait until time to fsync() the

directory. And do not report an error if the open fails, since some

systems (Ex: AIX and a chromium sandbox) are unable to open and fsync

directories.

[597c854d]

part of check-in [8d1b5c3a]

Allow the unlink() system call to be overridden in os_unix.c.

2011-08-02

[f7883504]

part of check-in [77376b33]

Merge all the latest trunk changes into the apple-osx branch.

2011-07-28

[51caec43]

part of check-in [1b56677b]

Merge changes for the new sqlite3_file_control() that will cause the -wal and -shm files to persist after the last database connection closes.

[c617801b]

part of check-in [9109128c]

Use osStat() instead of stat() consistently in os_unix.c

2011-07-26

[294e8e98]

part of check-in [e34c553b]

Prototype change for a new sqlite3_file_control() that will cause the

-wal and -shm files to persist after the last database connection closes.

2011-07-25

[b83e0924]

part of check-in [05c9832e]

Enable the SQLITE_FCNTL_SIZE_HINT on unix even if SQLITE_FCNTL_CHUNK_SIZE

has not been set.

2011-07-15

[dcd6d578]

part of check-in [87017410]

In os_unix.c, check if the ESTALE macro is defined before using it.

2011-06-24

[af3aa6c0]

part of check-in [34f0efa2]

Merging local changes to apple-osx

[d3e7b171]

part of check-in [9b191bb4]

Fix some harmless compiler warnings that were occurring with THREADSAFE=0.

2011-06-21

[aeef5f00]

part of check-in [76005fdc]

Merge the latest trunk changes into the apple-osx branch.

2011-06-20

[07acbb3e]

part of check-in [f69ed286]

Rework the autoconf script to better deal with utime() and dlopen().

2011-06-02

[56c56d4c]

part of check-in [ce5f95de]

Merge the latest trunk changes, including the read-only shared memory

enhancement, into the apple-osx branch.

2011-06-01

[fd4e9588]

part of check-in [1f930d7e]

Make use of the sqlite3GetBoolean() interface for more robust processing

of the readonly_shm query parameter inside of unixShmMap().

[a59c0718]

part of check-in [d6b4709d]

Simplify the wal-readonly branch so that it does not require changes to

anything other than os_unix.c and wal.c and a couple of new error codes.

2011-05-31

[af3c3f6a]

part of check-in [2c6b5a28]

Merge the latest trunk changes into the wal-readonly branch.

2011-05-19

[d5feb6cb]

part of check-in [57912327]

Bring the apple-wal-readonly branch up to date with the latest changes

in apple-osx, and especially the fix for disappearing WAL transactions.

[e911e44f]

part of check-in [8d1a6bb0]

Pull all the latest trunk changes, and especially the fix for WAL cache

spills causing transactions to disappear, into the apple-osx branch.

2011-05-17

[6d4a58d8]

part of check-in [96d60985]

Add the ability to limit filenames to 8+3 using the

SQLITE_ENABLE_8_3_NAMES compile-time option together with a URI

parameter of "8_3_names=1".

2011-05-12

[dabbe23e]

part of check-in [97b98010]

Pull in the patches to support read-only WAL databases into a new branch

off of the apple-osx branch. This also pulls in all the other pending

3.7.7 changes such as URI support.

2011-05-10

[03630dd0]

part of check-in [bb59f986]

Add experimental support for read-only connections to WAL databases.

2011-05-05

[b206f9d5]

part of check-in [f9b149e5]

Merge the latest trunk changes into the apple-osx branch.

2011-04-25

[2c67d126]

part of check-in [4c7ff4dd]

Invoke the unix open() system call through a wrapper to avoid problems

resulting from differing declarations to that function in various systems.

2011-04-17

[4389231d]

part of check-in [986f2f25]

Change the prototype for the open() system call to agree with Posix.

Though a faulty function prototype in a pointer cast is a seemingly innocuous

error, the correct prototype is necessary for pthreads to work correctly

on NetBSD.

[d7889a0f]

part of check-in [3e135748]

Change the prototype for the open() system call to agree with Posix. Though

a faulty function prototype in a pointer cast is a seemingly innocuous error,

the correct prototype is necessary for pthreads to work correctly on NetBSD.

2011-04-15

[c80e9d42]

part of check-in [8775f159]

Fix #ifs involving SQLITE_ENABLE_LOCKING_STYLE so that they check the value of

that macro and not whether it is defined.

[dfe0ce8b]

part of check-in [721e3c16]

Make sure the unix backend returns SQLITE_FULL if write() fails with an

ENOSPC error code.

2011-04-13

[6c9db472]

part of check-in [fe603217]

Add new extended error codes for I/O errors on seek and shared-memory map.

Add sqlite3_log() calls in the windows backend to record details of errors.

[b90124c1]

part of check-in [289194d6]

Update the apple-osx branch to version 3.7.6.1.

[b2d4cd99]

part of check-in [c6e727ab]

Make sure the array of overloadable system calls is always correctly

sized, regardless of the compile-time configuration.

Ticket [bb3a86e890c8e96ab].

2011-04-11

[9541fdb1]

part of check-in [51029d84]

Do not override the fchmod system call in unix unless the

SQLITE_ENABLE_LOCKING_STYLE compile-time option is engaged.

2011-04-09

[a3688d61]

part of check-in [4eaef4ad]

Pull all the latest trunk changes into the apple-osx branch.

2011-04-06

[a8fe6214]

part of check-in [61a6ccbe]

Fix a benign inaccuracy in the os_unix.c SQLITE_FCNTL_SIZE_HINT code.

2011-04-04

[4cef66b6]

part of check-in [6d78a25d]

Merge in the latest changes from trunk.

2011-04-02

[32414676]

part of check-in [3b91eaaa]

Avoid returning SQLITE_NOTFOUND when the unix xSetSystemCall interface is invoked with NULL passed as the second argument, even if all the default system calls are already installed.

2011-04-01

[a3b4cdf5]

part of check-in [7a6d05df]

Move a variable declaration inside an #ifdef to avoid a compiler warning.

[8115c851]

part of check-in [ff6dfe6e]

In os_unix.c, do not return SQLITE_BUSY to SQLite following an error in fcntl(F_UNLCK), regardless of the value of errno.

[9a129123]

part of check-in [8088031b]

Fix some problems in os_unix.c when compiled with ENABLE_LOCKING_STYLE on OSX. Also some minor issues with test scripts.

2011-03-30

[be9f9d33]

part of check-in [a84f7711]

Further tests for os_unix.c.

2011-03-29

[0b377593]

part of check-in [bc6cce81]

Fix a problem in the unix VFS implementation of xNextSystemCall(). Also some typos that prevent compilation when HAVE_POSIX_FALLOCATE is defined.

2011-03-23

[942a9dca]

part of check-in [e059152a]

Change the xSetSyscall methods of the VFS so that they do not cast object

pointers into function pointers. Fix other unrelated compiler warnings.

2011-03-15

[91997224]

part of check-in [d9846834]

Make the "unix-excl" VFS work exactly like "unix" if the database

file is read-only.

2011-03-12

[1debf5ea]

part of check-in [a05a6d40]

In the "unix-excl" VFS, use the heap for shared memory, since only a single

process is able to read or write the database.

[557837be]

part of check-in [00051c32]

Add the new optional "unix-excl" VFS. This VFS grabs an exclusive lock on

the database preventing other processes from accessing it, but continues to

allow other database connections from the same process.

2011-03-11

[c4d50608]

part of check-in [f957f23a]

Remove an unused field from the unix sqlite3_file object.

2011-03-08

[58fe8845]

part of check-in [36d79e6f]

Merge the syscall-override changes into trunk.

[67f9a304]

part of check-in [c829868a]

Fix two compiler warnings. No functional code changes.

2011-03-04

2011-03-02

[3d387679]

part of check-in [38558363]

Add additional VFS methods to retrieve system call pointers and to get a

list of all changeable system calls.

[a13aa239]

part of check-in [80fac2a6]

Add more system calls to the set that can be overridden in os_unix.c.

Also merge in recent fixes from trunk.

[34f0341a]

part of check-in [92b5a76a]

Proof-of-concept prototype for the proposed xSetSystemCall extension method

on the VFS.

[5e2e1187]

part of check-in [7b6e30e6]

Log all error from close() in os_unix.c to sqlite3_log() but do not attempt to

report errors back up to the application. Update the unix error logging to

put the most important information earlier in the message.

2011-02-25

[64a2e0eb]

part of check-in [4e50b036]

Comment out some code in os_unix.c that only runs on MacOSX with

SQLITE_ENABLE_LOCKING_STYLE.

2011-02-23

[ef71b989]

part of check-in [8609a15d]

Automatically retry system calls that fail with EINTR. This is a backport

of the changes from [b9d29ea385bafc] and [af9ba2a6d2c379].

[c9f2a091]

part of check-in [a4333b15]

Backport the os_unix.c error logging enhancements from

check-in [01076528a43b61a].

[33c062c5]

part of check-in [e701efbd]

The robust_flock() fix that accidently included some unrelated, though

harmless changes. I should follow my own checklist!

[866aa2d8]

part of check-in [b9d29ea3]

Retry selected system calls on unix when they fail with EINTR.

2011-02-21

[0969a592]

part of check-in [01076528]

Have os_unix.c call sqlite3_log() following errors in certain system calls.

2011-01-27

[9b2e1751]

part of check-in [09d6c91d]

Pull in all the changes from trunk up through the version 3.7.5

release candidate 1.

2011-01-26

[1be46a35]

part of check-in [6f2c72a0]

Update all built-in VFSes to return SQLITE_OK for the

SQLITE_FCNTL_SYNC_OMITTED file-control operation. Also change the

xFileControl methods to return SQLITE_NOTFOUND for unrecognized

operation codes.

2010-12-22

[aeaf65d2]

part of check-in [b82e85ec]

Do not include if SQLITE_OMIT_WAL is defined.

2010-12-21

[c43a55b4]

part of check-in [39bbd355]

Rearrange a variable declaration in the proxy locking code to avoid a harmless

compiler warning on recent MacOS versions.

2010-12-07

[49f8334f]

part of check-in [d2ccf7fc]

Merge in all changes to the trunk through version 3.7.4rc3.

2010-11-29

[b392967b]

part of check-in [5602ec95]

Fix compiler warnings discovered while building SQLite on http://www.devio.us/.

2010-11-22

[6bbb2ac1]

part of check-in [3df3e79b]

Fix a typo in unixCurrentTimeInt64() preventing compilation with NO_GETTOD defined.

2010-11-19

[357e5f1b]

part of check-in [c8bc057c]

Merge all the latest changes from the trunk into the apple-osx branch.

2010-11-09

[79cf726c]

part of check-in [fd4d38fa]

Integrated proxy locking file support for WAL journal mode and double free fix

2010-11-05

[de5be4cd]

part of check-in [72ba3e36]

Fix os_unix.c so that it works with the test_multiplex module.

2010-10-05

[00a4a84a]

part of check-in [d7d4a94f]

Do not embedded #if inside an assert() statement.

Fix for check-in [dca8763872a]

[ae27ac76]

part of check-in [dca87638]

Fix an assert() failing on OSX.

2010-09-25

[dd62c4b2]

part of check-in [44deaaef]

Do not call gethostuuid() on MacOS 10.4 and earlier, since it is not

supported there.

2010-09-10

[e10e9f08]

part of check-in [e01c5f3e]

fixed memory leak in proxy lock file error handling

2010-09-02

[6152042c]

part of check-in [36397f62]

Fix the computation of the offset on the mmap() for the Nth shared memory

region. Because of the way shared memory is accessed, the old computation,

though wrong, still happened to always get the right answer. Nevertheless,

it is good to do the computation correctly.

2010-08-18

[3853edc2]

part of check-in [866e9286]

Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18

into the apple-osx branch.

[b7267d7f]

part of check-in [5e2ee7db]

Updating apple-osx with minor source fixes, database truncate and replace private calls and a bunch of conditionalization for tests running in different environments

2010-08-11

[11194cbc]

part of check-in [f854cbe0]

Fix memory allocation in proxy locking so that it works with SQLITE_MEMDEBUG.

2010-07-28

[ae5ca8a6]

part of check-in [a038688c]

Support FCNTL_CHUNK_SIZE on windows too.

2010-07-27

[77e963fb]

part of check-in [7cf0e851]

Add experimental unix-only file-control to grow and truncate the database file by a configurable chunk size.

2010-07-20

[3109e0e5]

part of check-in [3b7330c1]

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.

2010-07-15

[fa606537]

part of check-in [abff795f]

Previous check-in [534aab837e] accidently reverted some

changes from [a121cd80c5]. This check-in restores those changes.

[d27404c0]

part of check-in [534aab83]

Optionally support shared-memory in /dev/shm or other tmpfs directory

using an unsupported compile-time option.

[73cce169]

part of check-in [a121cd80]

When creating a journal file on unix, attempt to create it with the same permissions as the associated database file.

2010-07-14

[fd7706aa]

part of check-in [e1e73125]

Fix a typo in a comment in os_unix.c.

[417a378a]

part of check-in [e5d180ee]

On unix, try to create the *-wal and *-shm files with the same permissions as the associated database file.

[cfcb63d4]

part of check-in [90d73c66]

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.

[7845a3c9]

part of check-in [c2d27cf5]

Change the name of the xShmClose VFS method to xShmUnmap, everywhere.

2010-07-13

[53a84d8a]

part of check-in [6336de7a]

Tweaks to the new shared-memory interface design - mostly comment changes.

[abefe412]

part of check-in [f4780bde]

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.

2010-07-03

[c6112f0a]

part of check-in [51ec0e54]

Remove the unused xRename() method from the sqlite3_vfs object.

Add better documentation on the xCurrentTimeInt64() method.

2010-07-02

[d7910391]

part of check-in [26c7689c]

Fix compiler warnings in the proxy locking code.

2010-06-26

[ec7c7f7c]

part of check-in [e82d008e]

Suppress various compiler warnings.

2010-06-23

[4b03e5a8]

part of check-in [a6dc0df3]

Adjust the shared-memory locking range to account for the new version number

values in the wal-index header.

2010-06-21

2010-06-19

[838e0c0c]

part of check-in [822a0283]

Fix an uninitialized variable in os_unix.c.

[a76d1952]

part of check-in [2241788b]

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.

2010-06-18

[2555f00c]

part of check-in [077b0e5b]

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.

2010-06-16

[ae173c9f]

part of check-in [6c5c04ee]

Fix a memory leak that can occur in os_unix.c if an IO error occurs within the xUnlock method.

2010-06-14

[22bb2a8c]

part of check-in [58dfd83d]

Move the xShmMap method to in between xShmLock and xShmBarrier, since it seems

to fit in there logically.

[71041891]

part of check-in [13e7a824]

Add the new xShmMap (formerly xShmPage) to os_win.c.

[0a57b862]

part of check-in [fc0cabc1]

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.

2010-06-11

[29dac627]

part of check-in [ca68472d]

Experimental change to the xShmXXX parts of the VFS interface.

2010-06-07

[12051d37]

part of check-in [95cc976f]

In os_unix.c, call munmap() to unmap a shared-memory region prior to closing the associated file descriptor.

2010-06-02

[8fa4eeb2]

part of check-in [f97bd520]

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.

[7ae9257f]

part of check-in [ebf40413]

Changes to make WAL more robust against SHM locking failures and OOM errors.

2010-06-01

[31511480]

part of check-in [fc18c4aa]

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.

[29dd06f4]

part of check-in [9622dd46]

Do not hold the shared-memory mutex in os_unix.c if returning NULL.

[fe672ba6]

part of check-in [bc707c83]

Fix os_unix.c so that it will compile and build on a Mac.

2010-05-31

[129e60cc]

part of check-in [8deba0ce]

Fix issues with locking_mode=EXCLUSIVE in WAL.

[18ed6016]

part of check-in [552658da]

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.

[833dbeae]

part of check-in [149a7082]

Get the new xShmLock interface design working on os_win.c.

[824dc63f]

part of check-in [cdbb4e7c]

Remove the tests that enable tracing based on the existance of the "vdbe_*"

files when in SQLITE_DEBUG mode.

2010-05-30

[df0c87b2]

part of check-in [ef3ba7a1]

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.

2010-05-26

[683ba91d]

part of check-in [72de0073]

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).

2010-05-25

[a5771c3f]

part of check-in [40030c07]

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.

2010-05-21

[35ace483]

part of check-in [7d01309d]

Comment out the SQLITE_FCNTL_SIZE_HINT from os_unix.c since it does not

seem to provide any performance gain there.

2010-05-20

[5c53b43c]

part of check-in [1bd011c9]

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.

2010-05-19

[fdeb37c7]

part of check-in [776679af]

Cherry-pick the SQLITE_FCNTL_SIZE_HINT patch (check-in [2b7e3b4a30d6a7c4a8]

and bump the version number to 3.6.23.2.

[6db01eb2]

part of check-in [2b7e3b4a]

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.

2010-05-18

[6db3289d]

part of check-in [0a678790]

Mark the shared-memory in the WAL implementation as volatile.

2010-05-17

[23b64fae]

part of check-in [9a083711]

Invoke the SQLITE_FCNTL_SIZE_HINT opcode on the sqlite3_file_control()

interface for database files before extending the size of the file. The

VFS can use this hint to preallocate space.

2010-05-14

[28caddcd]

part of check-in [9ef99d97]

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.

[025da44b]

part of check-in [d1debe5d]

Simplifications to the SHM implementation in os_unix.c, taking advantage

of the removal of the LinuxThreads mess.

[a725e2dc]

part of check-in [e294b696]

Simplify os_unix.c by removing support for LinuxThreads. Linux systems must

either use NPTL or else not share database connections across threads.

[1a02adfb]

part of check-in [5fe529f2]

Change the OSTRACEn() macro to OSTRACE(()). Also rename some internal fields

and variables in os_unix.c to be more meaningful and searchable.

2010-05-13

[a65eb0c5]

part of check-in [149d2ae4]

Change the xShmSize() implementation in os_unix.c so that it will only

increase and never decrease the size of a shared-memory segment.

2010-05-12

[c7ff5a94]

part of check-in [2b00152c]

Refactoring the VFS-SHM methods used by WAL. This version compiles and

runs non-WAL test cases but crashes and burns on wal.test.

2010-05-11

[c306feb1]

part of check-in [885e854e]

Have os_unix.c use the suffix "-wal-index" for wal-index files instead of "-wal-inde".

2010-05-10

[34fe71c6]

part of check-in [6e3735f7]

Fix an off-by-one error while constructing the name of the mmap file for

the wal-index under os_unix.c.

[f3a7ea94]

part of check-in [96d6eaf4]

Fix an uninitialized variable in OSX proxy locking.

2010-05-07

[164d85df]

part of check-in [a65c2939]

Change the xShmOpen() method of the VFS to take the database file name as

its argument, not the WAL file name. Also fix some unrelated compiler

warnings.

2010-05-06

[00403219]

part of check-in [bb0b6021]

Instead of transitioning to RECOVER state from CHECKPOINT when a recovery is required, perform the recovery while holding the CHECKPOINT lock.

2010-05-05

[2ce91d5d]

part of check-in [e9bfa6e4]

Further simplifications to the SHM locking logic. Remove the SQLITE_SHM_QUERY

option. Unify the WRITE to READ and RECOVER to READ transitions.

[623a195f]

part of check-in [9de05bfb]

Simplifications to the SHM locking implementation in os_unix.c.

2010-05-03

[7ab8d2fe]

part of check-in [551df11a]

Fix a bug in the xCurrentTime() method of the os_unix.c VFS.

[2d190375]

part of check-in [9d3f3736]

Fix a couple of errors in WAL code that can occur in an OOM situation.

[7d706a3a]

part of check-in [43b5b07f]

Change the VFS definition so that all methods take a VFS object pointer as

their first parameter.

[f3c0faad]

part of check-in [ab77b3ae]

Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available.

Provide an implementation of xCurrentTimeInt64 for os_unix.c.

2010-05-01

[5c821e4e]

part of check-in [94dea5f9]

Change the SHM interface so that it does not take the name of the shared

object but rather the name of the WAL file and derives its own name from

that. Remove the xShmDelete method from the VFS and replace it with a

delete flag on xShmClose.

[d003631a]

part of check-in [69e07fdb]

Remove the xShmPush and xShmPull methods from the VFS.

[bb8b65d9]

part of check-in [6af2dca7]

Define an invariant to guarantee deadlock-free operation of SHM in os_unix.c

and check that invariant with assert() statements.

[d402146b]

part of check-in [1a0f69be]

Rework mutexes on the SHM implemention for os_unix to avoid a deadlock during

WAL recovery.

[27ec47f2]

part of check-in [9b230c43]

Support compile-time option SQLITE_OMIT_WAL, for building without WAL support.

2010-04-30

[559f9f18]

part of check-in [8660cda6]

Change the SHM VFS logic in os_unix.c so that it does not hold an exclusive

lock n the mapped memory when also holding a CHECKPOINT lock. This

improves concurrency between readers and checkpointers.

[edbc13a3]

part of check-in [2afc33de]

In the debugging output for SHM-LOCK in os_unix.c, use symbolic names

for the lock states rather than raw numbers.

[72413d32]

part of check-in [90119fec]

Fix a problem in the previous commit. Both unixShm.lockState and unixShm.readLock should be set to READ when downgrading from a WRITE to a READ lock

[d0deee99]

part of check-in [55f5af5e]

Fix a bug whereby upgrading from a READ_FULL to a WRITE lock, and then back to a read lock was dropping all WAL locks.

[7d10d3a8]

part of check-in [69567c5f]

Fix a couple uninitialized variables in the xShmLock method of the unix VFS.

Improved debugging logic for xShmLock.

[b2322d8f]

part of check-in [4cbe49f1]

Separate the concepts of underlying storage size and mapped size in the

VFS shared-memory implementation.

[7451a717]

part of check-in [1f9e8c5c]

Add a missing walIndexUnmap() call to the checkpoint code. Change a couple of SQLITE_CANTOPEN constants to SQLITE_CANTOPEN_BKPT.

[f5e41bd2]

part of check-in [a4741cb5]

Add missing mutexes to unixShmClose().

[685b0347]

part of check-in [a8f958be]

Fix a couple of assert() statements in os_unix.c and wal.c. Combine sqlite3WalIsDirty() with sqlite3WalUndo().

[4237d2a6]

part of check-in [72b95fde]

Add a missing walIndexUnmap() to sqlite3WalSnapshotOpen().

[d9b2b017]

part of check-in [a92c1851]

The first 6 WAL tests now work. It's a start.

2010-04-29

[bf4cc543]

part of check-in [62db5fa3]

Refactor wal.c to use the VFS. This check-in compiles and links and works

ok as long as you leave WAL turned off, but WAL does not work.

[f0e002e7]

part of check-in [70661128]

Untested implementation of the shared-memory dead-man-switch.

[340c5037]

part of check-in [1bde41cf]

Progress towards a VFS that will support WAL. Locking code is in place

but is untested. Still no support for the DMS.

2010-04-28

[c8b7d1e0]

part of check-in [348409de]

Changes to the interface design for the xShmLock method of the VFS.

2010-04-27

[332ff918]

part of check-in [ed715b47]

Add the xShmRelease() method to the VFS. The os_unix.c implementation of

the shared memory logic is still non-functional.

2010-04-26

[1acc8542]

part of check-in [f5e615c2]

Begin moving WAL-specific I/O into the VFS. This checkin contains VFS

infrastructure but it is untested and is not yet hooked up to the WAL.

The version number is bumped to 3.7.0 because of the VFS extension.

2010-04-12

[5bf0015c]

part of check-in [409d61ba]

Import experimental write-ahead-logging code.

2010-03-05

[148d2f62]

part of check-in [27413fc8]

Adjustments to #ifdefs so that the #include of is not included

twice, because that confuses the amalgamation builder.

[d4832e89]

part of check-in [0cc981f1]

Adjust some #ifdefs so that the build works on Mac both with and without

SQLITE_ENABLE_LOCKING_STYLE.

2010-03-04

[0cdbfd79]

part of check-in [1a0fa8d1]

Second thoughts: Let Tiger users set SQLITE_ENABLE_LOCKING_STYLE=0. Was:

Change SQLITE_ENABLE_LOCKING_STYLE to default off, even on Macs, since

older Macs (Tiger) cannot compile the latest proxy locking sources.

[28439804]

part of check-in [fc2c63ac]

Suppress harmless compiler warnings.

2010-02-26

[97c2d5dd]

part of check-in [8f29490d]

Avoid incorrect compiler warnings by doing a couple of needless

variable initializations.

2010-02-25

2010-02-23

[79f2b9ae]

part of check-in [edea3bb7]

Continuing improvements to error reporting and the sqlite3_log() routine.

[13b5d1ff]

part of check-in [7c4cca6d]

Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging

output for CORRUPT, and CANTOPEN errors.

2010-02-16

[0af0a55e]

part of check-in [7a193309]

Change a C++ style comment in os_unix.c to use normal C style commenting.

2010-02-05

[85479b27]

part of check-in [f64b81f1]

Make sure file descriptors are closed before unlinking in VxWorks.

2010-01-20

[0b972695]

part of check-in [571594bf]

Move the Apple OS-X VFS changes into the trunk.

2010-01-06

[b0f41dce]

part of check-in [541e2b48]

Update the OS-X branch to include all trunk changes through version 3.6.22.

2010-01-05

[b2451079]

part of check-in [e02f2556]

Fix a case in os_unix.c where two structures that might have uninitialized

padding bytes are compared using memcmp().

2009-12-07

[afabe88b]

part of check-in [ad08794d]

Merge all changes associated with the version 3.6.21 release into the OS-X

branch.

2009-12-04

[fe85acfe]

part of check-in [082b8da0]

In the OSTRACE debugging macros in os_unix.c, identify the VFS currently

in use.

2009-11-09

[6b74fa83]

part of check-in [62f15c0a]

Fix for lock structure sharing with AFP-style locking

2009-11-06

[bdd6ca09]

part of check-in [ddb71cd9]

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.

2009-11-05

[1d06b265]

part of check-in [9552de8f]

Fix an undefined variable on non-Mac builds.

2009-11-03

[cb7a1418]

part of check-in [941a01eb]

Customizations for OSX contributed by Apple.

2009-11-01

[a4b4ea92]

part of check-in [cfa2db0f]

Fix compiler warnings. Better comments on some variables associated with

LIKE/GLOB processing in the query planner.

2009-10-07

[5686c0e4]

part of check-in [56f609da]

Use memcpy() rather than structure assignment so that memcmp() can later

be used for comparison. Ticket [8550ecca70]

2009-09-10

[53692729]

part of check-in [e9d064bd]

Make sure the threadsOverrideEachOthersLocks variable is only referenced by

linux systems on a threadsafe compile.

2009-09-09

[4e5ce609]

part of check-in [ef99eb57]

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.

[0b94e581]

part of check-in [f0c72a53]

Suppress some harmless compiler warnings.

2009-09-03

[52b10971]

part of check-in [2aeab80e]

Add the "unix-wfl" VFS that does whole-file locking in order to help NFS

do better cache coherency.

2009-08-27

[f14ff07a]

part of check-in [609c5341]

Patch to the named semaphore locking mechanism used by VxWorks.

2009-08-25

[96e2e409]

part of check-in [2a5c9e1d]

Fix a bad interaction between "proxy-locking" and aa6acfa8ca.

2009-08-24

2009-08-22

[f151f27d]

part of check-in [aa6acfa8]

Fix a problem in os_unix.c where a malloc failure could lead to a leaked file descriptor.

2009-08-21

[1546de71]

part of check-in [9b4d9ab6]

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 #4018.

[85f6ed28]

part of check-in [11a669b6]

Add assert() statements to os_unix.c to check that the mutex is held when it should be.

2009-08-17

[6895098a]

part of check-in [67ad21ab]

Move error simulation code from the sqlite3_os_init() functions into a wrapper.

[aea2a5c1]

part of check-in [904a371c]

Add tests to check that sqlite recovers from an error in sqlite3_initialize() correctly.

2009-07-03

[cdb2a08b]

part of check-in [304c5110]

Test the result of pthread_create() and do not call pthread_join() if the

thread creation failed. Ticket #3933. (CVS 6839)

2009-06-17

[b64129c2]

part of check-in [59ec937c]

Suppress some -Wextra compiler warnings from GCC. (CVS 6774)

2009-06-15

[f00dbdc0]

part of check-in [1591b832]

Changes to allow a clean compile with no floating-point instructions

generated when SQLITE_OMIT_FLOATING_POINT is used. (CVS 6763)

2009-05-08

[e55d977c]

part of check-in [254ca327]

Fix a warning in the osx-specific part of os_unix.c. Ticket #3847. (CVS 6620)

2009-04-07

[9ad9f450]

part of check-in [efd0682b]

Compile fixes and improvements for vxwork: fixed deadlock in semClose,

detect if fcntl is usable, fall back to named semaphores if not. (CVS 6460)

[e5eef59c]

part of check-in [47aa7eb0]

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)

2009-03-30

[5d667f24]

part of check-in [50fbcdea]

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)

2009-03-28

[b62e660f]

part of check-in [2e7d3cc9]

Previous commit ((6401)) did not quite fix the problem. This should work

better. (CVS 6402)

[344fb50f]

part of check-in [fb35cff8]

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)

2009-03-25

[7bf3ebde]

part of check-in [cbf2ca4c]

Use fdatasync() only on linux, unless -Dfdatasync=fdatasync is set at

compilation time. (CVS 6383)

2009-03-21

[a20fe61c]

part of check-in [a3315627]

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)

[8f6ffa95]

part of check-in [0d6b11bc]

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)

2009-03-01

[52352674]

part of check-in [a2373e54]

Suppress some compiler warnings (where possible). Ticket #3696. (CVS 6331)

2009-02-09

[4e916caf]

part of check-in [93e792ff]

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)

[9f89f98c]

part of check-in [8227af34]

Ignore the return structure of and F_GETLK fcntl() call on djgpp. Fix for #3642. (CVS 6268)

2009-02-03

[f0fce304]

part of check-in [b054b569]

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)

2009-01-16

[c74255cc]

part of check-in [191c399f]

Remove a harmless UMR that occurs inside some debugging code. (CVS 6190)

2009-01-15

[c0ebce13]

part of check-in [fcb6c677]

Avoid using ENOTSUP on systems that do not define that symbol.

Ticket #3512. (CVS 6182)

2009-01-14

[5d176993]

part of check-in [b676ccfd]

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)

2009-01-09

[7825c617]

part of check-in [64c56226]

Coverage improvements in pragma.c. Change the __DARWIN__ macro to __APPLE__,

which is available by default on Leopard. (CVS 6153)

2009-01-08

[a1f05f59]

part of check-in [81014334]

Allow database files to be created in the root directory on unix.

Ticket #3570. (CVS 6141)

2008-12-22

[e6eacc7e]

part of check-in [d9595b96]

Fix a variable type to prevent a warning in the proxy-locking code. (CVS 6051)

2008-12-11

[96b4a6e8]

part of check-in [561d5de1]

Fix the TCL test harness so that it compiles and runs on OSX with

SQLITE_ENABLE_LOCKING_STYLE. (CVS 6017)

2008-12-10

[970e4a98]

part of check-in [c872d554]

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)

2008-12-08

[cec838fe]

part of check-in [73c7302c]

The amalgamation now compiles cleanly on GCC with options

-pedantic-errors -Wno-long-long. (CVS 5991)

2008-12-04

[e625d228]

part of check-in [4697249f]

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)

2008-12-03

[bc3e50bc]

part of check-in [24235300]

Fix a missing forward declaration that is needed when

SQLITE_PREFER_PROXY_LOCKING is defined. (CVS 5972)

[540aebcd]

part of check-in [31f6090e]

Reorganize the proxy-locking method in os_unix.c. Additional cleanup. (CVS 5971)

[199a3f3a]

part of check-in [3efedac6]

Make os_unix compile with SQLITE_ENABLE_PROXY_LOCKING (CVS 5970)

[0c5fa756]

part of check-in [215d36ea]

Continue with the cleanup of os_unix.c. (CVS 5969)

2008-11-29

[a5c0e3fe]

part of check-in [c13df031]

Continuing to refactor os_unix.c. This is an incremental check-in. (CVS 5967)

[9c5269d6]

part of check-in [1017d2fb]

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)

2008-11-28

[26f4b3dd]

part of check-in [7825cd63]

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)

2008-11-25

[add9937a]

part of check-in [622cb597]

Move the definition of function transferOwnership() in os_unix.c to below the static functions it calls. (CVS 5954)

2008-11-21

[d6218ae6]

part of check-in [adb0aafa]

Factor out and simplify the canonical pathname logic in the VxWorks OS

interface. (CVS 5943)

[d3803e7c]

part of check-in [30a0132a]

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)

[28cc4da7]

part of check-in [6f910b70]

Fixes to the proxy locking so that os_unix.c compiles on linux with proxy

locking omitted. (CVS 5935)

[bdb0b664]

part of check-in [b9bc36d3]

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)

2008-11-19

[03c76b52]

part of check-in [d1abe8a1]

Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927)

[975cdd3e]

part of check-in [70b2f683]

Fix a few more compiler warnings. (CVS 5926)

[88cfaa01]

part of check-in [92c91a6c]

In os_unix.c, use "IS_VXWORKS" instead of "defined(__RTP__) || defined(_WRS_KERNEL)". Purely because it's easier on the eyes. (CVS 5925)

[d8555013]

part of check-in [2f5aaad9]

Eliminate some of the "unused parameter" warnings in os_unix.c. (CVS 5923)

[a5f8a41b]

part of check-in [88134322]

Changes to avoid "unused parameter" compiler warnings. (CVS 5921)

2008-11-17

[16b09818]

part of check-in [8009220c]

Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914)

[a25bea30]

part of check-in [f45a1493]

Added support for vxworks >= 6.4; RTP mode tested, kernel mode untested. (CVS 5910)

2008-11-11

[af390f03]

part of check-in [8ecae094]

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)

2008-11-07

[d17f694e]

part of check-in [fb311d6f]

Add documentation to make it clear that short reads from xRead in the VFS

must be zero-filled. (CVS 5867)

2008-10-16

2008-10-15

[85d7e98e]

part of check-in [8ef14164]

Do not open and sync the directory in unixDelete() if the SQLITE_DISABLE_DIRSYNC option is defined. (CVS 5826)

2008-10-14

[48527028]

part of check-in [b7687e2f]

Fix the xRandomness() method on the unix VFS to return the number of bytes

of randomness obtained. (CVS 5821)

2008-09-24

[f33b69d8]

part of check-in [0fb98c35]

Fix some function declarations (change "int foo()" to "int foo(void)"). Ticket #3399. (CVS 5740)

2008-09-23

[ee778087]

part of check-in [bae1d5b1]

Enable the LOCKING_STYLE extensions by default on a Mac. Leave them

disabled on all other posix platforms. (CVS 5737)

2008-09-22

[badd226d]

part of check-in [7bd2da93]

Add instrumentation to os_unix.c to test that a return value of SQLITE_FULL from an xSync() callback is handled correctly. (CVS 5730)

2008-09-15

[8f4def6a]

part of check-in [c32cb106]

Check if error code ENOTSUP is supported before using it. Ticket #3375. (CVS 5697)

2008-09-04

[075c3e47]

part of check-in [85c2a589]

Add support for the SQLITE_THREADSAFE=2 and SQLITE_DEFAULT_MEMSTATUS compilation options. (CVS 5676)

[e99f82f1]

part of check-in [6e8fb646]

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)

2008-08-22

[4665cef7]

part of check-in [f8a70501]

quieting compiler warning about pointer/int conversion size mismatch (CVS 5602)

[f1be9970]

part of check-in [24167082]

Fix os_unix.c so that it will compile on Linux again. (CVS 5588)

[9fddf873]

part of check-in [c1af14e2]

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)

2008-07-30

[fe0dbc35]

part of check-in [a480a884]

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)

[c778a6b7]

part of check-in [db4022db]

In the unix OS implementation, replace inode hash tables with linked lists. (CVS 5503)

2008-07-10

[1df6108e]

part of check-in [636cd723]

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)

2008-06-30

[3d19f049]

part of check-in [ba8819a6]

Fix a malloc() failure related problem in os_unix.c. (CVS 5328)

2008-06-28

[715e702b]

part of check-in [f70d552b]

Rearrange some ENABLE_LOCKING_STYLE related code in os_unix.c. (CVS 5324)

2008-06-26

[8b5116ab]

part of check-in [cdd4cf4c]

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)

2008-06-25

[800138f4]

part of check-in [8fa33b79]

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)

2008-06-18

[b8c07b0c]

part of check-in [5059644c]

Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234)

2008-06-13

[dd4a7b19]

part of check-in [a03c5af1]

Progress toward implementation of sqlite3_config() and a rework of the

mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218)

2008-06-06

[47936aee]

part of check-in [b8f1da52]

Add the xGetLastError() member function to the sqlite3_vfs structure. It is neither called nor implemented at this point. (CVS 5192)

[067a4d5a]

part of check-in [5173b3e8]

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)

2008-06-05

[bea384cc]

part of check-in [4226ac54]

Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188)

2008-05-29

[a6b02934]

part of check-in [9883b406]

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)

2008-05-16

[06dceb32]

part of check-in [81a8c70e]

Add more version tags to files that lack them. Ticket #3120. (CVS 5137)

2008-05-05

[a810e2ae]

part of check-in [bdd89cd2]

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)

2008-04-30

[8cf512c4]

part of check-in [fc0ca647]

Fix test for buffer overrun in unixGettempname(). Fix for #3091. (CVS 5069)

2008-03-19

[fdec4e5e]

part of check-in [15110ea0]

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)

2008-03-07

[4cdd17e7]

part of check-in [22bd537e]

Another fix to the OsUnlock I/O error logic. (CVS 4839)

[04ff58d8]

part of check-in [b4c1258e]

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)

[bf339cd6]

part of check-in [40f55c09]

Cleanup the locking-style code in os_unix.c. (CVS 4837)

[b21695b8]

part of check-in [6ebce3b7]

Updates to the locking-style code in os_unix.c. Not yet working. (CVS 4834)

2008-01-16

[e4daef76]

part of check-in [5807921f]

Get all tests running without memory leaks. (CVS 4714)

2007-12-13

[4e67737f]

part of check-in [4e91a267]

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)

2007-12-06

[10641ed9]

part of check-in [f015a387]

Use the specified buffer length, not the maximum buffer length in

unixFullPathname() and related functions. (CVS 4595)

2007-10-30

[db675545]

part of check-in [c249d5da]

Avoid leaking a file descriptor after a malloc failure on unix. (CVS 4518)

2007-10-23

[e556e86a]

part of check-in [d7ed7cd0]

Add comments to the code warning that _XOPEN_SOURCE might need to be

defined manually if using USE_PREAD or USE_PREAD64. (CVS 4509)

2007-09-20

[308bd8ad]

part of check-in [27fe1288]

Fixes for uninitialized variables. Tickets #2658 and #2659. (CVS 4437)

[89283ae6]

part of check-in [91831ff2]

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)

2007-09-17

[8d4f5e95]

part of check-in [8b29f5fb]

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)

[2c6a5507]

part of check-in [ad3687b1]

Change the names of xGetTempName and sqlite3OsGetTempName to xGetTempname. To be consistent with xFullPathname and sqlite3OsFullPathname. (CVS 4432)

2007-09-05

[522486e2]

part of check-in [1786e9c8]

Remove the unixFile.isOpen variable (no longer in use). (CVS 4401)

2007-09-03

[99bf97b3]

part of check-in [ed15db46]

Unix OS interface returns SQLITE_CANTOPEN following a getcwd() failure. (CVS 4384)

[75521336]

part of check-in [020a2b10]

Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some

test cases added but more are needed. Ticket #2616. (CVS 4376)

2007-09-01

[3b1b9c6d]

part of check-in [fb27692a]

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)

[90437051]

part of check-in [5f48fb95]

Fix for registration of non-default vfs objects. (CVS 4360)

2007-08-31

[4d36cd03]

part of check-in [306586c4]

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)

[5c8fd11f]

part of check-in [d3ab3e39]

Initial implementation of the sqlite3_file_control() interface.

Compiles and passes all historical tests but the new method is itself

untested. (CVS 4353)

2007-08-30

[84dcfc01]

part of check-in [e3054650]

Prevent sqlite from opening directories as databases under unix. Fix for test cae in misc7.test. (CVS 4342)

[0f3997dc]

part of check-in [5a22d869]

Remove the SYNC_BARRIER flag. (CVS 4337)

2007-08-27

[89bf24aa]

part of check-in [dc80b2e1]

Work around problem with forward declarations of constants in MSVC

in the amalgamation. Ticket #2574. (CVS 4304)

[7a340c71]

part of check-in [0791f917]

Added the 34to35.html document describing the changes between 3.4.2 and

3.5.0. Minor interface cleanups. (CVS 4302)

2007-08-24

[27b1fad5]

part of check-in [b8451da3]

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)

[c45b20f8]

part of check-in [3a68fcdd]

The win32 driver compiles but does not yet work well. Many bugs

fixed. (CVS 4282)

2007-08-23

[3ff776e0]

part of check-in [21f6b310]

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)

2007-08-22

[3e1ce27a]

part of check-in [db818430]

The malloc.test script now passes all tests with no errors. (CVS 4271)

2007-08-21

[7aad42b1]

part of check-in [6225cd46]

Remove the obsolete static mutexes. Use only the lastest static mutex code. (CVS 4259)

[55e4d3c4]

part of check-in [fbbd5bda]

Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255)

2007-08-20

[41a737d1]

part of check-in [1315bd8e]

Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253)

[10fb60a8]

part of check-in [91779041]

Call sqlite3OsSleep() with an argument in microseconds, not milliseconds. (CVS 4248)

[7ff8ad09]

part of check-in [40f66ada]

Changes to crash-test io backend (test6.c) so that it works with the sqlite3_vfs interface. (CVS 4247)

[dc726e5f]

part of check-in [41f2175b]

Update the locking-style code in os_unix.c. The updates are as yet untested. (CVS 4244)

[bf192a86]

part of check-in [cb24cda1]

Fix full_fsync() related functionality broken as part of the migration to sqlite3_vfs. (CVS 4243)

2007-08-18

[07c91dfd]

part of check-in [a258c4ec]

Further progress on migration to sqlite3_vfs. (CVS 4242)

2007-08-17

[4b27202b]

part of check-in [08a0f480]

Remove some old OsFile and IoMethod related code. Add the sqlite3OsLockState function. (CVS 4241)

[bf86c474]

part of check-in [af3e3c7a]

Begin migration to using sqlite3_vfs interface. (CVS 4240)

2007-08-16

[e685354a]

part of check-in [3d60c14a]

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)

[7c7dcb7d]

part of check-in [77b16713]

More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)

[67601899]

part of check-in [deb7ecd6]

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)

2007-08-15

[05ad65c3]

part of check-in [af9503da]

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)

2007-08-07

[9d2a421a]

part of check-in [7550dd1d]

Remove all tabs from source code files. Ticket #2556. (CVS 4198)

2007-06-29

[4099d05d]

part of check-in [f1e5fed8]

Set FD_CLOEXEC on all open files under Unix. Ticket #2475. (CVS 4146)

2007-06-19

[113ae355]

part of check-in [0b20a696]

Cast the 2nd parameter of ftruncate to off_t to work around bugs in

some unix implementations. Ticket #2425. (CVS 4089)

2007-06-08

[f2ccf2e9]

part of check-in [8f5b789f]

Use C-sylte comments exclusively, never C++ comments. Ticket #2406. (CVS 4052)

2007-05-04

[cb1fb044]

part of check-in [ba4845b3]

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)

2007-04-06

[426b4c03]

part of check-in [26b2e1ae]

Additional coverage testing. (CVS 3823)

2007-04-02

[13c6f73a]

part of check-in [96b67881]

Do not use the second parameter to gettimeofday() on unix. Pass it a NULL. (CVS 3804)

2007-04-01

[ccb003fb]

part of check-in [18aec1dd]

Fix some warnings about unused and uninitialized variables. (CVS 3788)

[5e3cbef7]

part of check-in [ddfc3b2d]

Make unix builds threadsafe by default. (CVS 3787)

2007-03-30

[4291be23]

part of check-in [23653f7a]

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)

2007-03-29

[fe0c0175]

part of check-in [8d0073c0]

Assume any return code from fcntl() other than -1 is success. Formerly we

only assumed that 0 was success. Ticket #2173. (CVS 3754)

[5f7ee6c9]

part of check-in [0fb9af1d]

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)

2007-03-27

[0d91b28d]

part of check-in [b24a6e7b]

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)

2007-03-26

[1f32d154]

part of check-in [0b832e21]

Modify sources to that they can be combined into a single sqlite3.c source

file. Eliminate all type-pruned pointer warnings. (CVS 3722)

2007-03-23

[4642f23e]

part of check-in [0fd9983a]

Add a comment to the OsSectorSize() function. (CVS 3710)

2007-03-22

[f6c26166]

part of check-in [177cd929]

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)

2007-03-19

[33ee7c14]

part of check-in [5752d84d]

Add new OS file method to return the sector-size of the underlying storage: sqlite3OsSectorSize() (CVS 3700)

2007-03-15

[a3b26ad8]

part of check-in [5af61402]

Enhanced temp-file security under unix. There are no known attacks against

prior versions - this check-in is just an added precaution. (CVS 3687)

2007-02-27

[abdb0f7b]

part of check-in [3ad96dbe]

Improvements to OS layer tracing on the unix backend. (CVS 3664)

2007-02-06

[2f7f7dbb]

part of check-in [e4408dd1]

Check the return value of lseek() in os_unix.c to make sure it really worked. (CVS 3628)

2007-01-31

[09d42237]

part of check-in [f044c5f4]

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)

2007-01-03

[9fbbd8ab]

part of check-in [a593d574]

Additional changes in the pager and os interface layers to fix problems that

might be contributing to recently observed database corruption. (CVS 3549)

2006-12-21

[d4bc8cbe]

part of check-in [a1bcc6de]

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)

2006-11-11

[d3b6b66b]

part of check-in [b9dd16ef]

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)

2006-11-06

[f9a46b57]

part of check-in [6324ea81]

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)

2006-10-11

[523b674d]

part of check-in [aa0b96c3]

Bug fix: named local variable lockStyle as lockingStyle in SQLITE_ENABLE_LOCKING_STYLE block in allocateUnixFile (CVS 3473)

2006-10-03

[a4fa8871]

part of check-in [f4103dea]

Add the OS-X locking style patches to os_unix.c. Disabled by default. (CVS 3459)

2006-09-15

[3ed7fd16]

part of check-in [ba579ddc]

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)

2006-09-14

[4a99fca1]

part of check-in [86931854]

Enhanced I/O error simulation. (CVS 3418)

2006-04-19

[17d91581]

part of check-in [4f195aa1]

Remove a superfluous call to access() in the unix driver. Error spotted

by Coverity. (CVS 3175)

2006-03-23

[35ad4d81]

part of check-in [5a24f619]

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)

2006-02-14

[757a7b72]

part of check-in [f4150c29]

Changes so that test_async.c works with memory management turned on. (CVS 3093)

2006-02-13

[365edd49]

part of check-in [111a426b]

Disable the /./ and /../ collapser logic in sqlite3OsFullPathname under Unix. (CVS 3092)

[7604ea2b]

part of check-in [42379c62]

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)

2006-02-11

[378a89aa]

part of check-in [c0e987bc]

Fix typo in os_unix.c. (CVS 3082)

[88f3f422]

part of check-in [f2069d0b]

Add support and documentation for the fullfsync pragma. Also include

some other unrelated documentation updates. (CVS 3080)

2006-02-10

[bd42a513]

part of check-in [4b6f5688]

More comments on the unix locking code. Ticket #1672. (CVS 3075)

[50e51ba8]

part of check-in [a6c30be2]

Fix deadlock problem in the unix mutex. Ticket #1672. (CVS 3071)

2006-02-09

[dfd3b03a]

part of check-in [d54d3b82]

Ignore errors when when calling fsync() on a directory. Ticket #1657. (CVS 3068)

2006-01-31

[9de18877]

part of check-in [e83a19e8]

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)

2006-01-27

[73c5e722]

part of check-in [2e23231f]

Fix a couple of (harmless) intel compiler warnings. (CVS 3034)

2006-01-23

[b25eca66]

part of check-in [892e644d]

Fix uninitialized variable in os_unix.c. (CVS 3006)

2006-01-20

[38a55e51]

part of check-in [507653a9]

More compiler warnings fixed - or in some cases comments are added to explain

that the compiler is wrong. (CVS 2984)

2006-01-18

[a242a945]

part of check-in [c7b9d50d]

Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974)

[9d44bcfb]

part of check-in [e1ad9df1]

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)

[51fa18a2]

part of check-in [ac090f2a]

Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972)

[fb7ae89d]

part of check-in [e0b022e5]

Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970)

[7c085f80]

part of check-in [8830bbba]

Convert the unix driver to use a recusive mutex. Similar changes to the

windows driver are pending. (CVS 2968)

2006-01-17

[5f1ce55c]

part of check-in [9e2e4084]

Arrange for ThreadData to be automatically deallocated even if SQLITE_MEMDEBUG is defined. Fix for #1623. (CVS 2965)

2006-01-15

[7daa1720]

part of check-in [2170e803]

Clean up comments in os_unix.c. (CVS 2950)

[7457d51c]

part of check-in [ad8f12ca]

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)

[a1245b11]

part of check-in [f68e05cb]

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)

[e6ff5035]

part of check-in [03c422ec]

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)

2006-01-12

[bc35a237]

part of check-in [a8c74feb]

Improve performance by about 10% by avoiding excess calls to get

the thread-specific data. (CVS 2921)

2006-01-11

[d3ec9c61]

part of check-in [fb518b0c]

Testing of the automatic TSD deallocation logic. The sqlite3_thread_cleanup()

API is documented. This should close ticket #1601. (CVS 2920)

[557a21c5]

part of check-in [5d9c6aa9]

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)

2006-01-09

[8943febb]

part of check-in [ec332d88]

Added database server example code (untested). Fixed serveral bugs including

the autovacuum compile problem described by ticket #1593. (CVS 2897)

[c5d1a3fe]

part of check-in [82b81f69]

Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893)

2006-01-07

[ba70f762]

part of check-in [77ac231c]

Drop the mutex if the TSD key allocation fails. Ticket #1585. (CVS 2880)

2006-01-06

[05223f84]

part of check-in [9d71b7de]

Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878)

[1ade7cd8]

part of check-in [373b56f0]

Fix an alignment problem in the sqlite3OsRandomSeed(). Ticket #1584. (CVS 2872)

[d220bf37]

part of check-in [2529c2e1]

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)

[d99158f7]

part of check-in [3aa8befe]

Windows implementation of the thread-specific data interface. (CVS 2864)

2006-01-05

[d52d87a0]

part of check-in [6fdbb8b7]

Disable automatic invocation of sqlite3_release_memory() when a malloc() fails

in those cases where the global mutex is held. (CVS 2860)

2006-01-02

[e4fbf137]

part of check-in [a582b159]

Add the xInMutex method to the os-layer switch for testing whether or not

mutexes are used correctly. (CVS 2851)

2005-12-15

[6394d2fa]

part of check-in [81a41f66]

Move malloc(), free(), realloc() and allocationSize() into the Os vtbl. (CVS 2819)

[df6e4972]

part of check-in [c1ed79f5]

Add the sqlite3_os_routine_set()/get() functions. (CVS 2818)

2005-12-09

[f11eba69]

part of check-in [83a59151]

Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810)

[01648f7f]

part of check-in [601c3354]

Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808)

2005-12-06

[76189e4c]

part of check-in [e1606658]

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)

2005-11-30

[1a7278bf]

part of check-in [bd8740d1]

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)

2005-11-29

[471d3642]

part of check-in [fa1d7ecf]

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)

[02b6a1c7]

part of check-in [058f3175]

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)

2005-11-26

[09f17497]

part of check-in [57a674fc]

Add an OS method for making copies of file descriptors. This fixes the

crash tests. (CVS 2786)

[57f47fd9]

part of check-in [1f69aec2]

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)

2005-11-25

[1c51efc1]

part of check-in [f1298bb1]

Add the compilation option SQLITE_DISABLE_DIRSYNC (CVS 2782)

[4847182d]

part of check-in [f882a516]

If SQLITE_DISABLE_LFS is defined, omit the bigfile tests. (CVS 2781)

[0a75314c]

part of check-in [84aae3b0]

Check the return code of full_fsync() when used to sync a directory fd. (CVS 2780)

2005-11-24

[6878d8ae]

part of check-in [84aa4d58]

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)

2005-10-20

[2af2d2ce]

part of check-in [e261b8b0]

Changes to prevent various compiler warnings. (CVS 2750)

2005-10-05

[23d6c04d]

part of check-in [115340d4]

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)

2005-09-22

[407dd078]

part of check-in [a9b341dc]

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)

2005-09-09

[c86cf43b]

part of check-in [461e3a0a]

Defend against disk I/O errors that happen during an sqlite3OsSeek(). (CVS 2679)

2005-09-08

[4838fab4]

part of check-in [3c555a87]

While doing a transaction comment, use fdatasync() instead of fsync() in

cases there the file size is unchanged. (CVS 2673)

2005-09-06

[cbdac6b2]

part of check-in [b86bd70f]

Changes to reduce the amount of stack space required. (CVS 2661)

2005-08-29

[b4c45925]

part of check-in [ed2ca087]

Increase resolution of time-of-day on unix. Add an experimental

sqlite3_profile() API. (CVS 2639)

2005-08-21

[7fae44e2]

part of check-in [545e702a]

Clean up possible locking problem in multithreaded applications that take

a malloc failure. (CVS 2611)

2005-08-13

[535cd82c]

part of check-in [7961ec0c]

Give the same access permissions to journal files as is given to databases. (CVS 2590)

2005-06-15

[be8f327f]

part of check-in [006dda31]

Changes to the unix OS layer aimed at finding and fixing tickets

#1272 and #1285. (CVS 2517)

2005-06-07

[45540d7e]

part of check-in [62a7353d]

Changes to support linking without a parser and without a disk I/O interface. (CVS 2504)

2005-06-06

[443ca9d1]

part of check-in [c1691004]

Handle failures of getcwd() without segfaulting. Ticket #1274. (CVS 2490)

2005-05-17

[cb8a3990]

part of check-in [bfa55bec]

Provide a compile-time parameter to set the default file creation permissions

under Unix. Ticket #1247. (CVS 2461)

2005-03-18

[fba01675]

part of check-in [f2f31919]

Remove unused code from util.c. Enhance the trace output in os_unix.c. (CVS 2397)

2005-03-11

[d4823c6b]

part of check-in [3c57a457]

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)

2005-03-10

[4fe368b6]

part of check-in [58b8733b]

Disable F_FULLSYNC if the sychronous pragma is not set to FULL. (CVS 2372)

2005-02-03

[68d3d329]

part of check-in [4b399ae7]

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)

2005-01-21

[1f17ceff]

part of check-in [aab8e7f8]

Initialize the random number generator from /dev/urandom, if available. (CVS 2258)

2005-01-19

[77319e31]

part of check-in [d8b2a7e0]

Continued refactoring of the name resolution logic and query optimizer. (CVS 2236)

2005-01-08

[08340c86]

part of check-in [0a90eaf3]

Fixes to the temp_store_directory pragma. (CVS 2185)

2004-12-20

[f3835451]

part of check-in [772e22cb]

Add PRAGMA 'temp_store_directory'. Added os_*.c function

sqlite3OsIsDirWritable(), split pragma.c changeTempStorage() function into

invalidateTempStorage(). (CVS 2171)

2004-10-06

[5824b22b]

part of check-in [d790c84c]

Convert many constants to have type "const". (CVS 2006)

2004-10-02

[5c1f3628]

part of check-in [c4697503]

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)

2004-10-01

[ca7891d1]

part of check-in [44e56f0b]

Additional code to test the SQLITE_FULL return when the disk is full. (CVS 1994)

[8ee13cc8]

part of check-in [11a37a74]

Fully release exclusive locks in the Unlock primitive of Unix.

Ticket #913. (CVS 1993)

[6a02c1bc]

part of check-in [8972c004]

Use type i64 instead of off_t for file offsets since off_t is giving

portability problems. Ticket #924. (CVS 1992)

2004-08-29

[a5625eed]

part of check-in [431f7436]

Change the name of the global variable to sqlite3_temp_directory to

avoid a naming conflict with version 2.8. (CVS 1918)

2004-08-14

[3239a45d]

part of check-in [fce56ba6]

Add the ability to specify a alternative temporary file directory using the

"sqlite_temp_directory" global variable. (CVS 1885)

2004-08-04

[d084e344]

part of check-in [add266cc]

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)

2004-07-20

[02a08065]

part of check-in [3c5aa850]

Lemon collapses common destructors and reduce actions into a single case. (CVS 1837)

[ee607890]

part of check-in [4d77037b]

Report an error when attempting to open a directory as a database.

Ticket #687. (CVS 1832)

2004-07-19

[4d5cb2f9]

part of check-in [511ee639]

The OsFile under Unix records a pointer back to the pager. This is intended

to be used for an externalized locking patch. (CVS 1821)

2004-07-17

[7dca8d07]

part of check-in [1d30d0dd]

Use the F_FULLFSYNC fctrl if it is available. Record the name of files

that are opened in the OsFile structure. (CVS 1799)

2004-06-29

[7df6ae05]

part of check-in [20db8124]

Comment out unused routine in os_unix.c. (CVS 1759)

[8acbb719]

part of check-in [ffd3312b]

Bug-fixes to get the two threadtest C programs working again. (CVS 1756)

[2d787fd9]

part of check-in [a8417cb8]

Try to get threads working again on Linux. (CVS 1755)

2004-06-28

[295d0d4f]

part of check-in [b0fcc99d]

Add a simple test case for inter-process locking. (CVS 1752)

2004-06-25

[bd62e20d]

part of check-in [b68b4a42]

A few more comment changes. No code alterations. (CVS 1689)

[63608cd3]

part of check-in [084f3fff]

Add a comment on the implementation of sqlite3OsLock(). No code changes. (CVS 1688)

2004-06-22

[39e73ed0]

part of check-in [d16b8638]

Add os_test.c. Not activated yet. (CVS 1655)

2004-06-21

[3d3553d7]

part of check-in [afc398c2]

Fix an uninitialized variable. The variable was harmless, but pedantic

error checking in MSVC raised an exception on it. (CVS 1651)

2004-06-18

[47176c8e]

part of check-in [2590fffc]

Changes to allow libsqlite3.a and libsqlite.a to be both linked into the

same program at the same time. (CVS 1621)

[add5af1c]

part of check-in [960f55f3]

Fix a couple of gcc warnings. (CVS 1615)

2004-06-17

[132864ff]

part of check-in [9fb29f73]

Documentation updates in preparation for the release of version 3.0.0. (CVS 1613)

2004-06-15

[8832c78d]

part of check-in [e21a1813]

Minor bugfixes and test case adjustments for version 2 test cases to work

with version 3. (CVS 1598)

[7eac2e84]

part of check-in [186c6f93]

Add the sqlite3OsFileModTime() interface. But it is still unused. The

change counter in page 1 is always incremented. (CVS 1594)

2004-06-14

[558006f8]

part of check-in [cb3cbe00]

Ensure master journal file is deleted when a transaction is committed. (CVS 1586)

2004-06-12

[7ece785e]

part of check-in [dcad244f]

Bug fix in the unix locking code. (CVS 1574)

2004-06-09

[1d6f3d1a]

part of check-in [dc076345]

Fixes to the file locking. 109 tests are now failing. (CVS 1548)

2004-06-08

[3747274f]

part of check-in [4dfdea73]

Do not require a RESERVED lock when transitioning from SHARED to EXCLUSIVE. (CVS 1542)

2004-06-07

[f78604d0]

part of check-in [0c2d169c]

More work on windows locking. Fix some problems with unix locking. There

is still an assertion failure on windows locking in attach2.test. (CVS 1539)

2004-06-04

[a4feb70b]

part of check-in [d2f69e5e]

Defer the exclusive db lock until the pager cache is flushed to disk. 41

tests now fail. (CVS 1528)

2004-06-03

[3175540f]

part of check-in [d57e5252]

Untested updates to support atomic multi-file transactions (CVS 1526)

2004-06-02

[36682ee5]

part of check-in [51348b82]

Fix a segfault in sqlite3OsLock() (CVS 1525)

2004-06-01

[3dc2868d]

part of check-in [023d1760]

Unix version of sqlite3OsLock(). (CVS 1520)

2004-05-22

[585665ec]

part of check-in [18e690e4]

Remove the OP_SetInsert opcode. (CVS 1443)

Added:

[e93a6858]

part of check-in [5c61be1c]

Split up os.c into separate files, one for each platform. (CVS 1441)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值