signature=c93c2cbc086693906404c7f084138747,SQLite: All files named "src/os_win.c"

2020-10-15

[77d39873]

part of check-in [05b573fd]

The windows VFS accepts query parameter "exclusive=true" to cause it to

take a mandatory file lock, preventing other applications from even

reading the file.

2020-07-29

[a77f66ab]

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

[a2149ff0]

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-19

[81890779]

part of check-in [7a876209]

Extend the refactoring into extensions. Clean up stray newlines.

[92f7ed3d]

part of check-in [7bb08b1b]

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

2020-05-19

[e832e21e]

part of check-in [cb0a18e6]

In os_win.c, avoid calling sqlite3_uri_boolean() on anything other than a main-db filename.

[55e4197a]

part of check-in [87ecd1ec]

In os_win.c, avoid calling sqlite3_uri_boolean() on other than a main-db file-name.

2020-05-15

[317718e8]

part of check-in [0119d96d]

Enhancements to long-path support in the Win32 VFS.

2019-12-19

[7736ab8e]

part of check-in [ed66ffce]

Minor enhancement to Win32 locking semantics.

2019-11-18

[87a38901]

part of check-in [175c1500]

Add support for the SQLITE_ACCESS_SYMLINK flag in the Win32 VFS.

[48513ab1]

part of check-in [cb79c828]

Add support for SQLITE_OPEN_NOFOLLOW.

2019-09-16

[b393ae23]

part of check-in [a95191de]

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

2019-07-16

[035a813c]

part of check-in [22a7c15b]

Add assert()s in os_win.c in an effort to silence false-positives from

static analyzers.

2019-02-08

[1dcd863d]

part of check-in [df66fec9]

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

barrier is available.

2018-11-26

[340cb590]

part of check-in [e8c20a88]

Merge recent enhancements from trunk.

2018-11-24

[85d9e532]

part of check-in [ffce4aac]

Make the winTruncate() method of the windows VFS be a no-op if there are

outstanding references to the memory-mapped pages. Otherwise, memory might

be deleted out from under those references when the file is remapped during

the truncate operation.

[fd94dd9c]

part of check-in [0e7aa622]

Remove the unused mmapSizeActual field from the Windows sqlite3_file

implementation.

2018-11-23

[30ab9c91]

part of check-in [8576ccb4]

Make the winTruncate() method of the windows VFS be a no-op if there are

outstanding references to the memory-mapped pages. Otherwise, memory might

be deleted out from under those references when the file is remapped during

the truncate operation.

2018-10-09

[2fcddc80]

part of check-in [ddf6a54e]

Merge changes for the 3.25.0 release.

2018-07-22

[070cdbb4]

part of check-in [21510a66]

In the Win32 VFS, when truncating a file, unmap it first.

2018-05-04

[9f0d1f91]

part of check-in [e17bca2c]

Merge recent enhancements from trunk.

2018-05-02

[ac29c25c]

part of check-in [22089ea2]

Add sqlite3_win32_set_directory8() and sqlite3_win32_set_directory16() functions.

2018-04-27

[a8f39484]

part of check-in [cbce7180]

Document and expose sqlite3_win32_set_directory() function for use on Win32.

2018-03-14

[606bb196]

part of check-in [a658f80c]

Merge the latest enhancements from trunk.

2018-02-05

[eb03c6d5]

part of check-in [36c2e67e]

Adjust the previous check-in, which modified the Win32 VFS, so that it works with SQLITE_OMIT_WAL.

[ca6b6a55]

part of check-in [535ed0ac]

Allocation the mutex used by the Win32 VFS only once at initialization, instead of every time it is needed.

2018-01-22

[51206d5f]

part of check-in [27e20d69]

Merge all version-3.22.0 changes.

2018-01-17

[501dde1e]

part of check-in [3e04999d]

Simplifications to winOpenSharedMemory in the Win32 VFS.

[196b2b38]

part of check-in [56819222]

Corrections to error code handling in os_win.c, pursuant to walfault.test.

2018-01-15

[167aa9bf]

part of check-in [c9d2ec51]

Merge the enhancements associated with the first 3.22.0 beta.

2017-12-13

[0a4afa35]

part of check-in [9cede8a8]

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

2017-11-14

[f626b26c]

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.

2017-11-09

[7f361204]

part of check-in [5a384be6]

Avoid superfluous SHM unlock call in the Win32 VFS.

[b40d4f98]

part of check-in [d0997b0f]

Revise and vastly simplify the Win32 SHM file locking semantics, allowing all new tests to pass.

[f55a1ae6]

part of check-in [43c31170]

Further corrections to read-only SHM file handling on Win32.

[ce0b1da0]

part of check-in [0b26a5a2]

Corrections to the Win32 porting changes on this branch.

[47687775]

part of check-in [3738bfd0]

Initial work on porting the changes on this branch to Win32.

2017-10-24

[1473a2ca]

part of check-in [13be3a44]

Merge all enhancements and fixes from the 3.21.0 release.

2017-09-22

[6892c3ff]

part of check-in [2c03d8b8]

Use the updated Win32 VFS semantics for winOpen from check-in [5d03c738e9] for WinRT, et al, as well.

2017-09-21

[5c802f05]

part of check-in [5d03c738]

In the Windows VFS, when trying to open a database file read/write, if it

fails check to see if the file exists and is read-only and immediately fall

back to a read-only open attempt, rather than running the AV retry loop.

[4c05a058]

part of check-in [fa3f5bcc]

In the Windows VFS, do not emit an SQLITE_CANTOPEN error log message when

falling back from SQLITE_OPEN_READWRITE to SQLITE_OPEN_READONLY. Wait until

the open fails completely.

2017-09-12

[225432ab]

part of check-in [3a2793aa]

Remove use of the rand_s() function (added by [139081bef9f63c3e]) as it appears to cause issues with some third-party DLLs.

2017-09-09

2017-08-07

[964165b6]

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.

2017-03-06

[85b19486]

part of check-in [1650c3f4]

Merge all pending 3.18 enhancements from trunk.

2017-02-20

[2a6c73ee]

part of check-in [1589db01]

Correct a harmless typo in the previous check-in.

[c97c79fe]

part of check-in [96b6a98e]

Avoid unsigned integer overflows for SQLITE_WIN32_HEAP_INIT_SIZE when the Win32 heap subsystem is used with very large values of SQLITE_DEFAULT_CACHE_SIZE and/or SQLITE_DEFAULT_PAGE_SIZE.

2017-01-23

[a55b09ae]

part of check-in [64131724]

Experimental changes to permit a VFS to directly override the initial page size.

2017-01-18

[54fd6ea6]

part of check-in [47beb55c]

For Windows 8.x and higher, require the SQLITE_WIN32_WIN8_SECTOR_SIZE compile-time option in order to enable sector size determination.

[2f6dd3ee]

part of check-in [8d429a59]

Minimize the requested permissions when opening the volume on Windows 7 and Vista.

[05f014e9]

part of check-in [cb9d1ab3]

Add runtime version checking for winSectorSize.

[3f683f19]

part of check-in [de699ead]

When determining sector sizes on Windows 7 and Vista, make sure the target file is on the same volume as corresponding root directory.

2017-01-12

[9fbb3876]

part of check-in [6e388423]

Attempt to detect physical sector sizes on Windows Vista and higher.

2017-01-11

[036b12e5]

part of check-in [381fd34b]

Attempt to detect physical sector sizes on Windows 8 and higher.

2016-11-04

[4224bff1]

part of check-in [0e5ffd91]

Merge recent trunk changes, including all the fixes that appeared in

version 3.15.1.

2016-10-14

[cf90abd4]

part of check-in [16039be3]

Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control.

2016-07-25

[8ba3403e]

part of check-in [e98cefb1]

Merge 3.14 alpha changes from trunk.

2016-07-09

[520f2347]

part of check-in [5471aca0]

Fix various internal #defines to conform to new C-language naming restrictions,

specifically that private-use macros names must not begin with "_".

2016-07-08

[716af571]

part of check-in [549abe3f]

Initial work on a Win32 VFS with NOP locking.

2016-06-15

2016-06-06

[d4b8faf8]

part of check-in [e404ad70]

In winFullPathname, translate '/X:' to 'X:' before doing anything else.

[59ccd6a2]

part of check-in [f8470ffc]

Translate filenames of the form "/c:/*" into just "c:/*" on WinRT and Cygwin.

(SQLite has long done this for Win32/WinNT.)

2016-05-03

[75edd38c]

part of check-in [b6ddabe1]

Add the experimental SQLITE_FCNTL_WIN32_GET_HANDLE file control.

2016-04-29

[b717a28c]

part of check-in [81b76901]

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

enhancements.

2016-04-26

[852fc2ff]

part of check-in [12418b10]

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

SQLITE_CONFIG_SINGLETHREAD is set.

2016-04-21

[8aeedf6a]

part of check-in [a15c49ae]

Merge all recent enhancements from trunk.

2016-04-20

[1997a873]

part of check-in [38a4e9d9]

Fix a locking race condition in Windows 10 that can occur when two or more

processes attempt to recover the same hot journal at the same time.

2016-04-12

2016-04-11

2016-04-05

2016-04-04

[b3ba9573]

part of check-in [02ccb444]

More refactoring and cleanup work on the Win32 string conversion and utility routines.

2016-04-03

[01ae5894]

part of check-in [345860c9]

Revise and enhance the Win32 string conversion routines.

2016-03-29

2016-03-25

[ff870d89]

part of check-in [183350fa]

In the Win32 VFS, avoid trying to use rand_s() on Windows CE.

2016-03-24

[7c071f7f]

part of check-in [e0737f52]

Prevent negative values of SQLITE_DEFAULT_CACHE_SIZE from making SQLITE_WIN32_HEAP_INIT_SIZE negative.

2016-03-22

[17493f12]

part of check-in [142cd359]

Fix harmless compiler warning for MSVC.

2016-03-21

[745cbd3e]

part of check-in [063f1b37]

Merge the sqlite3_system_errno() change from trunk.

2016-03-17

[551d973a]

part of check-in [1602f6b5]

Change the xGetLastError() method on the windows VFS so that it continues to

format an error message (if requested) but returns the system error code,

rather than an SQLite status code.

2016-03-16

[57a720eb]

part of check-in [161d91e4]

Merge the SQLITE_OMIT_CODEC_FROM_TCL compile-time option from trunk.

2016-03-15

[cbf8c442]

part of check-in [9463762c]

In the Win32 VFS, use SQLITE_FCNTL_LAST_ERRNO instead of (the older) SQLITE_LAST_ERRNO.

2016-02-18

[390534ca]

part of check-in [b7fa0fb3]

Merge recent performance enhancements and the enhanced API_ARMOR from trunk.

2016-02-15

[f0d7aa60]

part of check-in [1640f814]

Readability improvements for winRandomness.

[d085a0b0]

part of check-in [287f508d]

Revise compiler checks for the rand_s() function.

[382fd1b5]

part of check-in [139081be]

On windows systems when rand_s() is available, use it to obtain additional

seed material in winRandomness().

[ae1f287a]

part of check-in [fea3705e]

Improved entropy gathering for the implementation of winRandomness().

2016-02-13

[6cce4c3a]

part of check-in [6a9c4a3e]

Enhance ability to debug out-of-memory errors.

2016-02-02

[dc10ba37]

part of check-in [e6a4a163]

Merge recent enhancements from trunk.

2016-01-27

[ccf29ddd]

part of check-in [4bf89891]

Support building for Windows 10 desktop using 'MinCore.lib'.

2016-01-23

2015-12-02

[d5f32f01]

part of check-in [e1fb33c7]

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

2015-11-21

[386fba30]

part of check-in [198d191b]

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

2015-11-19

[210580a9]

part of check-in [2c9e5436]

Merge the latest enhancements from trunk.

2015-11-17

[2d77dab5]

part of check-in [4f521b5b]

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

2015-09-24

[1666013b]

part of check-in [4dd06d8b]

Merge recent trunk enhancements into the apple-osx branch.

[1716291e]

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-08-28

[8a586f1f]

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-07-03

[40b3af7a]

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-05-28

[27cc135e]

part of check-in [a47ff0cd]

Do not attempt to take any write lock on a read-only database on Windows.

2015-05-12

[97f7828a]

part of check-in [b33f1bac]

Fix typo in Win32 VFS code enabled when the SQLITE_WIN32_USE_UUID compile-time option is used.

2015-04-30

[2da99cf0]

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

[59972cd5]

part of check-in [48f553b0]

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

2015-04-16

[c2f0b0b3]

part of check-in [cd154266]

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

2015-04-01

[93f86628]

part of check-in [71b6f507]

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

[eeb317cd]

part of check-in [5c965a71]

The build is still broken. Multiple definitions of sqlite3OSTrace when compiled

using separate source files.

2015-03-31

[03d27be3]

part of check-in [a828e73d]

On windows, flush the mapping view when syncing content to disk.

[87ae49ff]

part of check-in [fa7916b6]

Set the winShm.id member when it is going to be traced.

[6c4752b5]

part of check-in [f79c236f]

Build fixes for OSTRACE enhancements.

[23c2d1fa]

part of check-in [5d533eee]

Change the sqlite3_log() message generated on a retry after delay in os_win

to be an SQLITE_NOTICE instead of SQLITE_IOERR.

2015-03-30

[c93a12ed]

part of check-in [4d42bf5e]

Merge the latest trunk enhancements, and especially the fix for the infinite

loop on a DROP TABLE in a corrupt database, into the apple-osx branch.

2015-03-27

[865ba158]

part of check-in [ab580029]

Enhancements to OSTRACE usage in the Win32 VFS.

2015-03-26

[af359cc1]

part of check-in [df204049]

When syncing a memory mapped file on Windows, flush the mapped view as well.

[f65255fd]

part of check-in [b5da0d93]

Provide source code line numbers for errors in the Windows VFS generated

by the winLogIoerr() routine.

2015-02-06

[1d1ef630]

part of check-in [44711921]

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

2015-01-21

[8223e7db]

part of check-in [26190b3c]

Enhancements to entropy generation for the Win32 VFS.

2015-01-16

2015-01-02

[659d2ea5]

part of check-in [df3cdf9f]

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

2014-12-20

[91d3d08e]

part of check-in [b9330b88]

Support manually disabling overlapped file I/O for Windows sub-platforms other than Windows CE.

2014-12-16

[76068f9d]

part of check-in [2c1d8dda]

Merge latest fixes and enhancements from trunk into apple-osx.

2014-12-10

[ecb04a0d]

part of check-in [eacb3b7b]

Revise mutex handling by the sqlite3_win32_reset_heap() function.

2014-11-18

[1a38ad12]

part of check-in [ccb601f6]

Merge recent trunk enhancements.

2014-11-04

[a9e500dd]

part of check-in [1fc7e2f3]

For the Win32 VFS, allow memory mapped files to work when compiled without WAL support.

2014-10-17

[752a65dc]

part of check-in [aa7bbed1]

Merge the 3.8.7 changes into the apple-osx branch.

2014-10-16

[a019caaa]

part of check-in [1418c006]

Changes to work around Win32 and MSVCRT APIs that are not present on Windows CE 200x.

2014-09-21

[1f331fe6]

part of check-in [3967ebe8]

Merge in all recent changes from trunk.

2014-09-06

[0a4042ef]

part of check-in [e62aab5e]

Fix typos in comments. No code changes.

2014-09-05

2014-09-02

[07c93644]

part of check-in [696dc935]

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

2014-09-01

[2aa8aa77]

part of check-in [be0a0372]

For sqlite3_win32_is_nt(), assume WinRT is NT-based and revise #ifdef ordering to prefer the ANSI version of GetVersionEx, when available.

2014-08-26

[85795ec8]

part of check-in [5c273111]

Merge recent performance enhancements and the CAST operator enhancements

into the apple-osx branch.

2014-08-25

[08ce5616]

part of check-in [dfdc900f]

Merge the recent performance enhancements implemented on trunk into the

threads branch.

2014-08-22

[b979aabc]

part of check-in [9fe0f075]

Revise #ifdef ordering to prefer the ANSI version of GetVersionEx, when available.

2014-08-21

[81700566]

part of check-in [2f59e71f]

For sqlite3_win32_is_nt(), assume WinRT is NT-based.

2014-08-14

[058cefbe]

part of check-in [a608fd1d]

Merge the pre-3.8.6 changes into the threads branch.

[90d3fb97]

part of check-in [08058df3]

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

2014-08-12

[1c936c7b]

part of check-in [67159912]

Fix compilation issue in the Win32 VFS when manually defining SQLITE_WIN32_NO_ANSI.

2014-08-11

[e0260a7b]

part of check-in [fd222176]

Modify GetVersionEx Win32 VFS fix for use with the test suite.

[80e4b93c]

part of check-in [87ef9e2f]

Further clarification and typo fixes for the previous comment change.

[f8affe82]

part of check-in [69714287]

Clarify the comment explaining the meaning of the SQLITE_WIN32_GETVERSIONEX

macro in the Windows VFS.

[d37c3e70]

part of check-in [1a0d466d]

Fix for #ifdef issue with GetVersionEx in the Win32 VFS.

2014-08-06

[3fca1bfd]

part of check-in [ab1a751e]

On the windows VFS, do not try to make InterlockedCompareExchange an

overloadable function, since sometimes it is a macro.

[dddffe56]

part of check-in [7be244ce]

In the Win32 VFS, work around InterlockedCompareExchange() being a macro on some platforms (e.g. x64).

[9a7fda78]

part of check-in [a353a851]

Merge all recent changes from trunk.

[6df6b557]

part of check-in [b2e01080]

Merge 3.8.6 beta changes in from trunk.

2014-08-02

[e5f0fc44]

part of check-in [ba782654]

Remove (newly) incorrect preprocessor check to fix build on WinRT.

2014-07-31

[c67bec43]

part of check-in [1e5489fa]

Optimizations to the OS sub-type checking in the Win32 VFS.

2014-07-30

[c4d89c7e]

part of check-in [5b50a838]

Merge recent trunk changes, and especially the fix for the CREATE UNIQUE INDEX

problem of ticket [9a6daf340df99ba9].

[1414edca]

part of check-in [654c6c65]

Merge all recent trunk changes, and especially the R-Tree IN operator fix

of ticket [d2889096e7bdeac].

2014-07-29

[c29e3a80]

part of check-in [18984c32]

Enhancements and updates to the Win32 mutex subsystem.

2014-06-17

[20a15a88]

part of check-in [d22c8142]

Experimental changes to use GetFileInformationByHandle instead of GetFileSize in the Win32 VFS.

2014-06-05

[5f8c5568]

part of check-in [e4b01676]

Bring the threads branch up-to-date with the 3.8.5 release.

[43b07515]

part of check-in [2dbdfa51]

Merge in the 3.8.5 release changes and the FTS integrity-check fix.

2014-05-30

[8dbf6c11]

part of check-in [ed5a9eb4]

Add tests for the invalid file handle detection logic in the winLock() function.

2014-05-29

[26d49ff4]

part of check-in [b9fad449]

Merge trunk changes into the apple-osx branch.

[cf4f35cd]

part of check-in [416cb091]

Merge changes from the trunk into the threads branch.

2014-05-28

[a5b9ed90]

part of check-in [d43e2e59]

Revise locking retry semantics in Win32 VFS to abort early if the file handle is reported as invalid.

[648f8428]

part of check-in [c405f971]

Revise how OSTRACE reports logically boolean results in the Win32 VFS.

2014-05-19

[fe93fe89]

part of check-in [17349a49]

Changes to help ensure that a multiplication does not overflow when computing

the number of bytes needed for a memory allocation, and cause a malfunction.

No problems existing problems were discovered. However, these changes should

help to ensure that no problems arise in the future.

2014-05-09

[b8c28aba]

part of check-in [9ac8f1e7]

Merge the latest trunk changes into the threads branch.

2014-05-08

[31f80c90]

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.

[c9a60c0c]

part of check-in [37e60d21]

Fix a memory leak of the temporary read buffer.

[59befa19]

part of check-in [a60c545f]

Update comments and only include the thread routine when required.

[70e5fd4b]

part of check-in [38cbcedb]

Experimental changes to pre-cache a database file prior to it being fully opened.

2014-05-05

2014-05-02

[187fad4d]

part of check-in [d7ed529f]

Fix typo in Windows makefile. Make sure the WaitForSingleObjectEx system call is always available.

2014-04-22

[1662c40d]

part of check-in [ffceacf6]

Change from using the win32-none VFS to just a query parameter.

[a49ee67a]

part of check-in [03e3c5a8]

Add the win32-none VFS which omits rollback-journal locking.

2014-03-13

[8245fe91]

part of check-in [d17231b6]

Merge latest trunk changes into this branch.

2014-03-06

[e71678ac]

part of check-in [29b0a4f1]

Better loadable extension handling in the Win32 VFS when compiled for Cygwin.

2014-02-27

2014-02-24

[c47f107f]

part of check-in [2477b3a2]

Fix several small style/consistency issues with the previous check-in.

[166d2f19]

part of check-in [53081e72]

Enhance testing support for the Win32 VFS dynamic extension loading facilities.

2014-02-21

[23bd567f]

part of check-in [6676475c]

Better loadable extension handling in the Win32 VFS when compiled for Cygwin.

2014-02-18

2014-02-05

[d4284f00]

part of check-in [4a4dd371]

In the Win32 VFS, the winSysInfo variable should be static.

2014-01-14

[1b21af72]

part of check-in [1e131094]

For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG.

2013-12-09

[16eac096]

part of check-in [c43b59da]

Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS.

2013-12-06

[f149798a]

part of check-in [8759a8e4]

Add code to detect if the database file is moved or deleted out from under

SQLite and return an SQLITE_IOERR_NODB.

2013-11-27

[4323dd0b]

part of check-in [0ea9e472]

Avoid using the GetVersionEx functions if they are considered deprecated.

2013-11-26

[cb3f2620]

part of check-in [9954327c]

Better support for UTF-8 paths on Cygwin.

2013-11-25

[423d8f81]

part of check-in [0d42c6b8]

Initial work on isolating usage of the Windows header file.

2013-11-24

[1f7cc110]

part of check-in [484162b6]

Better support for UTF-8 paths on Cygwin.

2013-11-23

[39e9fc08]

part of check-in [f09f11e9]

Add experimental sqlite3_config option to control the native Win32 heap size.

2013-11-11

[ef091b34]

part of check-in [e6ff492f]

Fix several harmless compiler warnings.

[77c84dde]

part of check-in [aaed7d1d]

Modify a HeapValidate assert in the Win32 native allocator.

2013-11-10

[2027d0a4]

part of check-in [023233f1]

Fix typo in comment and remove superfluous blank line. No changes to code.

2013-11-09

[41bf0e50]

part of check-in [a5805976]

Fix compilation errors with some compilers that do not reference recent Windows SDK header files.

[846def34]

part of check-in [3fefe4dd]

Use the UNICODE_STRING_MAX_CHARS constant from WinNT.h.

[4b18ebe9]

part of check-in [674de36b]

Furhter cleanup of the winGetTempname function.

2013-11-08

[0b867bef]

part of check-in [fbf8c382]

Add more assert() statements and fix compilation issues when the Win32 native heap is not enabled.

[1426ee90]

part of check-in [e9694b87]

Disable use of HeapCompact on Windows CE as it is not available on all versions.

[c008edfb]

part of check-in [37853665]

Adjust the winMemInit return code handling used when resetting the Win32 native heap.

[2a08242b]

part of check-in [71347d02]

Minor corrections to logging for sqlite3_win32_compact_heap().

[265cd68f]

part of check-in [c54dc967]

Enhancements to the Win32 native heap integration.

2013-11-07

[cf9fde55]

part of check-in [9d870d5f]

Fix temporary directory separator handling for Cygwin.

2013-10-16

[b159b524]

part of check-in [9905cea9]

Fix memory and resource leaks for WinCE and Cygwin, and a compiler warning

on windows with SQLITE_THREADSAFE=0.

[c812a3c3]

part of check-in [2470d1bb]

Fix memory/resource leaks for WinCE and Cygwin.

2013-10-11

2013-09-13

2013-09-12

[0e73f891]

part of check-in [75a8a8c1]

For error log messages generated by the Win32 native allocator, make sure the correct format specifier is used for the value returned by GetLastError().

[d18f670e]

part of check-in [59708674]

Fix a couple more harmless compiler warnings.

2013-08-31

[bb592dfb]

part of check-in [aa482846]

Revise the amalgamation tool to allow 'duplicate' include files to be retained manually while still preserving the existing line numbers.

[896581ee]

part of check-in [b1811baa]

Enhancements to the Win32 API definition macros.

[27ab5a22]

part of check-in [c6f174a0]

Improve the consistency of the diagnostic messages on Windows.

2013-08-30

[8e87c271]

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.

2013-08-28

[26d75273]

part of check-in [37e85e44]

Support database file names longer than 260 characters using the new 'win32-longpath' VFS variant.

[0b9ab09d]

part of check-in [c3b82c5b]

Make names of private functions in the Win32 VFS consistent. Fix comment typo in Win32 mutex implementation.

[7f8cabe0]

part of check-in [fc98092f]

Remove hard-coding of the directory separator in the Win32 VFS. Fixes to OSTRACE macros.

2013-08-26

[52bbfe7f]

part of check-in [ec99224b]

Preparation for further Windows path name handling changes.

[c05cd62a]

part of check-in [0a497083]

Change MAX_PATH related defines to use character lengths where WCHARs are used.

2013-08-24

[339cdb88]

part of check-in [bda4c47d]

Several modifications to the use of the MAX_PATH macro on Windows to improve consistency.

2013-07-31

[1d84f207]

part of check-in [136fc293]

Limit the number of memset() calls used when determining a temporary file name on Windows. Also, fix a harmless compiler warning.

[3a74943b]

part of check-in [33ba1f4c]

Slight modifications to path name translation handling for Cygwin.

[aead0182]

part of check-in [c93d891b]

Use a new error code to represent a failure to get the configured temporary directory on Windows.

[d0e9774f]

part of check-in [bb06e157]

The MAX_PATH constant in windows is measured in characters, so multiple by 3

to get the number of bytes assuming worst-case UTF8 pathnames.

2013-06-13

[074cb2b9]

part of check-in [3a72af2a]

Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING

comments to the NGQP and adjust costs slightly.

2013-05-23

[5f018dbd]

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

[32b8adca]

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-16

[2076d4d1]

part of check-in [6d45a79f]

Fix compilation with SQLITE_OMIT_WAL on Win32.

2013-05-09

[4e2bf076]

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-04-29

[bf297963]

part of check-in [05ba5e23]

More refinements to Windows OSTRACE usage. Replace all usage of sqlite3TestErrorName() with sqlite3ErrName() and add missing return codes.

2013-04-28

[79bf8963]

part of check-in [b347b5d1]

Initial work on reforming usage of OSTRACE by the Windows VFS.

2013-04-15

[673b3e3d]

part of check-in [f4b8faab]

Expand scope of the SQLITE_MAX_MMAP_SIZE define for the Win32 VFS.

[873bbc5d]

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

[190be0e6]

part of check-in [daa168f3]

Expand scope of the SQLITE_DISABLE_MMAP define for the Win32 VFS.

[c9699093]

part of check-in [86f26f91]

Increase the version number to 3.7.16.2 and cherrypick the

fix for ticket [7ff3120e4fa54abb55]. This check-in is a release

candidate.

[42656347]

part of check-in [dd3510bb]

Fix the xCheckReservedLock() method on the windows VFS so that it cannot

return a false positive when two or more processes use it at the same time

on the same file. Ticket [7ff3120e4fa54abb55]

2013-04-09

[3aec291c]

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-04

[3265df8c]

part of check-in [fff2be60]

Try to use mmap() to speed access to the database file on windows, linux,

and mac.

2013-04-03

[1d0ccc18]

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.

[6718b053]

part of check-in [24bab759]

Initialize the mmap_limit of temporary files to the configured mmap_limit.

2013-04-02

[6a7a1017]

part of check-in [4eeea583]

Add assert to the Windows VFS pertaining to the size of the SIZE_T type.

[6822b2cd]

part of check-in [fd6ee549]

Fix a faulty assert() in the os_win.c VFS.

2013-04-01

[a2f41c9d]

part of check-in [e3c63c31]

Add a comment to xUnfetch on windows to say that the call to winUnmapfile()

might be unnecessary.

[4cb9b262]

part of check-in [0e44ed1b]

In windows, round down the size of the memory mapped region to the next

smaller multiple of the page size.

[390653f5]

part of check-in [ee4d188e]

Bug fix in the winMapfile() subroutine: Be sure to record the map object

handle in the sqlite3_file object.

[f705e7ce]

part of check-in [a1653a25]

Add xFetch and xUnfetch methods to the os_win.c VFS.

2013-03-25

[e4f17ddf]

part of check-in [a607d63f]

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

2013-03-23

[386f8c03]

part of check-in [8870c4cc]

In the winMremap VFS function, unmap the region prior to attempting to truncate the file.

[8f7de004]

part of check-in [f57a9c91]

Do not unmap the mapped file region in winTruncate as there may be outstanding pointers to it.

[46d2bbad]

part of check-in [75a85a1c]

Preliminary changes to support the xMremap VFS method on Windows.

2013-03-21

[9fe5356f]

part of check-in [6f6e2d50]

Many spelling fixes in comments. No changes to code.

2013-03-01

[f7da4dc0]

part of check-in [6b283833]

Update the cygwin interface to use the newer 1.7 APIs instead of the

1.5 APIs. Also shorten over-length source code lines in os_win.c.

2013-02-15

[eabd00b8]

part of check-in [843e1c54]

Check for a NULL handle prior to manually calling winClose.

2013-02-13

[e27fafe8]

part of check-in [ec13544c]

On WinCE, fill in the winFile structure after winceCreateLock has succeeded.

2013-02-12

[e988c2de]

part of check-in [09dfc0c9]

Improve memory allocation error handling on WinCE.

2013-02-07

[d19aae35]

part of check-in [e1640876]

Add the ability to skip defining the localtime() function when being compiled for WinCE.

2012-12-06

[ce1f5db8]

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-21

[6e55b48f]

part of check-in [692ad3c0]

In winDelete, determine that a file does not exist by checking for a last error of ERROR_FILE_NOT_FOUND or ERROR_PATH_NOT_FOUND.

2012-11-20

[1003f13a]

part of check-in [d4c36d49]

Have the windows implementation of xDelete return SQLITE_IOERR_DELETE_NOENT

if the file to be deleted does not exist. The unix implementation was

previously modified to behave this way. The current changes simply brings

the two implementations into alignment.

2012-10-18

2012-10-08

[28bd0277]

part of check-in [1c2c0a28]

Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined.

2012-10-07

[8a549824]

part of check-in [585e2070]

Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined.

2012-10-06

[44f39059]

part of check-in [4b0facc1]

Changes for WinRT compatibility. Also, allow version resource compilation and embedding to be disabled at compile-time.

2012-09-28

[1e6b79be]

part of check-in [6a5c59dd]

Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY

query planner enhancements) into the apple-osx branch.

2012-09-13

[90c7a1fe]

part of check-in [eb0f1c29]

Improved reporting of filename translation errors in the Windows VFS.

[d5f19e44]

part of check-in [c1a85570]

Allow SQLite to work on Win32 with SQLITE_OS_WINNT=0 as long as WAL is disabled.

2012-08-31

[5dec8fe8]

part of check-in [527340ab]

Changes for ERROR_PATH_NOT_FOUND in addition to ERROR_FILE_NOT_FOUND in

winAccess().

2012-08-28

[3a18cdb2]

part of check-in [9ee39102]

Issue a log message if the temporary directory has not been set when running on WinRT.

2012-08-25

[421cfe2f]

part of check-in [9b19b847]

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

[6897cd39]

part of check-in [6723add4]

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

2012-08-22

[88f8cc4f]

part of check-in [1246f15b]

Add assert to check that the memory block for the previous directory value was allocated via sqlite3_malloc or related function.

2012-08-21

[c177b87e]

part of check-in [600de08d]

Added sqlite3_win32_set_directory API to assist in portability to WinRT.

[a7878531]

part of check-in [c92b0fe1]

Cherry-pick [555fc07]:

Changes to the thread routines to disable them when threading is turned

off using sqlite3_config(). Also merge all recent trunk changes.

2012-08-17

[b8fc6599]

part of check-in [61b1ae12]

Skip defining some WAL specific things in the Win32 VFS code when compiling without WAL support. Also, fix an example command line in the MSVC makefile.

2012-08-16

[904f8515]

part of check-in [f4125771]

Update the threads branch to include all the latest trunk changes.

2012-08-14

[370c6f33]

part of check-in [1de2237d]

Refer to the file mapping Win32 API functions only when absolutely necessary.

2012-08-13

[5de2e293]

part of check-in [9888ce92]

Refer to the WaitForSingleObjectEx and SetFilePointerEx Win32 functions only for platforms where they are going to be used.

2012-07-23

[f9f2a456]

part of check-in [049b0411]

Enhance implementation of the Win32 thread wait function.

2012-07-21

[89978301]

part of check-in [793195d3]

Add Win32 support to the internal threads interface. Also, add several asserts and fix a few typos.

2012-06-08

[85f7d60e]

part of check-in [9d1b8515]

Merge trunk changes into the apple-osx branch.

2012-06-04

[e3d3d3e2]

part of check-in [eb29e2d9]

When not compiling for WinRT, skip using a couple Win32 APIs unavailable when compiling with MinGW.

2012-05-31

[ce6b415a]

part of check-in [54de739f]

Update several APIs to enable compilation with newer revisions of WinRT.

2012-05-17

2012-05-10

[24b57b4a]

part of check-in [e8770283]

Merge in the legacy table constraint parsing fixes from trunk.

2012-05-07

[ce348d15]

part of check-in [7a7466f4]

Merge Windows directory checking changes from trunk.

[412d6434]

part of check-in [b08530e1]

Simplify directory checking for winOpen and add checking to winDelete.

[52455150]

part of check-in [03875633]

Do not do the AV retry loop on open if the file that is attempting to be

opened is really a directory.

2012-04-18

[c3487c9c]

part of check-in [ad5cd15f]

Import all the latest trunk changes into the WinRT branch. Refactor and/or remove WinCE-specific macros and functions used for file locking to improve clarity of presentation.

2012-03-31

[12e76b4a]

part of check-in [18ec60ca]

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

2012-03-30

[5e9e933a]

part of check-in [196ca3a8]

Avoid using the OVERLAPPED struct on WinCE.

[c7b26b78]

part of check-in [b3449186]

Simplify the winRead and winWrite VFS functions to reduce the number

of system calls.

[6f8080e7]

part of check-in [10ce8467]

Simplify the winRead and winWrite VFS functions to reduce the number of system calls.

2012-03-19

[d9654717]

part of check-in [9598c2a3]

Fix typo, use the syscall table for osOutputDebugStringA.

2012-03-18

[aeb0aee1]

part of check-in [32b5c20e]

On Windows, when no temporary path is available, skip prepending the directory separator.

2012-03-15

[9bbe851c]

part of check-in [8693fb65]

Add SQLITE_WIN32_HEAP_CREATE compiler define to control whether or not the Win32 native allocator will create an isolated heap for all allocated data.

2012-03-14

[a2e9d481]

part of check-in [d3d07159]

Fix macro issues for osGetProcessHeap and sqlite3_win32_write_debug.

[817bce5d]

part of check-in [845aa46f]

Fix typos, use #if instead of #ifdef when checking for the Win32 native heap validation define.

[7f5f9d8e]

part of check-in [46c412a8]

Avoid redefining macros. Enable use of the Win32 native heap on WinRT. Use the syscall table to call OutputDebugStringW and fix type casting warnings.

[ed4f4f5c]

part of check-in [7354ae8f]

Add experimental support for resolving relative database file paths using a fixed user-defined directory.

2012-03-13

[c47a86a8]

part of check-in [8083f616]

Add assert to verify the number of characters to write in sqlite3_win32_write_debug.

[30a479f3]

part of check-in [7af88ad3]

Defer creation of the sleep event object until it is needed. Added sqlite3_win32_write_debug and sqlite3_win32_sleep APIs to assist in portability to WinRT.

[8e0c3142]

part of check-in [fb7d8bf6]

Cleanup the Windows syscall table, removing the unused CreateFileMapping entry.

[3dc4b1a7]

part of check-in [6b997d9c]

More changes required to compile for WinRT using VS 11 beta. Also, replace more APIs with their WinRT alternatives.

2012-03-07

[ca9ff634]

part of check-in [27d6942c]

When compiled for WinRT, use the CreateFile2 and LoadPackagedLibrary functions instead of CreateFile and LoadLibrary.

2012-03-05

[75d5de49]

part of check-in [86c049a1]

Add compile-time define to indicate if the VFS supports the concept of a current directory (as WinCE and WinRT do not). Avoid using the GetTempPath and GetFullPathName APIs on WinRT. Some tests still need adjustments.

2012-03-04

[a6f5e7b3]

part of check-in [ed603d75]

When creating the event used to sleep on WinRT, request the minimum access rights required for the desired operations on it (i.e. SYNCHRONIZE).

2012-03-03

[26867d8b]

part of check-in [38df8fc1]

When compiled for WinRT, avoid using MapViewOfFile and GetFileAttributes. Also, reset the private 'sleep' event handle when the VFS is cleaned up.

2012-03-02

[bde6f186]

part of check-in [9eb331be]

When compiled for WinRT, avoid using the FORMAT_MESSAGE_ALLOCATE_BUFFER flag to FormatMessage (i.e. because LocalFree is unavailable).

[f6b9fa7a]

part of check-in [3e7ba3dd]

When running on Windows with an NT-based kernel, always use the LockFileEx/UnlockFileEx functions (with the correct flags).

[7378d50e]

part of check-in [a782d2dc]

Add new Win32 APIs used to the system call table. Add error handling code for SetFilePointerEx. Make sure the last error number is saved from the call to GetFileInformationByHandleEx.

[5593c84a]

part of check-in [cbf23b46]

Omit all ANSI APIs for winRT.

2012-03-01

[c7fc501c]

part of check-in [119f251d]

Use GetInformationByHandleEx() instead of GetFileSize() on winRT.

[f5d551ef]

part of check-in [36efafc6]

Use SetFilePointerEx() instead of SetFilePointer() on winRT.

[b9c36459]

part of check-in [bf897be0]

Use WaitForSingleObjectEx() as a substitute for Sleep on winRT.

2012-01-30

[f954207e]

part of check-in [4f0997c7]

Do not rely on the _WIN32_WINNT macro as vs2005 does not define it by default.

Instead, always assume winNT unless the makefile explicitly sets

SQLITE_OS_WINNT=0.

2012-01-14

[30dce5f0]

part of check-in [2cc414cd]

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

2012-01-11

[5ac061ae]

part of check-in [93a65776]

Prevent winOpenSharedMemory from masking the real return code from its call to winOpen. Also, add asserts to check the double-zero termination of database file names.

2012-01-10

[e344ccb7]

part of check-in [38bc4236]

Remove the BenignMalloc() from around the call to FCNTL_OVERWRITE. Add

new ones around sqlite3OsDelete(). Fix an assert that causes problems for

the nx-devkit.

2012-01-08

[5f24afbc]

part of check-in [429380f9]

Make sure the shared-memory filename sythesized by os_win.c is

double-zero terminated, so that it can be used with

sqlite3_uri_parameter().

2012-01-05

[88b35c8f]

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

[d4eb8561]

part of check-in [8a048423]

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

[f1057db6]

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

[0d3522dd]

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

[569fe744]

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

[f45f03e4]

part of check-in [d5e36327]

Merge the latest trunk changes into the statvfs branch.

2011-12-21

[4fc4aa8a]

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

[3cf34661]

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

2011-12-14

[197d23ce]

part of check-in [da118e02]

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

SQLITE_FCNTL_VFSNAME file-control.

[823f5585]

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.

[745cfae0]

part of check-in [c65e5a36]

Treat a zero return value from the Win32 APIs MultiByteToWideChar and WideCharToMultiByte as an error condition.

2011-12-08

[4c546bde]

part of check-in [59e0d4f3]

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

[8af100f7]

part of check-in [a0d92193]

Follow the previously established pattern for detecting preprocessor defines for specific flavors of Windows (for NT in this case).

2011-11-21

[6efe66a3]

part of check-in [7e657bbb]

Cleanup the semantics surrounding use of the GetLastError function on Windows.

2011-11-12

[a22b88d2]

part of check-in [76dec8aa]

Make sure to flag benign malloc failures in the Windows VFS as such. Expand use of the DO_OS_MALLOC_TEST to cover the VFS functions that can now return an out of memory error. Support an experimental --match option to the test suite that will run only those tests matching the specified pattern.

2011-11-11

[ee8ba084]

part of check-in [8966ec17]

Remove use of malloc and free from the Windows VFS. Also, prevent sqlite3BtreeOpen from assuming that sqlite3OsFullPathname cannot fail.

[1d8fe13d]

part of check-in [ed88fb00]

Work in progress to implement the 'syscall' functionality for Windows.

2011-11-10

[d6cf7186]

part of check-in [8f287979]

Expand passing of a last error argument to the getLastErrorMsg function. Also, remove unused SQLITE_W32_THREADS define.

[a9190cb7]

part of check-in [32ab3657]

In winAccess, save the Win32 last error value prior to invoking user logging callback. Also, explicitly pass the Win32 last error value to winLogError in order to keep it accurate. Fixes a problem reported on the mailing list.

2011-11-09

[6749a95c]

part of check-in [0c951a97]

Omit an unnecessary Sleep() call in windows pending-lock retry

logic. Enhance the comment on that logic to discourage people

from copying it into other VFSes.

2011-10-21

[4e61b811]

part of check-in [be62ef05]

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

2011-10-13

[49d41891]

part of check-in [17e4fde5]

Make sure all non-API functions in os_win.c have file scope.

Ticket [35c54c874987]

2011-10-12

[58c1cef8]

part of check-in [c96651dd]

The date/time functions return NULL if the xCurrentTime or

xCurrentTimeInt64 VFS methods fail.

Ticket [0b803bff856c644c]

2011-10-11

[2d6f0e6f]

part of check-in [7e2c4898]

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

2011-10-10

[3fc8f4bb]

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.

[daa67fe0]

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-09-25

[fbe47c7f]

part of check-in [4a153f01]

If an open as read/write fails, do not try to reopen as read-only if in

exclusive access mode.

2011-09-16

[0fc0f46c]

part of check-in [2e66e414]

Fix #if's in winSync to avoid compiler warnings about unused local variables. Also, update version numbers in the MSVC makefile.

2011-09-02

2011-08-30

[45de13c6]

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-26

[86bcb5bd]

part of check-in [50edc2f9]

Disable checking the winMemData structure signature when compiled with NDEBUG.

[dc2e61b0]

part of check-in [1c2ecec8]

Allow the Win32 native heap flags to be overridden at compile-time.

2011-08-25

[19fa0904]

part of check-in [67ff8d27]

Cherrypick the [d4f6437f8d] change so that SQLITE_FCNTL_SIZE_HINT is always

honored and never undone by memory pressure on windows.

[7d27ec1e]

part of check-in [d4f6437f]

Make sure that SQLITE_FCNTL_SIZE_HINT on Windows does not shrink the file.

2011-08-24

[f9958ef7]

part of check-in [7fca5a28]

Add error logging to native Win32 heap support.

[a9950bf0]

part of check-in [bf3d0ab5]

Experimental work to allow SQLite to use the native Win32 heap API.

2011-08-02

[4eb6fa00]

part of check-in [9007586f]

Add retry logic for AV defense to winOpen. Also, refactor test suite to allow the key Tcl file operations (e.g. copy and delete) to be retried.

2011-07-28

[60af92b1]

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.

[f79cb7c3]

part of check-in [93079a92]

Remove redundant sub-expression from retry loop invariant in winAccess. Also, make check for SQLITE_ACCESS_READWRITE formally correct.

[2d96ae3e]

part of check-in [8a145863]

Fix conditional for retry logic in winAccess and add missing call to logIoerr.

2011-07-26

[313f48b6]

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-22

[8449cb4c]

part of check-in [a6b85c73]

Add retry logic for AV defense to winAccess(). Also allow OS tracing to be

enabled by a compile-time option.

2011-07-13

[c5eadb2c]

part of check-in [7aaf0a6a]

Added the SQLITE_FCNTL_WIN32_AV_RETRY file control for configuring the

retry counts and delays in the windows VFS.

2011-07-12

[57778b70]

part of check-in [36f11acc]

Revise logic in winDelete to check the file prior to attempting to delete it.

[07050df9]

part of check-in [ff0ff75c]

Improvements to the logging that occurs on an antivirus I/O retry.

[4cea89f0]

part of check-in [89f1848d]

Update the anti-virus retry logic for DeleteFile(). Invoke sqlite3_log()

for each anti-virus retry. Make the retry delay configurable at

compile-time.

2011-07-11

[6ba8a531]

part of check-in [c20aca06]

Change the windows backend to retry read and write requests if the encounter

ERROR_LOCK_VIOLATION and ERROR_SHARING_VIOLATION errors - which we think

sometimes happens due to aggressive anti-virus software.

2011-06-20

[eafcd6b9]

part of check-in [3ee5d1a5]

Add additional error check for disk full on Windows.

2011-05-17

[218b8994]

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-05

[ff0e1461]

part of check-in [fe57a8f6]

Have the xFullpath method in os_win.c discard the initial "/" if a filename begins with "/X:", where X is any alphabetic character. Also fix some test issues in uri.test.

2011-04-27

[4271f0bf]

part of check-in [f55156c5]

In windows, ignore ERROR_NOT_LOCKED when calling the read-lock removal

routine.

[0d2fb750]

part of check-in [7b479b9b]

Expose the UTF8 to MBCS conversion routine in os_win.c to external

applications.

2011-04-15

[d149b9a7]

part of check-in [8f99c5bf]

Updates to test code in os_win to bring winSync inline with unixSync (test code only).

Updated a few test scripts to account for dirsync counting issues on Windows.

[96ab57a5]

part of check-in [1cca9a49]

Add retry logic to GetFileAttributesEx() on windows.

2011-04-13

[177a14a0]

part of check-in [8332949c]

Remove extra CR and NL characters from FormatMessage() generated error

messages in the windows VFS.

[bcd4fbe3]

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.

2011-03-02

[24d72407]

part of check-in [38558363]

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

list of all changeable system calls.

[c2df806a]

part of check-in [92b5a76a]

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

on the VFS.

2011-01-26

[9abdcdd9]

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-09-03

[2f90f7bd]

part of check-in [f213e133]

Reduce the amount of memory taken up by WAL mmaped regions under Windows.

2010-09-01

[6fb3447f]

part of check-in [afdc82a9]

Fix some compiler warnings under MSVC.

2010-08-24

[718a48ca]

part of check-in [40526d83]

Replicate asserts on unixOpen() to winOpen() in os_win.c.

2010-08-07

[ed741817]

part of check-in [f88c6367]

Merge in all changes up to the 3.7.0.1 release.

2010-07-28

[51cb62f7]

part of check-in [a038688c]

Support FCNTL_CHUNK_SIZE on windows too.

2010-07-20

[1f8b0a1a]

part of check-in [13ed106c]

Added fix to os_win.c for race conditions from os_unix.c; added saving of errno in two places.

2010-07-14

[61734aad]

part of check-in [c2d27cf5]

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

2010-07-13

[3bb7e081]

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-12

[04c8828e]

part of check-in [b73fe275]

Updates to comments and code organization to reflect changes in os_unix.c;

Updated winShmLock() with logic changes from unixShmLock();

Modified IO error returns in winShmMap() to match those in unixShmMap();

2010-07-08

[b39c2c26]

part of check-in [0d53da94]

Changes to os_win.c to have it simulate IO errors like os_unix.c.

2010-07-07

[f0a56db5]

part of check-in [8eefc287]

Fixed a new error introduced by last check-in of os_win.c. Updated xAccess() to support SimulateIOError().

[c4b78554]

part of check-in [4bfd46f1]

Fix minor issue in xAccess() method for Windows.

2010-07-06

[f0c97512]

part of check-in [ca4b7ffb]

Modified the xWrite() method on Windows to differentiate between IO and disk full error returns.

2010-07-05

[bdc05819]

part of check-in [ec35f254]

Modify the VFS xAccess() method on winNT so that it returns false for

an exists test of a zero-length file. This makes the windows VFS work

the same as the unix VFS.

2010-07-03

[883caa09]

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

[dd4c6f23]

part of check-in [33b6f069]

Changes to os_win.c to have it return same error code as os_unix.c.

[e82ed9e1]

part of check-in [70833877]

Fix some warnings when compiling under MSVC.

2010-06-25

[48f67798]

part of check-in [5995cb15]

Change the name of the shared-memory file on windows from *-wal-index to

*-shm, for consistency with unix.

2010-06-23

[00385a83]

part of check-in [a6dc0df3]

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

values in the wal-index header.

[e5b62352]

part of check-in [51ef43b9]

Fix the xCurrentTimeInt64 interface on windows. It was off by a factor of 10.

2010-06-19

[73608839]

part of check-in [5a5ff4e3]

Change the name of IOCAP_SAFE_DELETE to IOCAP_UNDELETABLE_WHEN_OPEN. Have the xDeviceCharacteristics() method of the win32 VFS return this flag.

2010-06-14

[dfde7d33]

part of check-in [58dfd83d]

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

to fit in there logically.

[3d761e33]

part of check-in [13e7a824]

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

2010-06-03

[0cf1f571]

part of check-in [ed7774de]

Performance fix for winShmClose().

2010-05-31

[f815403c]

part of check-in [149a7082]

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

2010-05-26

[81dd8f54]

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

[e300c8f8]

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-20

[1e44ee84]

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

[3c8cafd2]

part of check-in [43377663]

Merge WIN32 WAL support into trunk. Still some issues with locking to resolve.

[bc65553f]

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.

[c067d641]

part of check-in [9894118d]

Add the SQLITE_FCNTL_SIZE_HINT to the os_win.c VFS.

2010-05-14

[e0a74dd6]

part of check-in [4b69f2cd]

Pull in all the latest changes from the trunk.

Update the win32 SHM methods to work with the new interface design.

[70c4a332]

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-12

[858e3834]

part of check-in [76504726]

Updates to WAL support in os_win.c: pulled in latest changes from src/os_unix.c; updated tracing; misc. improvements.

2010-05-11

[0bd69843]

part of check-in [111ad59f]

Initial port of WAL VFS support from os_unix.c to os_win.c.

2010-04-27

[a8fc01d8]

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

[607b40e4]

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-02-23

[1c7453c2]

part of check-in [7c4cca6d]

Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging

output for CORRUPT, and CANTOPEN errors.

2009-11-03

[5ffab202]

part of check-in [01c4b5b8]

Fix compiler warnings on MSVC build.

2009-10-21

[d0290884]

part of check-in [761396f8]

For Windows VFS, modified xGetLastError() to call FormatMessage()

with the FORMAT_MESSAGE_IGNORE_INSERTS option. Additionally updated

to ensure strings are returned as UTF8. Ticket [39c85e8a4e].

2009-09-10

[49a360be]

part of check-in [f42ec993]

Fixed some warnings and an assert in the WINCE code when compiling under MSVC.

2009-08-17

[58bb163f]

part of check-in [67ad21ab]

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

[a3e93d1b]

part of check-in [904a371c]

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

2009-08-12

[6de69d8f]

part of check-in [1f0a93e1]

Fixed some compiler warnings in WINCE only sections when using the MSVC compiler.

2009-08-05

[79bb3c59]

part of check-in [a1c184cd]

Simplified conditional for read-only lock in winceLockFile() function. Ticket #3991. (CVS 6958)

2009-04-23

[725c38a5]

part of check-in [18fef3fc]

os_win.c, winOpen(), changed to handle the SQLITE_OPEN_EXCLUSIVE flag and sharing modes in the same manner as os_unix.c. Ticket #3821. (CVS 6542)

2009-04-15

[c3d0354b]

part of check-in [e203ad40]

Fix access violation on WinCE platforms. Ticket #3804. (CVS 6509)

2009-04-09

[25092e59]

part of check-in [5350a658]

Provide dummy DWORD arguments to output parameters of GetDiskFreeSpace(A|W),

NULL causes access violations on Windows NT 4.0 (CVS 6477)

2009-03-31

[524fe4c3]

part of check-in [76851417]

Fix compiler warnings from gcc and MSVC; Correct typo in select.c; (CVS 6417)

2009-03-30

[e655b2a6]

part of check-in [18b44f0d]

Make sure recursive calls to winOpen() preserve the pVfs pointer.

Fault found while testing a mingw build in VMWare. (CVS 6410)

[07f7c803]

part of check-in [7ef36935]

Avoid all use of the "LL" suffix for long-long integer literals.

Ticket #3759. (CVS 6408)

2009-03-05

[40636702]

part of check-in [68abcb27]

Implemented winSectorSize(); Other changes for consistency. os_win.c. Ticket #2931. (CVS 6339)

[4a91fbbe]

part of check-in [6404afa0]

Corrected typos and misspellings. Ticket #3702. (CVS 6336)

2009-02-05

[45cb4308]

part of check-in [82e03f1b]

Fixed error detection in winTrucate() in os_win.c. Windows version only. Ticket #3640. (CVS 6262)

2009-02-04

[b83b57c2]

part of check-in [5cef4000]

Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250)

2009-01-30

[ec133f2a]

part of check-in [9ea871f3]

Implemented the SQLITE_LAST_ERRNO op in the xFileControl() method of os_win.c. Ticket #3615. (CVS 6217)

2008-12-11

[496e3ceb]

part of check-in [72fd92bd]

Removed a few more harmless warnings from MSVC. (CVS 6018)

2008-12-10

[d42d591b]

part of check-in [715dcd52]

Work to remove harmless MSVC compiler warnings. (CVS 6013)

[d7a12403]

part of check-in [ea01d437]

Additional work at eliminating silly compiler warnings. (CVS 6010)

[af9459fc]

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

[79e55bbe]

part of check-in [73c7302c]

The amalgamation now compiles cleanly on GCC with options

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

2008-11-19

[3dff4167]

part of check-in [00b68a1e]

In os_win.c, if SQLITE_TEST defined, winRandomness() should return all zeroes like os_unix.c. (CVS 5932)

2008-11-18

[08d0b059]

part of check-in [f4411f0c]

Expose the MBCS->UTF8 convert routine in the Win32 backend. (CVS 5917)

2008-11-13

[b1cd0792]

part of check-in [26493379]

Added support for -DSQLITE_NO_SYNC to os_win.c. (CVS 5904)

2008-11-07

[e208cbbc]

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-22

[a26292f3]

part of check-in [5276e31d]

Removed some more dead code and fixed some unresolved externals for WINCE. Ticket #3420. (CVS 5837)

2008-10-12

[13bed718]

part of check-in [500c5056]

Check for failures in winTruncate. Ticket #3415. (CVS 5811)

2008-09-30

[04033a86]

part of check-in [15dd0169]

Misc clean up. Wrapped a CE only variable in if-defs. Changed to only provide cache hint for CE builds (as this prevents CE from compressing the file.) Performance testing on XP and Vista showed caching hint had little effect when the DB size was much smaller than the O/S disk cache size, and provided only marginal benefit when the DB size was much larger than the cache. On Vista, overall system performance was hurt for very large DBs. Ticket #3387. (CVS 5753)

2008-09-01

[3209dc0e]

part of check-in [e0461f87]

Add define for INVALID_FILE_ATTRIBUTES if it is not already defined, as some older Windows compilers do not define it. (CVS 5657)

2008-07-31

[aefe9ee2]

part of check-in [03a79734]

Improved retry logic for winDelete() when in "pending delete" state. (CVS 5505)

2008-07-22

[50ec7834]

part of check-in [c0a5cf38]

winGetLastError support added. Consolidated getLastErrorMsg() support. Removed some more WINCE dead code similar to instance in ticket #3232. Added error return on SystemTimeToFileTime() failure. (CVS 5450)

2008-07-18

[08f8678d]

part of check-in [5c5c1f72]

Remove dead code from os_win.c. Ticket #3232. (CVS 5441)

2008-06-26

[2bf2f8cd]

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

[77cae913]

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-13

[0b90d9a1]

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

[0d975b13]

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)

[07df9a6f]

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

[9ac4e4e9]

part of check-in [4226ac54]

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

2008-05-29

[812f9ba8]

part of check-in [ad6a782e]

Moved check and define for OS_WINCE from os_win.c to os.h (with the other OS_* defines). This allows OS_WINCE to be available for mutex_w32.c which is included earlier than os_win.c in the almagamation. (CVS 5176)

2008-05-16

[3b0a31c5]

part of check-in [81a8c70e]

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

2008-03-19

[3a60bddd]

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-02-20

[aa3f4bbe]

part of check-in [5bc8e564]

Make multiple attempts to delete files marked DELETE_ON_CLOSE under

WinCE. Ticket #2950. (CVS 4802)

2007-12-13

[c832d528]

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-10

[737fe685]

part of check-in [19db91fd]

Make sure the windows driver responds correctly to the

SQLITE_OPEN_DELETEONCLOSE flag. Ticket #2829. (CVS 4607)

2007-12-06

[a92769a7]

part of check-in [f015a387]

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

unixFullPathname() and related functions. (CVS 4595)

2007-11-12

[1fb40eb6]

part of check-in [8ad0ab8c]

Various changes to enable compilation of SQLite library and command

line shell with the Windows CE cross compiler from cegcc.sourceforge.net (CVS 4541)

2007-11-07

[81690a85]

part of check-in [08a685ab]

In the windows VFS, make sure we do not return an error if attempting

to delete a file that does not exist. (CVS 4532)

2007-10-09

[fe8f2d8f]

part of check-in [b2bdb476]

Still more tweaks to the wince interface. Ticket #2711. (CVS 4482)

[13b80c00]

part of check-in [beb91af7]

Fix a typo in the wince driver. Ticket #2710. See also ticket #2702. (CVS 4481)

2007-10-08

[3ea65d67]

part of check-in [ccd709e1]

More untested changes for wince contributed by users. Ticket #2702. (CVS 4479)

[3bc308a9]

part of check-in [27346fa5]

Reverting check-in (3836) at the request of winCE users. We no ability

to test this change. Presumably this is a fix for tickets #2698, #2533,

and #2598. It is unclear if this causes #2294 to be reopened or not. (CVS 4478)

[0fd00bbf]

part of check-in [a36fca4c]

Fix a bug in code for winCE. Ticket #2700. (CVS 4477)

[713bb346]

part of check-in [5cdbc097]

In windows, always open files using FILE_FLAG_RANDOM_ACCESS. Ticket #2699. (CVS 4476)

2007-10-05

[b2b6aa5f]

part of check-in [38674fd2]

Use FormatMessageA() instead of FormatMessage() in the w32 VFS.

Ticket #2687. (CVS 4468)

2007-09-20

[99960c7b]

part of check-in [138d3fcc]

Replace "i64" with "sqlite3_int64" in the w32 VFS. (CVS 4441)

2007-09-17

[e6383004]

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)

[697dd7ad]

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-14

[24acb158]

part of check-in [8cc51e0a]

Corrections to the winCE code. Untested. (CVS 4431)

2007-09-12

[b3ae109c]

part of check-in [c6ee5929]

Add a missing semi-colon to os_win.c. Ticket #2642. (CVS 4421)

2007-09-05

[b663c171]

part of check-in [ea1d76e3]

Fix a harmless typo in the PRNG initialization on win32. Ticket #2617. (CVS 4405)

2007-09-03

[d8909c19]

part of check-in [40cf0c17]

Fix the open file counter on windows. (CVS 4382)

[c077b821]

part of check-in [1be70015]

Get the io.test tests working on windows. (CVS 4381)

[57f9b96e]

part of check-in [91b50f31]

Improvements to the xRandomness() method on the default windows VFS.

Ticket #2615. (CVS 4374)

2007-09-01

[ce778c06]

part of check-in [ca6c1e3f]

Change the windows tempfile name generator so that it uses 119 bits

of randomness and does not bother to check to see if the file already

exists. Ticket #2608. (Unable to test from this machine, but the

changes are simple and isolated. Hope it works.) (CVS 4357)

2007-08-31

[60ab7361]

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)

[d8f9a643]

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

[85e5661c]

part of check-in [1f80cf5e]

Fix a memory leak in the win32 OS driver. Ticket #2602. (CVS 4345)

2007-08-27

[3ffd3aac]

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

[4f840e97]

part of check-in [75aad316]

Rework the win32 OS driver to use malloc()/free() directly rather than

going through the SQLite memory allocation layer. With this change, the

complete quick.test script now runs on windows. There are a few errors,

but no segfaults. Progress. (CVS 4289)

[e2598a18]

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)

[1cb94dd3]

part of check-in [3a68fcdd]

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

fixed. (CVS 4282)

2007-08-21

[29c0e19c]

part of check-in [fbbd5bda]

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

2007-05-14

[d868d5f9]

part of check-in [fc489b53]

In the windows driver, reacquire the shared lock if an exclusive lock

fails. Ticket #2354. (CVS 3992)

2007-05-05

[3b616903]

part of check-in [54a1d275]

Fix a sprintf() problem introduced by (3916). (CVS 3927)

2007-05-04

[5e9e3d2a]

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-11

[e94903c7]

part of check-in [ca56c3e2]

Blind check-in of changes to fix #2294 - I have no ability to test.

Gentle wince users: please test this change and if it works leave a remark

on the #2294 ticket. Tnx. (CVS 3836)

2007-04-01

[c9a99524]

part of check-in [18aec1dd]

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

2007-03-30

[c3a8403e]

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

[d6cb3628]

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

[84c02837]

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

[13708a58]

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

[1d1d0989]

part of check-in [0fd9983a]

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

2007-03-19

[f3ca3e08]

part of check-in [5752d84d]

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

2007-01-10

[8736cf3a]

part of check-in [a72c950c]

Make the AreFileApisANSI() call a macro with a value of 1 on wince.

Ticket #2163. (CVS 3590)

2007-01-09

[8999403b]

part of check-in [4b36de46]

Fix the windows OS layer so that it returns detailed IOERR error codes. (CVS 3583)

[788ae0fa]

part of check-in [c4eb2100]

Work around win2k problems so that single-character filenames can be

used. Ticket #2151. (CVS 3582)

2007-01-05

[30070930]

part of check-in [daed2bab]

Suppress compiler warnings. Fix a bug in IO error detection on windows. (CVS 3564)

2007-01-03

[92df146e]

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

[ca46001d]

part of check-in [0b47d880]

More fixes to the microsoft code-page nightmare... (CVS 3544)

[d7cf0fc2]

part of check-in [e3dddd1c]

Use GetProcAddressA() on wince. Ticket #2123 (CVS 3543)

[96c7cf82]

part of check-in [6d2ff096]

Reduce the number of utf8->unicode conversions required in wince. Ticket #2122 (CVS 3542)

[359dd74a]

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)

[eb6642f7]

part of check-in [cca1eb3d]

Change a parameter type from "int" to "DWORD" in the windows interface.

Ticket #2122. (CVS 3540)

2006-11-07

[cac5f9b6]

part of check-in [d309680e]

Fix a typo in os_win.c. Ticket #2055. (CVS 3504)

2006-11-06

[06e11389]

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-30

[1be3a56e]

part of check-in [9fa3ae58]

Changes to support non-ASCII characters in win95 filenames.

Ticket #2047. (CVS 3495)

2006-09-26

[30e51641]

part of check-in [944d5f81]

Fix to the previous check-in. (CVS 3446)

[6c9da4c7]

part of check-in [46ac1ac2]

Performance improvement and bug fix in sqlite3WinDelete(). (CVS 3445)

2006-09-14

[a6676309]

part of check-in [86931854]

Enhanced I/O error simulation. (CVS 3418)

2006-06-04

[c6976ae5]

part of check-in [697498d4]

Add comments to the changes of check-in (3200). (CVS 3202)

[e64e6bdf]

part of check-in [f32dbe47]

Changes to help SQLite cope with virus scanners and other programs that

open journal files for reading and thus prevent SQLite from deleting

them in order to commit a transaction. (CVS 3200)

2006-06-02

[f48550e1]

part of check-in [4bf03c3b]

The windows driver always allows other processes to write the database file

even if it only has read permission on the file. This is an experimental

checkin - we still have not determined that this change is safe. Ticket #1803. (CVS 3196)

2006-02-27

[8ced9ac8]

part of check-in [1fe9ca07]

Reduce the size of a memory allocation in the windows driver to the

minimum needed. Ticket #1690. (CVS 3115)

2006-01-31

[c67a2c46]

part of check-in [b922c8e4]

Fix some pointless warnings from overly-pedantic compilers. (CVS 3048)

2006-01-24

[566bf7b4]

part of check-in [d86f18a4]

Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024)

2006-01-23

[63718af5]

part of check-in [c5792283]

Bug fix in the WinCE bindings. (CVS 3015)

[2600438d]

part of check-in [2ef8b85d]

Get I/O error tests working on windows. (CVS 3007)

[438e6587]

part of check-in [436287c2]

Cut over the patches to support WinCE. Ticket #1600. (CVS 3003)

2006-01-18

[98e4e38d]

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)

[a1584b15]

part of check-in [ac090f2a]

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

[e1c06001]

part of check-in [dd3e07ca]

Recursive mutexes in os_win.c. (CVS 2969)

2006-01-17

[b9cb6254]

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-13

[cd4ca275]

part of check-in [dd705955]

Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936)

2006-01-12

[4ebb7e11]

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

[e372f99c]

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)

[b67dd34b]

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

[8ef250a0]

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)

2006-01-07

[9cedcb13]

part of check-in [15fda14e]

Continued progress toward a working wince backend. (CVS 2885)

2006-01-06

[88f372bf]

part of check-in [b10343d9]

Additional changes for wince. (CVS 2877)

[acd7a7a6]

part of check-in [f3cbd995]

More changes to support wince. (CVS 2876)

[8ed8a36d]

part of check-in [b45c076f]

Additional efforts to get it to build on WinCE. (CVS 2875)

[60da6aa3]

part of check-in [43440567]

A first attempt at adding native support for WinCE. (CVS 2874)

[3239b124]

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)

[c774f888]

part of check-in [3aa8befe]

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

2006-01-02

[7e2d09f8]

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

[9feb97f4]

part of check-in [81a41f66]

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

[2da77ddc]

part of check-in [c1ed79f5]

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

2005-11-30

[d962ac2d]

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

[2095cae6]

part of check-in [59bdca25]

Make the build work on windows again. Ticket #1544. (CVS 2793)

[f18626e4]

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

[a3762efc]

part of check-in [57a674fc]

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

crash tests. (CVS 2786)

[5d282b4f]

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-09-19

[fbccc85e]

part of check-in [b2d1803c]

Work around limitations of MSVC++ 6. Tickets #1429, #1437, and #1440. (CVS 2720)

2005-09-09

[ed03a35b]

part of check-in [bc8c33f9]

Detect errors returned by SetFilePointer on windows. (CVS 2681)

[5771f4b7]

part of check-in [461e3a0a]

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

2005-09-08

[6a80f686]

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-05

[4aad6cd4]

part of check-in [7b56763a]

Fix bugs introduced by checkin (2656) and do some modest code enhancements. (CVS 2657)

[8b80f418]

part of check-in [3ec58c67]

Use the unicode API to win32 where available.

Tickets #1407, #1396, #1331, #1243, #1206 (CVS 2656)

2005-06-07

[fe7b99cf]

part of check-in [62a7353d]

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

2005-03-21

[2bbbe6fb]

part of check-in [fcb5cee4]

Improved support for cygwin. Ticket #1165. (CVS 2407)

2005-02-03

[bddeae1c]

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-08

[3c0b0a3b]

part of check-in [0a90eaf3]

Fixes to the temp_store_directory pragma. (CVS 2185)

2004-12-20

[39525c41]

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-02

[9482dfc9]

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

[2b4b103d]

part of check-in [4493e287]

make diskfull test work on Windows; see check-in (1994) (CVS 1996)

[0ab81ce1]

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

[9e288782]

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-28

[feba3716]

part of check-in [f5b0e5b0]

Add sqlite_temp_directory to the windows driver. (CVS 1905)

2004-06-30

[54181eb7]

part of check-in [48b31540]

Specify ASCII versions of Win32 API functions. (CVS 1785)

2004-06-21

[84549f6c]

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-15

[337e973e]

part of check-in [e21a1813]

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

with version 3. (CVS 1598)

[a60f9ebf]

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

[44b9291d]

part of check-in [cb3cbe00]

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

2004-06-12

[d4009586]

part of check-in [dcad244f]

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

2004-06-09

[6b8f9fcc]

part of check-in [dc076345]

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

2004-06-08

[a13b85a0]

part of check-in [4dfdea73]

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

2004-06-07

[5c46f81f]

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)

[3c21eddf]

part of check-in [4f7c0961]

Progress towards getting locking to work on windows. (CVS 1536)

2004-06-06

[a5ab6da0]

part of check-in [9e6cd9ec]

Added sqlite3OsLock for win32. Assertion fault in attach.test. (CVS 1533)

2004-06-05

[0f895f04]

part of check-in [e82eb722]

Ensure blob values survive the ".dump" command of the shell. (CVS 1531)

2004-05-22

Added:

[92b51a38]

part of check-in [5c61be1c]

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值