SQLite

Timeline
Login

116 check-ins using file src/btree.c version 80ea6522

2011-12-22
01:46
Remove a redundant assignment operator. check-in: 19a6852a user: drh tags: statvfs
2011-12-21
14:42
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. check-in: c83627b7 user: drh tags: statvfs
2011-12-20
22:18
Remove the code that tries to detect OOO header writes on a WAL recovery. The code is made obsolete by syncing the WAL header. check-in: 7ac713a1 user: drh tags: statvfs
20:13
Refactor the sqlite3WalFrames() routine for clarity of presentation. Do the padded transaction sync as the write pointer crosses the final sector boundary instead of at the end, for efficiency. Always sync the WAL header immediately after it is written. check-in: 92c73b42 user: drh tags: statvfs
13:13
Assert that the isCommit parameter to sqlite3WalFrames() is zero if and only if the nTruncate parameter is zero. check-in: 979daf92 user: drh tags: trunk
2011-12-19
15:46
Add test for WAL mode to unixexcl.test. check-in: 4d518bd4 user: dan tags: trunk
11:57
Merge [21b76af6ed] into statvfs branch. check-in: e694f7b1 user: dan tags: statvfs
11:16
Fix a couple of test cases to account for the master-journal name related change in [cf3bccc2]. check-in: 21b76af6 user: dan tags: trunk
10:07
Modify test cases to account for the ZERO_DAMAGE change. check-in: 68684495 user: dan tags: statvfs
00:31
Some fixes to the test suite so that it works with ZERO_DAMAGE set to true. Still lots more problems remain. check-in: 41891b23 user: drh tags: statvfs
2011-12-17
20:02
For improved clarity of presentation, refactor some of the code associated with ZERO_DAMAGE and sector-size. check-in: 1dde96c9 user: drh tags: statvfs
19:49
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(). check-in: a0be6ea4 user: drh tags: statvfs
16:25
Fix a bad #endif with the previous check-in on this branch. check-in: 915713ff user: drh tags: statvfs
16:09
Add support for statvfs() in os_unix.c, for determining the sector size. This causes many TCL test failures under Linux. check-in: e0d44450 user: drh tags: statvfs
13:45
Merge in changes that cause the first sector of the WAL file to be synced when the WAL restarts. This is a fix for the power-loss corruption problem described in ticket [ff5be73dee086] check-in: 44ca4d12 user: drh tags: trunk
08:10
Add tests to walcrash3.test. check-in: d7688042 user: dan tags: trunk
01:31
Make sure the Salt-1 value in the WAL file is sequentially numbered at each checkpoint, as it says it should be in the documentation. check-in: 7b63b11b user: drh tags: trunk
2011-12-16
21:26
Enhance the WAL header sync so that it honors the various synchronous pragmas, settings, and device characteristics. Closed-Leaf check-in: 9799241f user: drh tags: wal-header-sync
19:34
Proposed changes that ensure that the WAL header is written prior to the first commit mark. check-in: 91d0437c user: drh tags: wal-header-sync
17:01
Add code for a test that was failing before the persistent-wal related changes of [09ccc4a1be]. check-in: 49d21ce5 user: dan tags: trunk
15:38
Merge the fix for [a1fa75cbdd02] from the experimental branch. Also fix the persistent-wal mode feature of truncating the WAL on close so that it always truncates the WAL to zero bytes. check-in: 09ccc4a1 user: drh tags: trunk
15:11
Improved logging of master-journal name conflicts. check-in: b1005ef4 user: drh tags: trunk
13:42
Merge the nx-devkit changes into trunk. check-in: cf3bccc2 user: drh tags: trunk
13:24
Experimental fix for [a1fa75cbdd]. Closed-Leaf check-in: 6492af76 user: dan tags: experimental
05:50
Tweaks to the way multiplexSubOpen() works, for backwards compatibility. check-in: bb403388 user: drh tags: nx-devkit
05:09
Fix a potential infinite loop (inserted by the previous check-in) on the multiplexWrite() method of the multiplexor. check-in: 022bf427 user: drh tags: nx-devkit
04:57
The xTruncate method for the multiplexor now changes surplus overflow files to zero-length by default. Or if the "truncate" query parameter is used, it actually deletes the surplus overflow files. This allows VACUUM to shrink the database again. check-in: 5aefef04 user: drh tags: nx-devkit
01:30
Call sqlite3_log() with an appropriate message if unable to find a unique master-journal filename. check-in: e9177f7d user: drh tags: nx-devkit
01:21
A better solution to being unable to find a unique master-journal filename: just delete an existing master-journal and reuse it. check-in: 2685c2b9 user: drh tags: nx-devkit
00:33
Make sure the antipenultimate character of master-journal filenames is a "9" in order to avoid collisions with other files in 8+3 filename mode. Also, limit the number of attempts at finding a unique master-journal filename. check-in: 34a04836 user: drh tags: nx-devkit
2011-12-15
17:44
Add stdio support to the quota VFS. check-in: 322bd15f user: drh tags: trunk
17:42
Use _commit() rather than FlushFileBuffers() as a substitute for fsync() on windows. Also cast for C++ and add support for SQLITE_FCNTL_VFSNAME. Closed-Leaf check-in: e85cfe9a user: drh tags: quota-stdio
17:00
When deleting a file with the multiplexor VFS, also delete any overflow files that exist. check-in: 3af1feaa user: dan tags: nx-devkit
13:29
Make sure the chunksize in test_multiplex does not cause the pending byte to fall near the end of a chunk. Adjust the chunksize upward as necessary to prevent this. check-in: e05f8a29 user: drh tags: nx-devkit
11:45
Fix some problems with dropped error codes in multiplexOpen(). check-in: 2d50f781 user: dan tags: nx-devkit
02:22
In the multiplexor, do not try to delete overflow files that do not exist. And assume all but the last overflow file is the size of the chunk size. check-in: a822a80d user: drh tags: nx-devkit
2011-12-14
18:33
Merge the nx-devkit changes into trunk. This includes the new SQLITE_FCNTL_VFSNAME file-control. check-in: da118e02 user: drh tags: trunk
18:28
Merge the VFSNAME file-control addition into the nx-devkit branch. check-in: 08c1dc51 user: drh tags: nx-devkit
17:53
Add a file-control that will discover the name of the bottom-level VFS and all the shims in between. Closed-Leaf check-in: cdbfb553 user: drh tags: vfsname-filectrl
01:38
Improvements to comments. No code changes. check-in: 08bbbd8e user: drh tags: nx-devkit
00:37
Treat a zero return value from the Win32 APIs MultiByteToWideChar and WideCharToMultiByte as an error condition. check-in: c65e5a36 user: mistachkin tags: trunk
00:04
Harden the utf8-to-mbcs converter in the quota module against failures. check-in: 1cda511d user: drh tags: quota-stdio
2011-12-13
23:26
Enhancements to test_quota.c: Remove the external dependency on sqlite3_win32_utf8_to_msbc(). Add an extra parameter to quota_fflush() that will also do an fsync (or the equivalent). check-in: 92f4188f user: drh tags: quota-stdio
19:03
Add a hard limit to the number of chunks a multiplexed database may consist of if ENABLE_8_3_NAMES is defined. check-in: 43a12640 user: dan tags: nx-devkit
18:22
Change the SQLITE_EXTRA_INIT routine to take a single argument which is a pointer to a string. Call SQLITE_EXTRA_INIT with a NULL argument. Fixes to multiplexor to treat the VFS properly in corner cases. Fix the initialization of multiplex3.test. check-in: 8e65b913 user: drh tags: nx-devkit
16:40
Add extra tests for the multiplexor VFS. No changes to code. check-in: c7de6f68 user: dan tags: nx-devkit
15:37
Merge the nx-devkit changes into trunk. check-in: 03a70c3d user: drh tags: trunk
15:25
Update the multiplex.test script to conform to that found in the "experimental" branch off of trunk. check-in: 2eb79efb user: drh tags: nx-devkit
15:02
Move the multiplexor changes in the experimental branch (check-ins [255d21499b] and [199f52bced]) into the nx-devkit branch. check-in: eb95d2f7 user: drh tags: nx-devkit
12:10
This branch merged with nx-devkit and from there into trunk. Was: In the multiplexor, instead of generating a unique file-name when SQLite opens a temp file, allow the underlying VFS to generate a different temp file for each chunk. Given the changes to the xFileSize method, it is no longer necessary for the different chunks of a temp file to use the same base name. Closed-Leaf check-in: 199f52bc user: dan tags: experimental
11:15
Change the way IO errors are handled in the xFileSize method of the multiplexor VFS. Add test file multiplex3.test. check-in: 255d2149 user: dan tags: experimental
04:08
When an sqlite3_auto_extension() function fails, report back its actual error code, not the generic SQLITE_ERROR. check-in: ce55f250 user: drh tags: nx-devkit
02:41
When the multiplexor FileSize procedure fails to open the file, assume that the file is zero bytes in size. check-in: dc8118cd user: drh tags: nx-devkit
01:34
Add a compile-time shutdown procedure to be called by sqlite3_shutdown() to undo the effects of the compile-time initialization procedure. check-in: c2ed86f5 user: drh tags: nx-devkit
2011-12-12
20:01
Backport a minimal set of changes needed to get 8+3 filenames and the multiplexor shim playing well together. check-in: c4e2ce48 user: drh tags: nx-devkit
19:48
Fix os_unix.c so that, unless 8.3 filenames are actually in use, journal and wal file permissions are assigned correctly even if SQLITE_ENABLE_8_3_NAMES is defined. check-in: 169e1229 user: dan tags: trunk
19:47
Make sure the quota logic is usable as C++. check-in: f4534bd3 user: drh tags: quota-stdio
18:55
Change the multiplexor VFS so that xTruncate is a no-op on database files. check-in: ee1e0122 user: dan tags: trunk
18:21
Fix for the xFileSize method of test_multiplex.c when used on a file opened with the DELETEONCLOSE flag set. check-in: 713071c4 user: dan tags: trunk
16:51
Add magic comments to shell.c to make it easier for scripts to insert additional version information displays for custom builds. check-in: 9b2691aa user: drh tags: trunk
2011-12-11
22:44
In the multiplexor shim, when using 8+3 filenames, begin numbering journal overflow files with 101 instead of 001 to avoid name collisions with the main database file. check-in: 05bf8a0b user: drh tags: trunk
21:51
Update comments describing the flattening optimization in select.c. check-in: dab4c137 user: drh tags: trunk
02:30
Fix STAT3 so that it works with the new uninitialized register logic of the VDBE. Ticket [7bbfb7d4422ff] check-in: d11a5798 user: drh tags: trunk
02:29
Fix harmless compiler warnings. check-in: 1e6a698a user: drh tags: trunk
2011-12-10
23:18
Minor cleanups of the compound-subquery flattening logic. New test cases added for joins the compound subquery. check-in: 5061d85f user: drh tags: trunk
17:17
Allow UNION ALL compounds to be promoted up to replace a simple wrapper SELECT even if the compounds are joins. check-in: 3d4b4f4f user: drh tags: trunk
15:55
Import the experimental parse-tree explainer, with fixes, from the tree-explain branch. Disabled by default. Use SQLITE_ENABLE_TREE_EXPLAIN to turn it on. check-in: bcbc7152 user: drh tags: trunk
14:44
Merge the latest trunk changes into tree-explain branch. Closed-Leaf check-in: 1a360da0 user: drh tags: tree-explain
13:49
Always use _msize() to get memory allocation sizes on windows, without having to do anything special in the makefile. check-in: 256e27bd user: drh tags: trunk
2011-12-09
18:06
Change the VDBE so that all registers are initialized to "Invalid" instead of NULL and report errors on any attempted read of an Invalid register. This will help prevent future bugs similar to [7bbfb7d442]. check-in: 0064bab7 user: drh tags: trunk
17:51
Remove an unnecessary condition. Closed-Leaf check-in: d9ba023c user: drh tags: uninit-vdbe-mem
17:38
Remove an unnecessary initialization of Vdbe.aOnceFlag. check-in: 421714da user: drh tags: uninit-vdbe-mem
17:27
Take out the OP_JumpOnce opcode. Revert compound SELECT to use OP_IfNot, which is the correct behavior. Mark trigger registers as initially invalid. check-in: 6a9fb47d user: drh tags: uninit-vdbe-mem
16:59
Previous check-in broke auto-increment. This check-in appears to fix it. check-in: 28ffd39c user: drh tags: uninit-vdbe-mem
16:21
Make no assumptions about the initial state of VDBE registers. check-in: 521d72bd user: drh tags: uninit-vdbe-mem
13:24
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. check-in: 557c6905 user: dan tags: trunk
05:52
The Windows OS flavor #ifdefs must be performed after the 'windows.h' file has been included. check-in: 3702a31e user: mistachkin tags: trunk
2011-12-08
20:41
Hand merge the zone allocator for MacOS from the apple-osx branch. check-in: 0d955c20 user: drh tags: trunk
19:50
In persistent WAL mode, truncate the WAL file to the size specified by the journal_size_limit pragma when disconnecting from the WAL. check-in: 9687b305 user: drh tags: trunk
03:51
Follow the previously established pattern for detecting preprocessor defines for specific flavors of Windows (for NT in this case). check-in: a0d92193 user: mistachkin tags: trunk
2011-12-07
22:49
Additional detail added to the tree-explain output for SELECT statements. check-in: 7b457ea4 user: drh tags: tree-explain
15:33
More compact notation for the parse-tree view. check-in: 0eb3f8b1 user: drh tags: tree-explain
01:55
Cherrypick the [7e5b56b1c6] fix for the sqlite3SelectDup() routine into trunk. check-in: 7fc53509 user: drh tags: trunk
01:47
Bug fix in sqlite3SelectDup(). Make sure the pNext pointer is valid. check-in: 7e5b56b1 user: drh tags: tree-explain
01:23
Improvements to the data-structure explain subsystem. Most queries now give a reasonably detailed graph of their parse tree. check-in: 0aa7d3d2 user: drh tags: tree-explain
2011-12-06
19:44
Begin adding the data-structure explaining subsystem. All is contained within check-in: 79ae51c5 user: drh tags: tree-explain
13:46
Add file tkt-3a77c9714e.test, containing tests to verify that the problem documented by ticket [3a77c9714e] has been fixed. check-in: 162421da user: dan tags: trunk
13:24
Do not reuse temp registers originally allocated to a subroutine within the main body of the program logic, since if the subroutine is called while the reused temp registers are in use, their values will get clobbered. Candidate fix for ticket [3a77c9714e63330] check-in: 092d5331 user: drh tags: trunk
00:47
Merge the winGetLastError fixes into trunk. check-in: 5b03ba9d user: drh tags: trunk
2011-12-03
00:13
Add the sqlite3_quota_fflush() interface. Enhance sqlite3_quota_remove() so that it can remove entire directories. check-in: abcb65af user: drh tags: quota-stdio
2011-12-02
15:31
One minor documentation enhancement. check-in: 8cfd3575 user: drh tags: quota-stdio
15:27
Documentation improvements and additional test cases. check-in: fa718960 user: drh tags: quota-stdio
2011-12-01
22:12
Run quota-stdio tests in binary mode so that they work on windows. check-in: 71e4e97d user: drh tags: quota-stdio
22:07
Progress toward getting things to work better on windows. check-in: 253dd707 user: drh tags: quota-stdio
20:48
Add test logic and some test cases. check-in: a4730586 user: drh tags: quota-stdio
18:44
Add stdio-like I/O interfaces to the test_quota VFS. This is a prototype change for discussion and is mostly untested. This is an alternative to adding stdio-like I/O interfaces in the core. There is no guarantee that this code will make it into the trunk. If it does get to trunk, there could be many changes to the interface first. check-in: bd3ce723 user: drh tags: quota-stdio
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. Closed-Leaf check-in: 8936542b user: drh tags: vfs-stdio
2011-11-29
15:40
Remove unused fields from the Parse object. Documentation and formatting improvements on data structure definitions. check-in: 431556ca user: drh tags: trunk
15:04
Remove unused boolean fields from the UnpackedRecord object. check-in: b10d091e user: drh tags: trunk
14:46
Removed the unused "type" field from the CollSeq (collating sequence) object. check-in: ab89b047 user: drh tags: trunk
2011-11-25
21:51
Update the version number to 3.7.10. check-in: ed0151ba user: drh tags: trunk
17:51
Fix a typo in the documentation for sqlite3_stmt_busy(). check-in: 7812626d user: drh tags: trunk
17:21
Add the sqlite3_stmt_busy() interface. check-in: 95cc4af6 user: drh tags: trunk
2011-11-21
00:54
Cleanup the semantics surrounding use of the GetLastError function on Windows. Closed-Leaf check-in: 7e657bbb user: mistachkin tags: winGetLastError
2011-11-18
13:10
Change the multiplexor to use a 3-digit suffix. check-in: 0b7edc44 user: drh tags: trunk
2011-11-17
11:49
Improvements to the documentation of the sqlite3_db_filename() interface. check-in: 1c45b2a0 user: drh tags: trunk
11:43
Restore the test for sqlite3OsFullPathname() failure that was mistakenly removed when [ceee03c79a] was backed out by [69ec53fc1c]. check-in: 4d3cf9e1 user: drh tags: trunk
2011-11-16
17:32
Change the multiplexor suffix from 2 to 3 digits. Closed-Leaf check-in: 06e0cdaf user: drh tags: 3-digit-multiplex-suffix
16:23
Remove code made obsolete by the changes to index processing that allow range search on the rowid. check-in: a5418c7f user: drh tags: trunk
15:41
Fix an invalid assert() statement added by [3b58f5f066]. check-in: 888b09dd user: dan tags: trunk
15:27
Where possible, take advantage of the rowid at the end of index records to optimize range constraints (<, >, <=, >=) on the rowid column. check-in: 3b58f5f0 user: dan tags: trunk
08:18
Update memsubsys1.test to account for the recently increased size of the MemPage structure in btreeInt.h. check-in: 4fb3ca75 user: dan tags: trunk
2011-11-14
03:00
Forward port the 8-byte alignment fix from branch-3.7.9. check-in: ebf6eb6e user: drh tags: trunk
2011-11-12
16:46
Remove a couple of incorrect assert statements so that the test suite will run with -DSQLITE_DEFAULT_CACHE_SIZE=0. check-in: 87614b62 user: drh tags: trunk
15:41
Merge the windows xSyscall enhancements into trunk. check-in: c1fab9ac user: drh tags: trunk
2011-11-11
23:51
Catch and report errors from sqlite3OsFullPathname(). check-in: 77119785 user: drh tags: trunk