SQLite

Timeline
Login

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

100 check-ins occurring around 72cb2e1a73cd09d3.

2007-03-30
16:01
Always enable exclusive access mode for TEMP databases. This cannot be changed. The locking_mode pragma has not effect on the TEMP database. (CVS 3766) (check-in: 04d3b909 user: drh tags: trunk)
14:56
Coverage improvements for where.c. (CVS 3765) (check-in: df64894b user: danielk1977 tags: trunk)
14:56
Coverage improvements for where.c. (CVS 3764) (check-in: 7e0aa964 user: danielk1977 tags: trunk)
14:46
Tease apart the two phases of pager commit. (CVS 3763) (check-in: e5f17078 user: drh tags: trunk)
14:06
Refactoring the btree and pager routines into distinct two-phase commit routines. We've always done a two-phase commit - this change is just making that more apparent in the code. (CVS 3762) (check-in: 66b3ad09 user: drh tags: trunk)
13:35
Make yypMinor available to the stack overflow callbacks in lemon generated parsers. This does not effect SQLite. (CVS 3761) (check-in: 70c8c7e2 user: drh tags: trunk)
13:01
Avoid using the "clock" command in test scripts since it is a proc in Tcl8.5 and is thus not available to testfixture. (CVS 3760) (check-in: 339941d8 user: drh tags: trunk)
11:29
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) (check-in: 23653f7a user: drh tags: trunk)
11:23
Remove the anonymous union from the sqlite3_value structure since some compilers are unable to deal with it. (CVS 3758) (check-in: 6b995259 user: drh tags: trunk)
11:12
Comment changes in btree.c and added a missing "else" in pragma.c. (CVS 3757) (check-in: 9a7d7e31 user: drh tags: trunk)
09:13
Test coverage a few extra lines in where.c. (CVS 3756) (check-in: ea49ddf6 user: danielk1977 tags: trunk)
07:10
Extra test cases to improve coverage of main.c. (CVS 3755) (check-in: 19fc3d78 user: danielk1977 tags: trunk)
2007-03-29
20:19
Assume any return code from fcntl() other than -1 is success. Formerly we only assumed that 0 was success. Ticket #2173. (CVS 3754) (check-in: 8d0073c0 user: drh tags: trunk)
20:13
Fix to token destructors in Lemon. This does not impact SQLite. Ticket #2175. (CVS 3753) (check-in: 6195af49 user: drh tags: trunk)
18:46
Add the sqlite3_clear_bindings() API to the loadable extension interface. Ticket #2135. (CVS 3752) (check-in: 3111b43e user: drh tags: trunk)
18:41
Buffer updates per-transaction rather than per-update. If lots of updates happen within a single transaction, there was a lot of wasted encode/decode overhead due to segment merges. This code buffers updates in memory and writes out larger level-0 segments. It only works when documents are presented in ascending order by docid. Comparing a test set running 100 documents per transaction, the total runtime is cut almost in half. (CVS 3751) (check-in: 0229cba6 user: shess tags: trunk)
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) (check-in: 0fb9af1d user: drh tags: trunk)
17:57
Make sure the strftime() date conversions put in leading zeros correctly. Ticket #2276. (CVS 3749) (check-in: e853067e user: drh tags: trunk)
17:28
Avoid calling OsDelete() on journal files when they are opened for temporary databases. Fix for #2255. (CVS 3748) (check-in: e746832f user: danielk1977 tags: trunk)
17:07
Add a couple of test cases to improve coverage testing. (CVS 3747) (check-in: 0b22ce36 user: danielk1977 tags: trunk)
16:30
Don't call ctype functions on hi-bit chars. Some platforms raise assertions when this occurs, and it's almost certainly not the right thing to do in the first place. (CVS 3746) (check-in: f6c3abdc user: shess tags: trunk)
15:00
Assume the malloc-failed flag cannot already be set when calling sqlite3_errmsg(16)(). (CVS 3745) (check-in: 54fa2227 user: danielk1977 tags: trunk)
13:35
Fix a bug in XFER optimization introduced by check-in (3736). (CVS 3744) (check-in: 3714ac17 user: drh tags: trunk)
12:24
Explicitly test some error cases that up until now have not been checked. (CVS 3743) (check-in: 0b7bd9c3 user: danielk1977 tags: trunk)
12:19
Explicitly test some error cases that up until now have not been checked. (CVS 3742) (check-in: f26b0141 user: danielk1977 tags: trunk)
05:51
Change BtreeMoveto so that it can be biased to the right or to the center. Use a right bias when appending and a center bias when searching. This gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741) (check-in: ad4a6b1a user: drh tags: trunk)
04:43
Bias the b-tree binary search toward the high end. The common case is to append data and this heuristic makes append run much faster because there are fewer comparisons. (CVS 3740) (check-in: a9877f61 user: drh tags: trunk)
02:26
Get LEMON working again when YYSTACKDEPTH is greater than zero. (CVS 3739) (check-in: e72c81db user: drh tags: trunk)
01:44
Lemon change: compile the resulting parser with -DYYSTACKDEPTH=0 or set the "%stack_size" parameter to 0 in the grammar and the parser stack will be dynamically allocated using realloc() and free(). The default behavior is to have a finite depth stack. (CVS 3738) (check-in: 06719b74 user: drh tags: trunk)
00:08
Patch so the the code compiles with -DSQLITE_OMIT_CHECK=1. (CVS 3737) (check-in: 72cea358 user: drh tags: trunk)
2007-03-28
18:04
Improvements to the XFER Optimization of the INSERT statement. (CVS 3736) (check-in: 53fff7d1 user: drh tags: trunk)
14:30
Correctly handle NULLs in IN operators. Ticket #2273. The changes in where.c and in the WhereLevel.aInLoop structure are not strictly necessary to fix this problem - they just make the code easier to read. Only the change in OP_Next/OP_Prev operator of vdbe.c is required. (CVS 3735) (check-in: 26348556 user: drh tags: trunk)
13:07
Update comments in sqlite3.h. No changes to code. (CVS 3734) (check-in: 1c2656fd user: drh tags: trunk)
01:59
Fix an memory allocation error revealed by malloc3.test. (CVS 3733) (check-in: 0f7fdb02 user: drh tags: trunk)
2007-03-27
22:24
The SQLITE_ENABLE_LOAD_EXTENSION macro enables the load_extension() SQL function by default without having to invoke sqlite3_enable_load_extension() first. (CVS 3732) (check-in: 113aab2c user: drh tags: trunk)
21:47
Fix the prototype of the CodecAttach function in attach.c. (CVS 3731) (check-in: 902413e8 user: drh tags: trunk)
17:37
Remove a c++ comment in pager.c. (CVS 3730) (check-in: e4452e8a user: danielk1977 tags: trunk)
16:19
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) (check-in: b24a6e7b user: danielk1977 tags: trunk)
15:00
Updates to the VACUUM documentation. Ticket #2257. (CVS 3728) (check-in: c61c97c9 user: drh tags: trunk)
14:44
The -DSQLITE_OMIT_ATTACH=1 option now omits both the ATTACH and VACUUM commands. Ticket #2268. The regression test suite depends on both of these commands and will not run if compiled with this option. (CVS 3727) (check-in: cbebfb89 user: drh tags: trunk)
14:05
Fix off-by-one errors in the header comments of btree.c. Ticket #2272. (CVS 3726) (check-in: a70ea720 user: drh tags: trunk)
13:36
More strict aliasing fixes. The single source file library now runs successfully with -fstrict-alias. (CVS 3725) (check-in: c8a8a189 user: drh tags: trunk)
12:04
Get the -DSQLITE_OMIT_XFER_OPT option working. Run speed tests on a full regression. Add the script for generating sqlite3.c. (CVS 3724) (check-in: 1dd9d077 user: drh tags: trunk)
12:04
Get the -DSQLITE_OMIT_XFER_OPT option working. Run speed tests on a full regression. Add the script for generating sqlite3.c. (CVS 3723) (check-in: 42c03851 user: drh tags: trunk)
2007-03-26
22:05
Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) (check-in: 0b832e21 user: drh tags: trunk)
16:30
Set the same random seed for the speed tests. (CVS 3721) (check-in: 8fe31705 user: drh tags: trunk)
16:13
Run some malloc() tests with exclusive-access mode. (CVS 3720) (check-in: 9ebba469 user: danielk1977 tags: trunk)
15:46
Discard the pager-cache when the page-size is changed. (CVS 3719) (check-in: e4209f71 user: danielk1977 tags: trunk)
13:48
Avoid unnecessary calls to pager_unwritelock() when in exclusive-access mode. Add the speed2.test script to the test suite. (CVS 3718) (check-in: ab53f508 user: drh tags: trunk)
12:26
Run some malloc() tests with exclusive-access mode. (CVS 3717) (check-in: 12745490 user: danielk1977 tags: trunk)
10:27
Add some tests and fixes surrounding exclusive-access mode and the pager change-counter. (CVS 3716) (check-in: 72cb2e1a user: danielk1977 tags: trunk)
08:41
Add some documentation for pragma locking_mode. (CVS 3715) (check-in: 394b174e user: danielk1977 tags: trunk)
08:05
Some fixes and test cases for exclusive access mode. (CVS 3714) (check-in: 899e6070 user: danielk1977 tags: trunk)
2007-03-25
19:08
Add the sqlite3_prepare_v2 and sqlite3_prepare16_v2 APIs to the loadable extension interface. (CVS 3713) (check-in: f02ba56d user: drh tags: trunk)
2007-03-24
16:45
Changes for exclusive access mode. There are still some bugs. (CVS 3712) (check-in: b6c70037 user: danielk1977 tags: trunk)
2007-03-23
18:12
Discard the contents of the pager-cache only when the change-counter indicates that it is stale. (CVS 3711) (check-in: 07b56965 user: danielk1977 tags: trunk)
10:08
Add a comment to the OsSectorSize() function. (CVS 3710) (check-in: 0fd9983a user: danielk1977 tags: trunk)
2007-03-22
15:22
In os_unix.c, make a distinction between pread() and pread64(). Add a new compile-time macro USE_PREAD64 to select the latter. (CVS 3709) (check-in: 177cd929 user: drh tags: trunk)
15:20
Call sqlite3_free() instead of free() to release a buffer allocated by sqlite3_vmprintf() in test_async.c (test suite bug only). (CVS 3708) (check-in: b078f09b user: danielk1977 tags: trunk)
00:14
Refactor PLWriter to remove owned buffer. DLCollector (Document List Collector) now handles the case where PLWriter (Position List Writer) needed a local buffer. Change to using the associated DLWriter (Document List Writer) buffer, which reduces the number of memory copies needed in doclist processing, and brings PLWriter operation in line with DLWriter operation. (CVS 3707) (check-in: d04fa3a1 user: shess tags: trunk)
2007-03-20
23:52
Refactor PLWriter in preparation for buffered-document change. Currently, PLWriter (Position List Writer) creates a locally-owned DataBuffer to write into. This is necessary to support doclist collection during tokenization, where there is no obvious buffer to write output to, but is not necessary for the other users of PLWriter. This change adds a DLCollector (Doc List Collector) structure to handle the tokenization case.

Also fix a potential memory leak in writeZeroSegment(). In case of error from leafWriterStep(), the DataBuffer dl was being leaked. (CVS 3706) (check-in: 1b9918e2 user: shess tags: trunk)

2007-03-19
17:44
Modify the interface to the pager sub-system in preparation for performing IO in blocks based on sector-size, not database page-size. (CVS 3705) (check-in: 7dc76588 user: danielk1977 tags: trunk)
15:04
Add some test cases simulating crashes with various storage medium sector sizes. (CVS 3704) (check-in: c3c5f658 user: danielk1977 tags: trunk)
13:53
Fix some problems with test cases in shared_err.test. Also a real bug causing a segfault after an IO error in pager.c. (CVS 3703) (check-in: 9f62ef1e user: danielk1977 tags: trunk)
11:54
Fix a comment in btree.c (CVS 3702) (check-in: 05700c11 user: drh tags: trunk)
11:25
Changes to support medium sector sizes larger than the database page size. (CVS 3701) (check-in: 3a3e8eb2 user: danielk1977 tags: trunk)
05:54
Add new OS file method to return the sector-size of the underlying storage: sqlite3OsSectorSize() (CVS 3700) (check-in: 5752d84d user: danielk1977 tags: trunk)
2007-03-17
18:22
Add documentation of the REPLACE, TRIM, LTRIM, and RTRIM functions. (CVS 3699) (check-in: d42c9636 user: drh tags: trunk)
17:52
Added TRIM, LTRIM, and RTRIM functions. (CVS 3698) (check-in: 6fe13eea user: drh tags: trunk)
13:27
First cut at an implementation of the REPLACE() function. We might yet make this a compile-time option or move it into a separate source file. (CVS 3697) (check-in: c2fe746e user: drh tags: trunk)
10:28
Add crash2.test, for robustness testing with variable disk block size. (CVS 3696) (check-in: b0f8203d user: danielk1977 tags: trunk)
10:26
Modifications to crash-test infrastructure. (CVS 3695) (check-in: c4be8d99 user: danielk1977 tags: trunk)
07:22
Combine the two very similar definitions of (crashsql) in the test scripts. (CVS 3694) (check-in: eaf434d5 user: danielk1977 tags: trunk)
2007-03-16
18:30
Out-of-memory cleanup in tokenizers. Handle NULL return from malloc/calloc/realloc appropriately, and use sizeof(var) instead of sizeof(type) to make certain that we don't get a mismatch between them as the code rots. (CVS 3693) (check-in: fbc53da8 user: shess tags: trunk)
2007-03-15
15:35
Save an if(...) clause made redundant by (3691). (CVS 3692) (check-in: 8153edf8 user: danielk1977 tags: trunk)
15:33
Check for multiple calls to sqlite3FailedMalloc(). Ignore the second and subsequent calls. (CVS 3691) (check-in: 71808745 user: danielk1977 tags: trunk)
12:51
Fix the pager so that it handles persistent I/O errors correctly. Update the testing infrastructure so that it tests for persistent I/O errors instead of just transient errors. (CVS 3690) (check-in: ea8507a7 user: drh tags: trunk)
12:17
Infrastructure to make simulated I/O errors persistent instead of transient. (CVS 3689) (check-in: 1a53f531 user: drh tags: trunk)
12:05
Catch an IO error code that was being ignored in OP_RowData. (CVS 3688) (check-in: 760ebf80 user: danielk1977 tags: trunk)
01:16
Enhanced temp-file security under unix. There are no known attacks against prior versions - this check-in is just an added precaution. (CVS 3687) (check-in: 5af61402 user: drh tags: trunk)
2007-03-14
15:37
Modify the behaviour of writable_schema to ignore schema parsing errors. (CVS 3686) (check-in: a8d6d935 user: danielk1977 tags: trunk)
2007-03-13
16:33
Add hyperlink anchors to the lockingv3.html document. (CVS 3685) (check-in: 3e66ea6f user: drh tags: trunk)
16:32
Do not crash when a corrupt database contains two indices with the same name. (CVS 3684) (check-in: 48b2a400 user: danielk1977 tags: trunk)
2007-03-12
23:48
Clarify the use of loop variables in a expr.c. (CVS 3683) (check-in: e20e76f6 user: drh tags: trunk)
2007-03-10
20:50
Fix another typo in copyright.html (CVS 3682) (check-in: 92f15864 user: drh tags: trunk)
20:47
Amplify and clarify reasons for wanting to get a license to use SQLite. (CVS 3681) (check-in: 05bae020 user: drh tags: trunk)
18:30
Fix typos in the copyright.html webpage. Ticket #2267 (CVS 3680) (check-in: 74a4bfce user: drh tags: trunk)
13:47
Updates to the copyright.html page to address concerns some users have SQLite have about copyright issues. A links to the wikipedia article on public domain and a public domain icon. (CVS 3679) (check-in: 6ce39f30 user: drh tags: trunk)
2007-03-09
14:43
Remove extra heading accidentally added to lang.tcl by (3677). (CVS 3678) (check-in: 570533c1 user: danielk1977 tags: trunk)
14:40
Add a few "class" attributes to the html generated by lang.tcl to support conversion to pdf. (CVS 3677) (check-in: 485c52dd user: danielk1977 tags: trunk)
2007-03-08
12:23
Change the documentation to be more specific about the restriction on the use of keywords. Ticket #2264. (CVS 3676) (check-in: d03d4805 user: drh tags: trunk)
2007-03-06
16:03
Catch an out-of-memory condition in vacuum code. (Bug in (3373)). (CVS 3675) (check-in: 302ec768 user: danielk1977 tags: trunk)
15:53
Fixes to the overflow-chain optization of (3672). (CVS 3674) (check-in: d6986d1e user: drh tags: trunk)
13:46
Use heap instead of stack for large buffers in the pager. Fix for #2262. (CVS 3673) (check-in: dfe1dffa user: danielk1977 tags: trunk)
11:42
Do not read the last page of a overflow chain when deleting that chain. Just add the page to the freelist. This reduces I/O. (CVS 3672) (check-in: 6db945f7 user: drh tags: trunk)
2007-03-04
13:15
Changes to the btree and pager that reduce the amount of I/O when dealing with the freelist. (1) Avoid journaling pages of a table that is being deleted. (2) Do not read the original content of pages being pulled off of the freelist. (CVS 3671) (check-in: 2ba5be31 user: drh tags: trunk)
2007-03-02
08:12
Handle the case where the estimated cost of a virtual table scan is larger than SQLITE_BIG_DBL. Ticket #2253. (CVS 3670) (check-in: 52885ed8 user: danielk1977 tags: trunk)
07:27
Disable the "SELECT max(rowid) ..." optimization for virtual tables. Ticket #2250. (CVS 3669) (check-in: ddb4d0af user: danielk1977 tags: trunk)
06:24
Minor fixes so that testfixture builds without IO tracing enabled. (CVS 3668) (check-in: 8d3829cd user: danielk1977 tags: trunk)
2007-03-01
00:29
Additional I/O Tracing support. (CVS 3667) (check-in: ed915f57 user: drh tags: trunk)