drh
8b803c716c
Change to compile-time option that omits non-UWP system calls to
...
SQLITE_UWP. Takes steps to eliminate all non-UWP system calls when that
compile-time option is used.
FossilOrigin-Name: b167c4c96e6a753952eb4be95d6283b50a9c59f4ecf59d60cf10d8de9cb115d8
2026-05-13 18:07:01 +00:00
drh
077be44cc2
In the Windows OS interface, use CreateFileMappingFromApp() and
...
MapViewOfFilFromApp() if SQLITE_OS_WINRT is defined.
FossilOrigin-Name: 3c51436b43ab77b88134851a2773147b49a3c4fb5b0416db5e318b6e12d3b708
2026-05-13 15:11:04 +00:00
drh
1f9c2ed674
On Windows, use only GetSystemTimeAsFileTime() and not GetSystemTime().
...
Also add a TCL script that will renumber the systemcall thunk for Windows.
FossilOrigin-Name: 4b7f0130d68c7a0b98e87d09d0a661c85554215cb111478305307960deab3921
2026-05-13 13:55:31 +00:00
drh
94f56f5800
Use GetTickCount64() instead of GetTickCount() in Windows, for portability
...
to UWP.
FossilOrigin-Name: ea65ae964e21541d8f7c00ec679a608d34bc94408d9cc479b2d7fb08bf0e3cdf
2026-05-13 10:47:40 +00:00
drh
c549e28c67
Reduce the number of system calls in the os_win.c thunk from 81 down
...
to 58, as well as other simplifications.
FossilOrigin-Name: c49521739c961ed5e38424bf26b2e34d8017a85122622ceac5af7398233fe343
2026-04-29 16:09:47 +00:00
drh
90dae0d01d
Further simplifications to the interface to the Windows family of OSes.
...
An incremental check-in.
FossilOrigin-Name: f2aa6b66d2a1b5bb2dc8a44788a061a549a846244354df19b44398839578461e
2026-04-29 15:03:01 +00:00
drh
0a0a52ae93
Simplify the Windows interface by removing support for various WindowsXP
...
and WindowsCE. This is a work-in-progress. More to follow.
FossilOrigin-Name: 4dbc4d19c4f3b58d0bedd766cfba65d9624903a5ab0a340eb83ddeec058607ea
2026-04-29 14:02:23 +00:00
drh
8d41b94bb4
Fix spurious error log reports caused by [d25c8a6222d4e3f2]. See
...
[forum:/forumpost/d2326687662430c1|forum post d2326687662].
FossilOrigin-Name: 403dafc7790a2e8d1772537800760addc47d3e3555bda343c3991d56c1b36e70
2025-12-22 12:33:27 +00:00
drh
19a3f74bdc
Remove unused thunk cases from os_win.c, so that it will (hopefully) compile
...
again on WinXP.
FossilOrigin-Name: eb2c020481dd591f459cf7191d18c2499aeec210fc3fc27bb35e5abc0d9cb6d8
2025-12-22 11:28:16 +00:00
drh
d031267c17
Add new assert() statements designed to detect and prevent the kind
...
of system interface numbering errors that happened in [108691a3cb2f296f]
and that were not fixed until [fe49703034bd23fa].
FossilOrigin-Name: 4e6e551c89c4f18299b3d60369f439e80f2fe2b0e70199f649821b1dbf20c668
2025-12-12 12:06:42 +00:00
drh
48915e7c7d
Omit unused entries in the aSysCall array for the Windows driver. Fix
...
incorrect numbering in alter entries of that array.
FossilOrigin-Name: fe49703034bd23fa8f43ffdf0e23ec9613688d957adf96b3f1ea86fb02a8d86b
2025-12-12 11:50:37 +00:00
dan
462289df52
Remove from os_win.c a reference to unused system call CreateEventExW() left over from the now removed winrt support.
...
FossilOrigin-Name: c68ef69ec97da0312b95375b3af159f8a06ce1a69376d042c557dcca18d3f77e
2025-12-12 11:02:18 +00:00
drh
4a33eed6e9
Remove #ifdefs intended to make SQLite compatible with Windows RT. WinRT
...
was short-lived and has been discontinued for a long time.
FossilOrigin-Name: 108691a3cb2f296f0ede06c34271ee185f299bfd76e97a1bd06c730a28d94ff4
2025-12-06 19:56:40 +00:00
stephan
1ed6441bb1
Add SQLITE_OMIT_WAL checks around some functions to avoid defining unused statics in such builds. Fixes OMIT_WAL builds on msys2 and passes tool/omittest-msvc.tcl.
...
FossilOrigin-Name: f9b89535dc279acf617f274b6edbad0610fc8e5c76d402fc8b5b9dc656e95caa
2025-10-30 21:11:01 +00:00
drh
a105989856
Rename the file control to SQLITE_FCNTL_FILESTAT. Rename the SQL function
...
to sqlite_filestat(). Rename the enable macro to SQLITE_ENABLE_FILESTAT.
FossilOrigin-Name: ee797fec4eeace78caa2c5e463108bf1a6568db7c33d94d9fe6624cfc6b0d4fe
2025-10-25 20:46:09 +00:00
drh
2f9311c5cb
Flesh out the sqlite_file_info() function further, and in particular
...
show locks based in /proc/PID/fdinfo/FD, when that information is
available.
FossilOrigin-Name: ce75111cced8a03f05cf47ef809b9f017f2dac3c64c6008d595f28dbfec32057
2025-10-24 20:04:16 +00:00
drh
093b26e8e0
New diagnostic SQL function "sqlite_file_info()" and its associated
...
file-control SQLITE_FCNTL_GET_INFO.
FossilOrigin-Name: 56ab9692583d5b64e1ab727e08a01c0a65b4e318b455c94397663ef8d3d7b6b8
2025-10-24 17:42:03 +00:00
dan
b1406a6550
On windows, when opening a UNC path, fall back to using a single file handle shared between all connections for locking.
...
FossilOrigin-Name: 5c0202d96c3a20a2cbcd38eba5e62371606894a0cbc2da4f60e10a1b5fa7bd04
2025-08-12 17:55:34 +00:00
dan
7423ecb0a9
Fix SQLITE_OMIT_WAL builds on windows.
...
FossilOrigin-Name: 575271c3ae53c64784a2aa1e9b7c6cdcb0402022967155dd176a6b1f1e560b50
2025-07-29 11:04:32 +00:00
dan
69ce758efa
Fix os_win.c so that SQLITE_ENABLE_SETLK_TIMEOUT=2 builds work on windows.
...
FossilOrigin-Name: 8efb95e0d4670b9c5dbd8cf34512334f47951a8dff8fdadc8645f75076acd91f
2025-06-02 18:37:32 +00:00
dan
420233e375
Fix assert() statements in os_unix.c and os_win.c. Allow walsetlk_recover.test to run in non-SQLITE_ENABLE_SNAPSHOT builds.
...
FossilOrigin-Name: 9f521ecda2b8d2f383cc84e308b3a4adfcf1bd6339eb834c8fa76c8704c861b7
2025-05-31 15:10:41 +00:00
drh
4a0b7a332f
Clarify some malloc size computations to simplify the proof that they
...
are safe. Remove some code associated with cygwin that is marked "#if 0".
FossilOrigin-Name: ba8184d132a935aa1980fbfb61ff308b93d433d559db4968f9014f7653ac9c6e
2025-05-19 14:50:36 +00:00
jan.nijtmans
eb2644024a
Merge trunk. Some additional test-fixes for Cygwin
...
FossilOrigin-Name: b36adadfa202fb8951149561471c3e01085d31e1837c99806f308f234cd24a8e
2025-03-27 14:13:12 +00:00
drh
a6f6fa8675
On winOpen(), redo the read-only test on every retry attempt. Just
...
don't retry the winAccess() call.
FossilOrigin-Name: ccdd67ad9a508530ccfcec582410768c24bca4eb8b05939577fb99a50dd44b15
2025-03-26 17:05:29 +00:00
drh
4a6de7ff7c
Further attempted improvements at fast-fail for an inaccessible
...
database file.
FossilOrigin-Name: cdeb21a312d4f1a9e3009a0baf0af33857c172f7bc22bca047dcd46a03e9c964
2025-03-26 15:51:05 +00:00
drh
517a0e04d1
Attempt to reduce the amount of retry time when trying to open
...
an inaccessible database file on Windows. See
[forum:/forumpost/e7991420f54dca50|forum thread e7991420f5]
FossilOrigin-Name: 986e45912cde7cb8e6db8ba7a9364aef7187a23032be64ef6cd573163f56676d
2025-03-26 14:45:15 +00:00
stephan
42e5ceb093
Reimplement pathname conversion on Cygwin. MSC test passes/failures are on par with trunk and 'make test' running on cygwin is down to a single failure.
...
FossilOrigin-Name: 57a4de09149663ac001848773c9dffe53e30f9263e4dacc792a0267401147d25
2025-03-10 15:15:13 +00:00
stephan
7b9407af90
os_win.c patches for Cygwin (described in the cygwin-fixes branch wiki page). Makefile.msc's test target on trunk fails the same 13 tests as this branch.
...
FossilOrigin-Name: 655c60d1926adb552d37441bf9857263eae92e3806a8524e8443b81fdfd8c258
2025-03-07 06:54:04 +00:00
dan
f037440bfe
Support SQLITE_ENABLE_SETLK_TIMEOUT on windows.
...
FossilOrigin-Name: e88212b10a7829ff42ef51a02863d788c929e54161faf492f9ef2ad90fd7074e
2025-02-24 21:27:16 +00:00
dan
b081a391ce
Merge latest changes from trunk into this branch.
...
FossilOrigin-Name: 55324d1c862c42b95251a398c40930d9fa94debb1aec7d3d0ae734d6b17b4a59
2025-02-24 10:52:34 +00:00
drh
ef86b942b9
Code changes that make it easier to prove that no 32-bit integer overflows
...
happen during memory allocation. No problems fixed; this change is just
to make future maintenance easier.
FossilOrigin-Name: 215650a5a1d55bdbca9c92524804a1a54456a17f42a17e53747b21a6507506f5
2025-02-17 17:33:14 +00:00
dan
8bbce21ed7
Have the win32 VFS take a temporary shared lock (instead of the current exclusive) on the pending-byte when taking a SHARED lock on a db. Do not lock the pending-byte at all when taking an EXCLUSIVE lock if RESERVED is not already held.
...
FossilOrigin-Name: 5127509abb10cb1da35b9874ea63e0c2f882b10567606e2bdd636a50811a693c
2025-02-12 17:21:24 +00:00
dan
41f29806a1
Fix test script errors in walsetlk3.test. Tests still don't all pass.
...
FossilOrigin-Name: 56eb4114f8bf9971960998ae0b79352767657ee19b5bdfec5149906e72ba170f
2025-02-12 08:07:10 +00:00
dan
833dd3daff
Fix "unused variable" warnings in os_unix.c and os_win.c.
...
FossilOrigin-Name: 8e809632ba3bb20b7ec23ce9e6ca659c57cf1338b1fe8c33502c5f3161061dd2
2025-02-11 18:29:35 +00:00
dan
2d87894700
Experimental change to allow clients to block when taking a SHARED lock to connect to a wal mode database.
...
FossilOrigin-Name: d2d6a000fb9bf8097e0ce9979685408d183be3ab785ceeb11ec1f97a81a83e41
2025-02-10 20:46:14 +00:00
dan
462888819e
Have sqlite3_enable_setlk(-1) configure indefinite blocking locks where they are supported.
...
FossilOrigin-Name: 62009565d2f2a2c4d347e1da0d5b4ad43056742df47fd6ddb92e62f53a2b57f1
2025-01-30 15:26:16 +00:00
dan
ff6bff4059
Have windows SQLITE_ENABLE_SETLK_TIMEOUT builds block indefinitely if the busy-timeout is set to 0x7FFFFFFF.
...
FossilOrigin-Name: daefcafe799ad7613cbdff1fb1e9d40659892906875b28fbc112abd7679e48ea
2025-01-15 12:45:38 +00:00
dan
362d51a159
Omit code to link all winShm objects open on a single node into a list. This is no longer required.
...
FossilOrigin-Name: b400ab4ba99d3ed7e90c93257d729563c630ef451017a702d42f322a4e57b663
2024-12-26 16:10:15 +00:00
dan
ce50282c3b
Properly wait for asynchronous results for calls to LockFileEx() on FILE_FLAG_OVERLAPPED files even if LOCKFILE_FAIL_IMMEDIATELY, which usually causes LockFileEx() to return synchronously, is specified.
...
FossilOrigin-Name: 35b3e73c5a9efa12f9bb0dad1721fce128cd1e3bcbc87027ee4ea685a12a70d5
2024-12-24 14:44:38 +00:00
dan
800bf8fd93
Fix a problem on this branch causing a file-handle to be leaked following an OOM condition.
...
FossilOrigin-Name: 5ca12dc964b2d8c3d11a2be5be7eac0dc994cec3a8b5fdfeac4ff8dde19a5a93
2024-12-16 15:13:34 +00:00
dan
b1ad83a342
Ensure that all win32 API functions invocations in os_win.c are made via the function table. Fix asan error in test code.
...
FossilOrigin-Name: 2ffdc799c63ff8858f2aa9177ca9c74be2df5d7594cb10fb0a233537d83fd563
2024-12-11 15:30:58 +00:00
dan
d50eb9c999
Ensure windows may block on a SHARED (but not EXCLUSIVE) DMS lock.
...
FossilOrigin-Name: 55e4e7bb0074859e8c3e736e7eceb69af8408ce75135f5baa09e98aaf4e2a321
2024-12-10 19:00:07 +00:00
dan
4ab343cb7c
Enhance tests to ensure that blocking locks, and not calls to xSleep(), are being used by SQLITE_ENABLE_SETLK_TIMEOUT builds when they should be.
...
FossilOrigin-Name: c892242bb642f7a6a961e310ed8b4f1e140f8ee32c00f50021c6011c6e7e1476
2024-12-09 16:01:28 +00:00
dan
093c21342c
Assume an NT-based OS when running tests if sqlite_os_type is not set.
...
FossilOrigin-Name: 22e4aeded0a6a691fc7026f3cd90836a289dfc994269f8576d01e28fa478902b
2024-12-04 18:27:13 +00:00
dan
23498de7be
Back out minor changes not required by this branch.
...
FossilOrigin-Name: 68c34ffd2332d89cb6400bce5dad350a6e48c395924b8380cbeb0dbe64141808
2024-12-03 19:41:41 +00:00
dan
9d592359fe
Fix a problem with SQLITE_OS_WINRT builds.
...
FossilOrigin-Name: baf43e8c7da6aacce874ec30d0c9e1dcb44c5ed9de2214099d42fbbd335d2e93
2024-12-02 20:48:17 +00:00
dan
a180131454
On windows, use a separate handle for each connection for xShmLock() locks.
...
FossilOrigin-Name: 272d552f126357d7bc16d84f13a4bea823abc6ef7faf90e3cffcedb68210f52a
2024-11-30 20:00:54 +00:00
dan
f6d267491c
Ensure that file-handle winShmNode.hFile.h is used in a thread-safe manner.
...
FossilOrigin-Name: 7a32b497ab16774021924a8536e1025a0a01740a6484f0de17623a69713511d8
2024-11-25 18:47:12 +00:00
dan
1743c5f836
Fixes for code on this branch. Now appears to work, but is not tested well.
...
FossilOrigin-Name: 0568fc6dde41dd29e85e697cd1865feb4db6aaae09d5e5100b3f97cab93590eb
2024-11-25 16:54:10 +00:00
dan
6bd3faa092
Supports SQLITE_ENABLE_SETLK_TIMEOUT on windows. Does not work properly yet.
...
FossilOrigin-Name: 737ca8a9fb9dc74b28f2186d93c5101463497445d0fabba3def61fee29abf2c8
2024-11-22 21:24:08 +00:00