/ File History
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of src/os.c

2019-11-22
00:42
Revise the SQLITE_OPEN_NOFOLLOW so that it actually uses O_NOFOLLOW in the open() system call. This backs out the SQLITE_ACCESS_SYMLINK value but adds the new SQLITE_OK_SYMLINK return code from the xFullPathname method of sqlite3_vfs when that routine resolves symbolic links. O_NOFOLLOW is always included in open() system calls for journal files. file: [669cc383] check-in: [6a64fb6a] user: drh branch: trunk, size: 13298
2019-09-16
12:02
Merge the latest changes from trunk into the apple-osx branch. file: [49ec7427] check-in: [a95191de] user: drh branch: apple-osx, size: 13452
2019-08-08
19:40
Fix harmless compiler warnings. file: [20f7b32c] check-in: [1eef4dde] user: drh branch: trunk, size: 13296
2019-08-03
01:39
Give the SQLITE_TESTCTRL_PRNG_SEED two arguments. The second argument if not NULL is a pointer to a database connection which seeds the connection from its schema cookie. In this way, fuzzers can control the PRNG seed. file: [66948e07] check-in: [49aa3448] user: drh branch: prng-seed-test-control, size: 13288
2019-08-02
20:45
Add the SQLITE_TESTCTRL_PRNG_SEED test control. file: [033039bb] check-in: [3ac57231] user: drh branch: prng-seed-test-control, size: 13280
2018-10-09
22:50
Merge changes for the 3.25.0 release. file: [4c1e6111] check-in: [ddf6a54e] user: drh branch: apple-osx, size: 13215
2018-06-13
11:41
Unless SQLITE_OMIT_AUTOINIT is defined, allow sqlite3_vfs_unregister() to be called before sqlite3_initialize(). file: [8aeb0b0f] check-in: [ab6c1ae4] user: dan branch: trunk, size: 13059
2018-04-10
18:05
Merge all version 3.23.1 changes and enhancements from trunk. file: [c46d15f4] check-in: [e20fcb51] user: drh branch: apple-osx, size: 13116
14:29
When testing, avoid injecting an OOM fault into a file-control call made by SQLite on an unopened file-descriptor. file: [1cb0d1d1] check-in: [9c1a5eba] user: dan branch: trunk, size: 12960
2018-03-29
13:47
Modify the sqlite3OsFileControl() interface to detect unopened sqlite3_file objects and return SQLITE_NOTFOUND. file: [4d83f700] check-in: [1fc72b70] user: drh branch: trunk, size: 12960
2018-03-26
21:05
Do not inject OOM errors on SQLITE_FCNTL_LOCK_TIMEOUT calls as an OOM is not possible in that context. file: [750d7dca] check-in: [5474e560] user: drh branch: lowlevel-lock-timeout, size: 12893
2017-10-24
19:12
Merge all enhancements and fixes from the 3.21.0 release. file: [1975fc1d] check-in: [13be3a44] user: drh branch: apple-osx, size: 13011
2017-10-05
20:57
Fix compiler warnings that come up with SQLITE_OMIT_WAL. file: [22d31db3] check-in: [8ca0fa8d] user: drh branch: trunk, size: 12855
2017-09-09
06:10
Merge trunk enhancements file: [514aae59] check-in: [6a0b9d9d] user: drh branch: apple-osx, size: 12958
2017-08-25
01:14
Update the mechanism used to keep track of what kind of syncing to do for WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. file: [93e0979b] check-in: [bf65dae8] user: drh branch: wal-sync-refactor, size: 12802
2016-08-04
14:08
Add extra logging calls to this branch. file: [a9375299] check-in: [491f1ef3] user: dan branch: debug, size: 12748
2016-07-25
17:31
Merge 3.14 alpha changes from trunk. file: [c03b5049] check-in: [e98cefb1] user: drh branch: apple-osx, size: 12938
2016-07-09
16:14
Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". file: [add02933] check-in: [5471aca0] user: drh branch: trunk, size: 12782
2016-04-21
15:35
Merge all recent enhancements from trunk. file: [bb97ef31] check-in: [a15c49ae] user: drh branch: apple-osx, size: 12983
2016-04-14
13:16
Since the return value of sqlite3OsClose() is always ignored, we might as well make it "void" instead of "int", and thereby save 50 bytes in the compiled binary. file: [4d83917f] check-in: [7ee570e7] user: drh branch: trunk, size: 12827
2016-03-21
14:52
Merge the sqlite3_system_errno() change from trunk. file: [3aee4b94] check-in: [063f1b37] user: drh branch: apple-osx, size: 13061
2016-03-17
16:01
Experimental implementation of the sqlite3_system_errno() interface. file: [ca10edb4] check-in: [6782c87b] user: drh branch: sqlite_system_errno, size: 12905
2016-03-04
14:57
Merge recent enhancements from trunk, and especially the changes that reduce the heap-memory footprint of schemas, and defer opening and writing to statement journals. file: [4bcb5173] check-in: [2f0c195c] user: drh branch: apple-osx, size: 12945
2016-02-27
20:14
Extend the code in memjournal.c so that it subsumes the role of journal.c. And (untested) can flush journal or statement journal files to disk after they grow to a specified size. file: [f89e3ca1] check-in: [e0b0b431] user: dan branch: memjournal-exp, size: 12789
2016-02-18
01:36
Merge recent performance enhancements and the enhanced API_ARMOR from trunk. file: [be9908f7] check-in: [b7fa0fb3] user: drh branch: apple-osx, size: 12941
2016-02-13
23:43
Enhance ability to debug out-of-memory errors. file: [ca9a104b] check-in: [6a9c4a3e] user: mistachkin branch: noMemBkpt, size: 12785
17:35
Merge changes from the 3.11.0 release candidate. file: [4c975b17] check-in: [d198a6db] user: drh branch: apple-osx, size: 12914
2016-02-11
21:28
Enhance the MSVC makefile to enable building 'testfixture' fully from source code. file: [205fa2ba] check-in: [54ff3a26] user: mistachkin branch: testFixtureSrc, size: 12758
2014-10-27
18:42
Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. file: [5822c2b8] check-in: [10aaf3b1] user: drh branch: apple-osx, size: 12075
2014-10-24
00:35
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. file: [8fd25588] check-in: [c297a84b] user: drh branch: api-armor, size: 11919
2014-05-08
23:01
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. file: [25df79ba] check-in: [9411d7dc] user: drh branch: apple-osx, size: 11993
2013-12-19
17:04
Do not inject OOM faults into SQLITE_FCNTL_COMMIT_PHASE_TWO file-control invocations. It causes problems for test scripts. file: [1b147e4c] check-in: [8eb28d23] user: dan branch: trunk, size: 11837
2013-04-15
17:03
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. file: [b4ad7133] check-in: [ea1404a1] user: drh branch: trunk, size: 11168
2013-04-08
20:47
Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is defined. Automatically define this macro for OpenBSD and QNX. Other systems are likely to be added to the disabled list over time. file: [ca679b29] check-in: [8a4314a3] user: drh branch: trunk, size: 11175
2013-03-25
18:25
Simulate OOM errors in the sqlite3OsFetch() function. Run malloc.test as part of the "mmap" permutation. file: [809d0707] check-in: [77443ef2] user: dan branch: experimental-mmap, size: 10832
17:00
Change the signature of the xUnfetch method to "int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p)". file: [17c6e6e4] check-in: [115b8305] user: dan branch: experimental-mmap, size: 10807
2013-03-23
21:00
Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch. file: [a7ec2ddc] check-in: [1431be95] user: dan branch: experimental-mmap, size: 10791
2013-03-20
14:26
When possible, use memory mapping when appending new pages to a database file. file: [87ea1cd1] check-in: [14135da3] user: dan branch: experimental-mmap, size: 11065
2013-03-19
19:28
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". file: [81a82a73] check-in: [6183f1bd] user: dan branch: experimental-mmap, size: 10717
2012-01-14
14:13
Merge the latest trunk changes into the apple-osx branch. file: [4c8c8d72] check-in: [2cc414cd] user: drh branch: apple-osx, size: 10733
2012-01-10
17:59
Refactor sqlite3OsFileControlNoFail() into sqlite3FileControlHint(). file: [e1acdc09] check-in: [722735a4] user: drh branch: trunk, size: 10577
16:56
Add function sqlite3OsFileControlNoFail(), which is the same as sqlite3OsFileControl() except that it does not simulate OOM errors. This saves adding calls to the BenignMalloc() functions around each of the invocations of sqliteOsFileControl() that ignore the return code. file: [dedfe478] check-in: [af59b182] user: dan branch: trunk, size: 10145
2012-01-05
16:07
Change the unix VFS so that it ignores all but the least-significant bit of the syncDir flag to xDelete. Add an assert to prove that the core only ever uses that one bit. file: [f03339a4] check-in: [e75fd3b2] user: drh branch: trunk, size: 9996
2012-01-03
21:54
Pull all the latest trunk changes over into the apple-osx branch. file: [74c5ae99] check-in: [8a048423] user: drh branch: apple-osx, size: 10114
2011-12-30
05:08
Fix some typos in comments. No code changes. file: [519bdf7c] check-in: [4edc5994] user: dan branch: trunk, size: 9958
2011-12-08
21:08
Merge the latest trunk changes into the apple-osx branch. file: [499fc9d3] check-in: [59e0d4f3] user: drh branch: apple-osx, size: 10114
2011-12-01
02:32
Add a prototype implementation of stdio-like routines for accessing the VFS. This is intended as documentation. The code is untested. There is no guarantee that any of this will ever make it into trunk. Substantial revision is possible prior to reaching trunk, if it ever does. file: [c2dcf314] check-in: [8936542b] user: drh branch: vfs-stdio, size: 15978
2011-11-14
01:55
Begin making experimental changes to use mmap() for reading content from a database. The code compiles, but crashes on the test suite. file: [ac54d219] check-in: [09be42d5] user: drh branch: mmap-experimental, size: 11188
2011-11-12
03:17
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. file: [28bbdab2] check-in: [76dec8aa] user: mistachkin branch: winSyscall, size: 9958
2011-10-21
17:18
Merge the latest trunk changes into the apple-osx branch. file: [c7a716e3] check-in: [be62ef05] user: drh branch: apple-osx, size: 9817
2011-10-15
00:16
Added the tool/warnings-clang.sh script. Changes so that there are no warnings with either gcc or clang even including FTS4 and RTREE and both with and without SQLITE_THREADSAFE=0. file: [5d9b0278] check-in: [39408702] user: drh branch: trunk, size: 9661
2011-09-19
20:32
Merge in all trunk changes through the 3.7.8 release. file: [0668c16a] check-in: [ade72b18] user: drh branch: apple-osx, size: 9793
2011-09-17
15:34
Make sure the file structure is zeroed prior to calling the VFS to open a file. file: [3b3f69c3] check-in: [29c4d0dd] user: mistachkin branch: trunk, size: 9637
2011-08-02
18:25
Merge all the latest trunk changes into the apple-osx branch. file: [af614089] check-in: [77376b33] user: drh branch: apple-osx, size: 9789
2011-07-20
17:13
All the SQLITE_OPEN_URI flag to propagate down into the VFS. file: [fcc71742] check-in: [29866f95] user: drh branch: trunk, size: 9633
2011-06-24
20:47
Merging local changes to apple-osx file: [1663f375] check-in: [34f0efa2] user: adam branch: apple-osx, size: 9789
2010-09-01
19:29
Identify additional requirements in the sqlite3_vfs object documentation. file: [22ac61d0] check-in: [47064453] user: drh branch: trunk, size: 9633
2010-07-14
14:48
On unix, try to create the *-wal and *-shm files with the same permissions as the associated database file. file: [60178f51] check-in: [e5d180ee] user: dan branch: trunk, size: 9319
00:14
Change the name of the xShmClose VFS method to xShmUnmap, everywhere. file: [a0ecbd19] check-in: [c2d27cf5] user: drh branch: experimental, size: 9317
2010-07-13
18:44
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. file: [a4548410] check-in: [f4780bde] user: dan branch: experimental, size: 9317
2010-07-02
19:49
Changes to os_win.c to have it return same error code as os_unix.c. file: [c3488216] check-in: [33b6f069] user: shaneh branch: mistake, size: 9258
11:27
Additional test cases to cover branches in pager.c. file: [1b3a1edf] check-in: [eddfb2b4] user: dan branch: trunk, size: 9280
2010-06-14
14:07
Remove xShmGet/Size/Release from the sqlite3_vfs structure. Change the name of xShmPage to xShmMap. Remove some code that is now unused from os_unix.c and some of the test VFS implementations. file: [9c4a2f82] check-in: [fc0cabc1] user: dan branch: experimental, size: 9167
2010-06-11
19:04
Experimental change to the xShmXXX parts of the VFS interface. file: [00ab9dcd] check-in: [ca68472d] user: dan branch: experimental, size: 9519
2010-05-30
19:55
Initial code for incremental checkpoint in WAL mode. This check-in compiles on unix and runs as long as you do not engage WAL mode. WAL mode crashes and burns. Consider this check-in a baseline implementation for getting the new capability up and running. file: [15169841] check-in: [ef3ba7a1] user: drh branch: wal-incr-ckpt, size: 9344
2010-05-20
23:51
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. file: [2285265f] check-in: [1bd011c9] user: drh branch: trunk, size: 9351
2010-05-18
13:27
Mark the shared-memory in the WAL implementation as volatile. file: [b994b2f4] check-in: [0a678790] user: drh branch: trunk, size: 9272
2010-05-12
18:01
Refactoring the VFS-SHM methods used by WAL. This version compiles and runs non-WAL test cases but crashes and burns on wal.test. file: [c0a5dfce] check-in: [2b00152c] user: drh branch: wal-refactor, size: 9266
2010-05-03
14:32
Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available. Provide an implementation of xCurrentTimeInt64 for os_unix.c. file: [aec69225] check-in: [ab77b3ae] user: drh branch: trunk, size: 8600
2010-01-26
01:14
Updated open mask to include SQLITE_OPEN_AUTOPROXY file: [8bc63cf9] check-in: [7c3bede3] user: adam branch: apple-osx, size: 8393
2009-11-16
23:36
Make sure the output of sqlite3OsFullPathname is initialized even if the fails due to I/O or OOM errors. file: [4500ff27] check-in: [e4943adb] user: drh branch: trunk, size: 8393
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [1914b482] check-in: [f6c045f6] user: drh branch: trunk, size: 8374
2009-09-09
14:17
Added SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags as possibilities to sqlite3_open_v2(), to override the global shared cache mode setting. Ticket [9fd0bc36639c15] file: [8d62d8d9] check-in: [f509eb8b] user: drh branch: trunk, size: 8436
2009-08-17
16:01
Always call sqlite3_malloc() in sqlite3OsInit(), even when not compiled with SQLITE_TEST. file: [9fea283e] check-in: [b98a8706] user: drh branch: trunk, size: 8186
15:52
Move error simulation code from the sqlite3_os_init() functions into a wrapper. file: [3855c23c] check-in: [67ad21ab] user: dan branch: trunk, size: 8125
2009-07-27
11:41
Do not simulate OOM conditions in the sqlite3OsXXX() calls if the underlying file is an in-memory journal file. (CVS 6946) file: [5029ae6c] check-in: [d4868117] user: danielk1977 branch: trunk, size: 7768
2009-03-25
14:24
When a VFS.xOpen fails, make sure the pMethods pointer is zeroed on the sqlite3_file object so that subsequent xClose() operations against that same file handler are no-ops. Bug in the test_async.c module only - not in the core library. Ticket #3744. (CVS 6384) file: [c2aa4a7d] check-in: [c32b4541] user: drh branch: trunk, size: 7639
2008-12-08
18:19
The amalgamation now compiles cleanly on GCC with options -pedantic-errors -Wno-long-long. (CVS 5991) file: [ed93a6b4] check-in: [73c7302c] user: drh branch: trunk, size: 7569
2008-10-07
15:25
Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0 option always removes all mutex code. For application-defined mutexes only, use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1. Ticket #3421. (CVS 5779) file: [0b411644] check-in: [02a12eb1] user: drh branch: trunk, size: 7571
2008-09-23
16:41
Always transform error code SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. This was already happening in most places. (CVS 5738) file: [74ac327e] check-in: [046ef072] user: danielk1977 branch: trunk, size: 7591
2008-09-02
17:18
Fix the position of the SQLITE_WSD macro in the declaration of global variable vfsList. (CVS 5665) file: [543976ef] check-in: [e8694461] user: danielk1977 branch: trunk, size: 7596
10:22
Change some more global variables to work with OMIT_WSD. (CVS 5660) file: [364d7c79] check-in: [46acaf58] user: danielk1977 branch: trunk, size: 7595
2008-07-28
19:34
Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) file: [939ae769] check-in: [e48f9697] user: drh branch: trunk, size: 7529
2008-06-26
18:16
Documentation updates in sqlite.h.in. No changes to code. (CVS 5315) file: [292b3b4a] check-in: [168fd6f8] user: drh branch: trunk, size: 7524
10:41
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) file: [2b0b710d] check-in: [cdd4cf4c] user: danielk1977 branch: trunk, size: 7533
08:29
Fix a race condition in sqlite3_initialize(). (CVS 5310) file: [a8ef763c] check-in: [70b2ed2a] user: danielk1977 branch: trunk, size: 7526
2008-06-25
17:19
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) file: [3e98547e] check-in: [8fa33b79] user: danielk1977 branch: trunk, size: 7631
2008-06-19
16:07
Fix some minor compile problems. (CVS 5248) file: [b1c73547] check-in: [7d38da3e] user: drh branch: trunk, size: 8085
2008-06-18
17:09
Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) file: [e9f37351] check-in: [5059644c] user: danielk1977 branch: trunk, size: 8093
2008-06-15
02:51
Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) file: [cf7e09d4] check-in: [65fe7b62] user: drh branch: trunk, size: 8093
2008-06-13
18:24
Progress toward implementation of sqlite3_config() and a rework of the mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218) file: [4f253152] check-in: [a03c5af1] user: drh branch: trunk, size: 8095
2008-06-06
11:11
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) file: [284abcb9] check-in: [5173b3e8] user: danielk1977 branch: trunk, size: 7838
2008-06-05
11:39
Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188) file: [0f6fd93b] check-in: [4226ac54] user: danielk1977 branch: trunk, size: 7966
2008-05-29
02:53
sqlite3OsDl*() APIs can be omitted if SQLITE_OMIT_LOAD_EXTENSION defined. (CVS 5171) file: [541ea39f] check-in: [7c51a97d] user: shane branch: trunk, size: 7979
2008-05-16
04:51
Add more version tags to files that lack them. Ticket #3120. (CVS 5137) file: [9348e092] check-in: [81a8c70e] user: danielk1977 branch: trunk, size: 7910
2008-05-13
19:41
On instruction from DRH, only do malloc failure tests for O/S ops on non-Windows systems. Better test fixture code will be introduced in 3.6.0 to add this coverage back in for Windows. (CVS 5130) file: [10ec3946] check-in: [e4aab150] user: shane branch: trunk, size: 7848
2008-05-07
14:49
If an error occurs within xAccess(), it should return -1. Remove an assert() that was preventing it from doing so. (CVS 5098) file: [f9708b7e] check-in: [3fbcef46] user: danielk1977 branch: trunk, size: 7827
2008-04-08
03:09
Replace always-true condition with assertion (CVS 4970) file: [d811a3e1] check-in: [be7f3240] user: mlcreech branch: trunk, size: 7855
2008-03-27
22:42
Allow the xAccess method in the VFS to return -1 to signal an I/O error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925) file: [7bc8d9b1] check-in: [3cb704c4] user: drh branch: trunk, size: 7859
2008-03-26
17:18
Work around problems with compilers that do not allow C preprocessor macros with empty arguments. (CVS 4921) file: [9b943f71] check-in: [afe1963e] user: drh branch: trunk, size: 7731
2008-02-13
18:25
Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) file: [2f2753b8] check-in: [990237e2] user: danielk1977 branch: trunk, size: 7467
2008-01-23
03:03
Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when compiling without -DSQLITE_DEBUG=1. (CVS 4744) file: [50c0c170] check-in: [5375ad6b] user: drh branch: trunk, size: 7468
2008-01-22
11:50
Move the test (sqlite3_simulate_device) functionality out of the main code and into a test vfs. (CVS 4737) file: [32251c04] check-in: [17e7bd6c] user: danielk1977 branch: trunk, size: 7369
2007-10-23
14:49
Make sure the sqlite3_vfs_register() and sqlite3_vfs_unregister() APIs work right even if not VFS is currently registered. Ticket #2738. (CVS 4505) file: [8360932f] check-in: [c3650087] user: drh branch: trunk, size: 8183
2007-10-03
08:46
Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454) file: [6a84b6ff] check-in: [12eca32a] user: danielk1977 branch: trunk, size: 8145
2007-09-17
07:02
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) file: [3b66834a] check-in: [8b29f5fb] user: danielk1977 branch: trunk, size: 7219
06:06
Change the names of xGetTempName and sqlite3OsGetTempName to xGetTempname. To be consistent with xFullPathname and sqlite3OsFullPathname. (CVS 4432) file: [521a698a] check-in: [ad3687b1] user: danielk1977 branch: trunk, size: 7160
2007-09-02
17:52
The sqlite3_vfs_register() interface now calls sqlite3_vfs_find(0) to make sure the VFS subsystem is initialized. Ticket #2611. (CVS 4369) file: [198c6c55] check-in: [4a9999a3] user: drh branch: trunk, size: 7160
2007-09-01
06:51
Fix for registration of non-default vfs objects. (CVS 4360) file: [27dea970] check-in: [5f48fb95] user: danielk1977 branch: trunk, size: 7100
2007-08-31
18:34
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) file: [cc8b7435] check-in: [306586c4] user: drh branch: trunk, size: 7097
16:11
Initial implementation of the sqlite3_file_control() interface. Compiles and passes all historical tests but the new method is itself untested. (CVS 4353) file: [8e6ffe83] check-in: [d3ab3e39] user: drh branch: trunk, size: 7428
2007-08-24
16:08
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) file: [a8ed3c49] check-in: [b8451da3] user: drh branch: trunk, size: 7396
03:51
The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) file: [3b0d3720] check-in: [3a68fcdd] user: drh branch: trunk, size: 8033
2007-08-23
08:06
Add some tests for the atomic-write optimization. (CVS 4275) file: [86593b6e] check-in: [e2cc7b4a] user: danielk1977 branch: trunk, size: 8018
2007-08-22
11:22
Add code for the atomic-write optimisation. Disabled by default. (CVS 4268) file: [d8f02931] check-in: [581fadfe] user: danielk1977 branch: trunk, size: 7204
2007-08-21
13:07
Fix some problems in the crash-test backend. (CVS 4256) file: [89b93d67] check-in: [5bced239] user: danielk1977 branch: trunk, size: 7160
10:44
Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) file: [dfe47181] check-in: [fbbd5bda] user: drh branch: trunk, size: 7122
2007-08-20
22:48
Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253) file: [c9f91550] check-in: [1315bd8e] user: drh branch: trunk, size: 7138
14:23
Changes to crash-test io backend (test6.c) so that it works with the sqlite3_vfs interface. (CVS 4247) file: [68c46a16] check-in: [40f66ada] user: danielk1977 branch: trunk, size: 4878
2007-08-18
10:59
Further progress on migration to sqlite3_vfs. (CVS 4242) file: [f08ddf81] check-in: [a258c4ec] user: danielk1977 branch: trunk, size: 4717
2007-08-17
16:50
Remove some old OsFile and IoMethod related code. Add the sqlite3OsLockState function. (CVS 4241) file: [dce5a35b] check-in: [08a0f480] user: danielk1977 branch: trunk, size: 4695
15:53
Begin migration to using sqlite3_vfs interface. (CVS 4240) file: [c8034df1] check-in: [af3e3c7a] user: danielk1977 branch: trunk, size: 4721
2007-08-15
17:08
Modify the crash-recovery test code in test6.c for 3.5. Also change some other code to use the new sqlite3_io_methods interface. Lots of things are broken now. (CVS 4228) file: [e2faefbe] check-in: [af9503da] user: danielk1977 branch: trunk, size: 3092
2007-05-08
21:45
Remove compiler warnings in the amalgamation. (CVS 3960) file: [1f10b47a] check-in: [c5754530] user: drh branch: trunk, size: 2961
2007-04-05
21:58
Fix the amalgamation so that it works with -DSQLITE_ENABLE_REDEF_IO. Change tclsqlite.c so that it can be appended to the amalgamation. Create a new amalgamation of header files for use by projects that want to redefine their own I/O interface using -DSQLITE_ENABLE_REDEF_IO. (CVS 3817) file: [4650e98a] check-in: [f2caff87] user: drh branch: trunk, size: 3053
2007-03-29
18:19
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) file: [5a194b9b] check-in: [0fb9af1d] user: drh branch: trunk, size: 3032
2007-03-19
05:54
Add new OS file method to return the sector-size of the underlying storage: sqlite3OsSectorSize() (CVS 3700) file: [6df3e9c2] check-in: [5752d84d] user: danielk1977 branch: trunk, size: 2944
2006-01-24
10:58
General test coverage improvements. (CVS 3022) file: [59f05de8] check-in: [153940af] user: danielk1977 branch: trunk, size: 2866
2006-01-07
16:06
Enable redefinable I/O if the SQLITE_ENABLE_REDEF_IO macro exists. (CVS 2883) file: [1d1a61cd] check-in: [e170e157] user: drh branch: trunk, size: 2631
2006-01-06
03:29
Enable async testing. Modify the OS layer interface. Add the sqlite3_aux.h include file. Add tests for boolean value representation in file format 4. (CVS 2866) file: [a1953975] check-in: [b8332aa8] user: drh branch: trunk, size: 2165
2005-12-15
10:11
Add the sqlite3_os_routine_set()/get() functions. (CVS 2818) file: [7b4a002d] check-in: [c1ed79f5] user: danielk1977 branch: trunk, size: 3142
2005-11-30
03:20
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) file: [bdd3a2fd] check-in: [bd8740d1] user: drh branch: trunk, size: 2095 Added
2005-06-06
15:07
Handle failures of getcwd() without segfaulting. Ticket #1274. (CVS 2491) file: [617db07b] check-in: [c1bd0a15] user: drh branch: version_2, size: 51661
2005-02-14
00:21
Fix the vacuum bug in version 2.8. Also prepare for release 2.8.16. (CVS 2326) file: [989942fc] check-in: [0eaebad5] user: drh branch: version_2, size: 51644
2004-06-26
14:40
Fold in changes submitted by the PHP developers. (CVS 1742) file: [8cfb27bd] check-in: [a4a25708] user: drh branch: version_2, size: 51595
2004-06-19
11:57
Fix a compiler warning in os.c. (CVS 1636) file: [6a8cf1c1] check-in: [28b737b5] user: drh branch: version_2, size: 51513
2004-05-10
10:34
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) file: [ddcda92f] check-in: [2242423e] user: danielk1977 branch: trunk, size: 51059
2004-05-08
08:23
Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) file: [4092dcc8] check-in: [8af6474c] user: danielk1977 branch: trunk, size: 51050
2004-05-07
00:57
Add the sqlite_temp_directory global variable which, if set, defines the directory in which temporary files are created. (CVS 1316) file: [edcd42ad] check-in: [c90ed20d] user: drh branch: version_2, size: 51507
2004-03-13
14:00
Fix the min/max optimizer so that it works when the FROM clause is a subquery. Ticket #658. (CVS 1293) file: [5f113827] check-in: [31c94acc] user: drh branch: trunk, size: 50984
2004-02-29
00:11
Fix some compiler warnings in LCC. The warnings did not indicate real problems. Ticket #634. Not all warnings in ticket #634 were fixed. (CVS 1276) file: [afcc304d] check-in: [e97089b7] user: drh branch: trunk, size: 50983
2004-02-11
09:46
Refactor the interface to the randomness generator. (CVS 1224) file: [f5fc4954] check-in: [f2bdccf4] user: drh branch: trunk, size: 50979
2004-01-12
00:39
On unix, embargo close() operations until all locks have cleared from the file. Ticket #561. (CVS 1171) file: [681ec362] check-in: [1ebe5fc7] user: drh branch: trunk, size: 50804
2004-01-06
00:44
Add the sqlite_current_time variable for testing purposes. (CVS 1156) file: [d5a13117] check-in: [23fa407d] user: drh branch: trunk, size: 44844
2003-12-31
16:00
Fix a bug (ticket #541) introduced by the previous check-in ((1149)). (CVS 1150) file: [0412e983] check-in: [64624400] user: drh branch: trunk, size: 44554
13:21
Reduce the randomness in the sqliteRandomSeed() routine in order to silence bogus errors from valgrind. Tickets #535 and #536. (CVS 1149) file: [b8e16216] check-in: [cfe0acf9] user: drh branch: trunk, size: 44522
2003-12-19
08:40
A better fix for ticket #530 - one that is likely to work on unix implementations in addition to linux. Also more tests for multi-thread locking added. (CVS 1138) file: [3460bc83] check-in: [7dddbeb5] user: drh branch: trunk, size: 44028
02:52
Add new thread-testing code and fix locking under Linux threads. Ticket #530. (CVS 1137) file: [000b62b9] check-in: [b36a4bb6] user: drh branch: trunk, size: 43971
2003-12-06
21:43
Always use "(char*)0" to terminate the argument list of sqliteSetString(). This is needed for 64-bit systems that use a 32-bit integer by default. (CVS 1126) file: [226d32db] check-in: [656c9038] user: drh branch: trunk, size: 43818
2003-08-10
16:16
Make the sqliteOsCurrentTime() function work for Windows. Code contributed by "e4liberty" on the mailing list. (CVS 1071) file: [97df440b] check-in: [02fac304] user: drh branch: trunk, size: 43743
2003-08-09
21:32
Add experimental date and time functions based on julian day number. (CVS 1069) file: [acb42a65] check-in: [a6197e20] user: drh branch: trunk, size: 43386
2003-07-27
18:59
When creating a new journal file, open a (read-only) file descriptor on the directory containing the journal and sync that directory once to make sure that the journal filename entry gets into the directory. Ticket #410. (CVS 1066) file: [b0ae51da] check-in: [09c10fe3] user: drh branch: trunk, size: 43042
2003-07-22
00:39
Make sure temporary file names in windows have a full 15 characters of random text at the end. (CVS 1059) file: [2f24ede4] check-in: [6ccb92b1] user: drh branch: trunk, size: 41188
2003-06-28
16:20
Fix a bug in the soundex() code. Ticket #367. Add tests for ticket #261 even thought the problem could not be reproduced. (CVS 1035) file: [0d5252d6] check-in: [e2ca936f] user: drh branch: trunk, size: 41182
2003-06-04
16:24
Fix a bug in UPDATE OR REPLACE that was introduced by check-in (999). Also clean up some compiler warnings for VC++. (CVS 1005) file: [4f540b4e] check-in: [af6f2bdf] user: drh branch: trunk, size: 41185
2003-05-29
17:43
Modify the windows locking code so that it works correctly for a database being shared between Win95/98/ME and WinNT/2K/XP systems. Ticket #310. (CVS 988) file: [080238f0] check-in: [8c402db7] user: drh branch: trunk, size: 41204
2003-04-26
02:40
Do not use the return value of fcntl() to find the reason that it failed. Use errno instead. Tickets #240 and #270. (CVS 938) file: [94b618c0] check-in: [acf9e980] user: drh branch: trunk, size: 40050
2003-04-25
13:22
Make VACUUM work even if multiple processes have the database open at once. (CVS 933) file: [e56853ea] check-in: [caa96028] user: drh branch: trunk, size: 40038
2003-04-17
02:54
Change the shell to use the sqliteIsNumber() routine for determining if values are numeric. Modified os.c so that it should now work with DJGPP - though I have no way of testing this. (CVS 913) file: [7274951e] check-in: [35caefe3] user: drh branch: trunk, size: 39996
2003-04-06
20:44
Simplify the BTree interface by shortening names. Added two new methods for accessing the current filename and for changing the name of the database file. (CVS 900) file: [c33ebb32] check-in: [185d8dc8] user: drh branch: trunk, size: 39588
2003-03-19
03:14
Modifications to the VDBE to support more than one database file. (CVS 878) file: [dfed4609] check-in: [875da9ee] user: drh branch: trunk, size: 39584
2003-02-16
22:21
Added test code to check for file descriptor leaks. All regression tests pass now on both win2k and linux. (CVS 868) file: [b12203e1] check-in: [75ba7828] user: drh branch: trunk, size: 39181
2003-01-21
02:39
In the pager, cache a pointer to the first page on the freelist that does not need to be synced. This makes a fetch of a page that is not in cache go a lot faster when the cache is full. This check-in also adds some performance instrumentation to the OS layer. (CVS 842) file: [ed27e178] check-in: [00f08fc0] user: drh branch: trunk, size: 38728
2003-01-16
13:42
Improvements to the pager to help large updates against a large database run faster. Also improved the testing of the pager rollback algorithms. (CVS 835) file: [3a652608] check-in: [717523d3] user: drh branch: trunk, size: 38093
2003-01-08
13:02
Port ot MacOS Classic. Ticket #218. (CVS 820) file: [28447687] check-in: [13f82d67] user: drh branch: trunk, size: 38094
2002-12-07
21:45
Save the full pathname of the database file so that journalling still works even if the user changes working directories after opening the databae. Ticket #200. (CVS 798) file: [74002280] check-in: [1c58b4fc] user: drh branch: trunk, size: 26326
2002-12-02
04:25
Change to the pager to avoid opening journal files unnecessarily. This can sometimes results in a significant speed improvement. (CVS 791) file: [cb829aa5] check-in: [fa5c0425] user: drh branch: trunk, size: 25529
2002-12-01
02:00
Fixed large file support under Linux. I'm unable to test under Windows. Ticket #191. (CVS 790) file: [b3160bb7] check-in: [9864a126] user: drh branch: trunk, size: 25290
2002-11-09
00:33
Try to better detect when the library is compiled for large file support (LFS) but the support is not available in the host OS kernel. (CVS 782) file: [caf5a34b] check-in: [a29d60ec] user: drh branch: trunk, size: 25035
2002-11-06
14:08
Add large file support to Windows. Change large file support for Unix so that it compiles automatically - without requiring special options on the compiler command line. (CVS 781) file: [ebe65e9a] check-in: [2008b56f] user: drh branch: trunk, size: 24368
00:59
Changes to include files so that the >2GB file patch will compile under BSD. (CVS 780) file: [da4cd10a] check-in: [81bb1aed] user: drh branch: trunk, size: 24114
2002-11-05
23:03
Add support for databases larger than 2GB under Unix. Must be compiled with -D_FILE_OFFSET_BITS=64 and -D_LARGEFILE_SOURCE in order to work with larger databases. (CVS 778) file: [355c66ca] check-in: [a3f67fe9] user: drh branch: trunk, size: 24178
2002-10-20
18:19
Rework the changes for ticket #176 (check-ins (760) and (761)) to be more consistent with the rest of the source code. (CVS 768) file: [ede7346d] check-in: [f50a177b] user: drh branch: trunk, size: 24067
2002-10-17
09:01
Minor coding fix in getting the windows platform version, when multithreading (CVS 761) file: [c045297a] check-in: [b53ab71d] user: mike branch: trunk, size: 23599
00:38
fix for locking in Windows (CVS 760) file: [2c26f354] check-in: [83add34f] user: mike branch: trunk, size: 23570
2002-10-12
13:44
Remove the call to srand() and add better comments to the sqliteOsRandomSeed() routine. Ticket #163. (CVS 759) file: [a099c705] check-in: [d87a886d] user: drh branch: trunk, size: 22559
2002-09-05
16:08
Fix for ticket #146: Correctly handle reads of unused disk blocks at the end of the file. (CVS 743) file: [091a8929] check-in: [f5c26547] user: drh branch: trunk, size: 22567
2002-08-14
12:56
Implement probabilistic reader/writer locks under windows so that windows can have multiple simultaneous readers. (CVS 714) file: [00d10655] check-in: [2127de3f] user: drh branch: trunk, size: 22238
00:10
Fix for ticket #132: make the working directory the last choice for where to write temporary files, not the first choice. (CVS 712) file: [35a3d362] check-in: [26a4e7e7] user: drh branch: trunk, size: 20388
2002-08-02
10:36
Remove the restriction that a transaction cannot be started by one linuxthread and continued by another. Leave in the documentation the warning about not carrying a database connection across fork() but do not test for it any more. Ticket #130. (CVS 701) file: [96659740] check-in: [bdbdb866] user: drh branch: trunk, size: 20388
2002-07-13
17:23
Partial fix for ticket #96: Return SQLITE_MISUSE from sqlite_exec() if called from a child process with an active transaction that was started in the parent. (CVS 675) file: [edb22daa] check-in: [72a609ec] user: drh branch: trunk, size: 20617
2002-07-07
16:52
More rollback problems: Fix two more errors introduced by checking (410) that can cause database corruption after a ROLLBACK. Also add new tests to make sure everything is working this time. (CVS 663) file: [69025683] check-in: [f6e24d5c] user: drh branch: trunk, size: 20389
2002-05-29
12:44
Remove extra \ characters from temporary filenames under windows. (Ticket #52) (CVS 596) file: [9cc40c53] check-in: [ed11abc8] user: drh branch: trunk, size: 20183
2002-03-20
00:00
One more change before 2.4.2: Make the os.h header file more robust in detecting whether to use unix or windows. (CVS 434) file: [5ab8b6b4] check-in: [c2e0b790] user: drh branch: trunk, size: 20099
2002-03-05
01:11
Add the ability to turn of calls to fsync() using the "synchronous" pragma. Increased the default cache size from 100 to 2000 and made the "cache_size" pragma persistent. (CVS 418) file: [db969ecd] check-in: [414da4af] user: drh branch: trunk, size: 20428
2002-02-18
12:48
Enhancement to Windows "file-exists" function by Joel Lucsy. (CVS 374) file: [f6bc9b7a] check-in: [d3d59261] user: drh branch: trunk, size: 20040
2002-02-02
15:01
Checkpoint code added to the pager. Regression tests work but the new APIs have not been tested yet. (CVS 361) file: [1953080d] check-in: [aaa53e11] user: drh branch: trunk, size: 20231
2002-01-15
18:39
Added implementations for sqliteOsEnterMutex() and sqliteOsLeaveMutex(). (CVS 348) file: [c615faa4] check-in: [f8a026a3] user: drh branch: trunk, size: 19897
2002-01-14
09:28
Fix warning messages in VC++. Patches from nicolas352001. (CVS 347) file: [dd91ef21] check-in: [f3038d21] user: drh branch: trunk, size: 18707
2001-12-14
15:09
Fix a race condition in the locking code that would sometimes cause SQLITE_PROTOCOL or SQLITE_CORRUPT to be returned when SQLITE_BUSY should have been returned. (CVS 326) file: [07882cde] check-in: [b0d21887] user: drh branch: trunk, size: 18702
2001-12-06
13:24
Bug fix in the sqliteOsLock() and sqliteOsUnlock() routines of POSIX. Version 2.1.5. (CVS 325) file: [f4d19ca9] check-in: [66945406] user: drh branch: trunk, size: 17484
2001-11-22
00:01
Fix a bug in the locking protocol. (CVS 315) file: [d7dc6814] check-in: [a9db1c12] user: drh branch: trunk, size: 17439
2001-11-09
22:41
Minor bugs fixed. (CVS 307) file: [d1c5c12b] check-in: [6e7e7dbf] user: drh branch: trunk, size: 17384
2001-10-22
02:58
More changes for 2.0.7. (CVS 293) file: [66b67747] check-in: [f8328a5f] user: drh branch: trunk, size: 17352
2001-10-18
12:34
Support for UTF-8 and ISO8859 characters in identifiers. Bug fix in the column name generator for selects (was coreing). (CVS 290) file: [2a501026] check-in: [22948fc6] user: drh branch: trunk, size: 17199
2001-10-15
00:44
Added support for the COUNT_CHANGES pragma in order to help out the ODBC driver. Fixed a but on count(*) when applied to empty tables. (CVS 289) file: [886bdd6c] check-in: [747bf1b3] user: drh branch: trunk, size: 17194
2001-10-12
17:30
Fix an assertion failure when the disk fills up. Add tests for a full disk situation. (CVS 285) file: [cece4ac6] check-in: [0a7848b6] user: drh branch: trunk, size: 17192
2001-10-09
12:39
More changes prior to release 2.0.2. Mostly comment changes. But there was also a minor change to temptable.test so that it would work under Windows. (CVS 282) file: [a83f4cb8] check-in: [864349de] user: drh branch: trunk, size: 16398
04:19
Fix the locking protocol. (CVS 280) file: [64d0015b] check-in: [484b82d8] user: drh branch: trunk, size: 13437
2001-10-08
13:22
Support for temporary tables added. Still need more testing. (CVS 279) file: [d3f435d8] check-in: [9368c62e] user: drh branch: trunk, size: 9724
2001-09-23
19:46
Additional test cases with locking fixes. Also, make the code thread-safe. (CVS 262) file: [45376582] check-in: [bd7d6a64] user: drh branch: trunk, size: 9656
2001-09-20
01:44
2.0-Alpha-2 release (CVS 258) file: [faf9f484] check-in: [d2a1aac4] user: drh branch: trunk, size: 9600
2001-09-19
13:58
Add the OpenReadOnly() OS method to fix a bug in the pager. (CVS 257) file: [43735db0] check-in: [82db5456] user: drh branch: trunk, size: 9493
13:22
Trying to get the OS abstraction layer to work. (CVS 256) file: [6ed6f619] check-in: [abff526d] user: drh branch: trunk, size: 9017
2001-09-17
20:25
Add a new column in the SQLITE_MASTER table to record the root page number of primary key indices. (CVS 252) file: [2e0daeca] check-in: [602ea4f9] user: drh branch: trunk, size: 5469 Added