SQLite

Timeline
Login

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

694 check-ins using file src/random.c version d40f8d356c

2009-09-03
19:43
Fix a VDBE stack overflow issue with the UPDATE statement. (Leaf check-in: 715cecb8c7 user: drh tags: branch-3.3.6)
2007-01-05
02:00
In the btree.c, when releasing the page1 lock, first make sure the pager has not reset and released the lock already. This fixes a bug introduced by (3549). (CVS 3563) (check-in: 36a2db96ef user: drh tags: trunk)
01:58
Get threadtest2.c working again after being long neglected. (CVS 3562) (check-in: 06216d0d3b user: drh tags: trunk)
00:14
Fix a test case that changed due to (3560). Ticket #2143 (CVS 3561) (check-in: c28664d314 user: drh tags: trunk)
2007-01-04
22:13
Fix the user_version and schema_version pragmas so that they set a result column name. Ticket #2143. (CVS 3560) (check-in: f81c4227c2 user: drh tags: trunk)
22:13
Fix the trigger4 test so that it runs on windows. (CVS 3559) (check-in: 5e4e65ea15 user: drh tags: trunk)
18:01
Put a missing double-quote into the changes.html page. (CVS 3558) (check-in: 277f8faae4 user: drh tags: trunk)
17:01
Version 3.3.9 (CVS 3557) (check-in: 8bf19a6a41 user: drh tags: trunk)
16:37
Increase the version number to 3.3.9. Documentation changes prior to the release of version 3.3.9. (CVS 3556) (check-in: 7e2832978f user: drh tags: trunk)
16:37
Disable the alter2.test on utf16 since the results of that test only work for utf8. (CVS 3555) (check-in: 87f350f35b user: drh tags: trunk)
14:58
Fix a memory leak introduced by the latest changes to pager.c. (CVS 3554) (check-in: 8cad5d671b user: drh tags: trunk)
14:36
Reactivate disabled "alter2" tests. (CVS 3553) (check-in: 093467a099 user: drh tags: trunk)
01:20
Fix for ticket #2141. (CVS 3552) (check-in: 70f5f3b85f user: drh tags: trunk)
01:20
Add a comment to vdbe.c to explain the use of an uninitialized variable. (CVS 3551) (check-in: 1773eb7bad user: drh tags: trunk)
2007-01-03
23:37
Clean up memory leaks and uninitialized variables detected by valgrind. Identify all tests where we deliberately derefence freed memory by adding a "-misuse" tag. (CVS 3550) (check-in: 70a862702d user: drh tags: trunk)
23:36
Additional changes in the pager and os interface layers to fix problems that might be contributing to recently observed database corruption. (CVS 3549) (check-in: a593d5743e user: drh tags: trunk)
15:34
Make sure that the database size cache in the pager is invalidated whenever the database is unlocked. A stale value in the database size cache can result in database corruption on a heavily loaded system running autovacuum. (CVS 3548) (check-in: 6806b9ecb5 user: drh tags: trunk)
2007-01-02
18:41
Update the vtab_err test to check for -DSQLITE_MEMDEBUG=1 and skip the tests if missing. Pager is more careful to clear its file size cache. Remove an assert() in VDBE that might fail on a corrupt database file. (CVS 3547) (check-in: bf1afd016a user: drh tags: trunk)
2006-12-22
20:33
OS/2 change: add safeguard to be able to use SQLite loaded into high memory on OS/2 when compiled with GCC 3.3 or later. Currently, this is only used when building within the Mozilla source tree. (CVS 3546) (check-in: 720189b8fa user: pweilbacher tags: trunk)
2006-12-21
22:38
Disable extension loading by default. At some point we should change the configure script to detect the presence of dlopen() automatically and add the appropriate library to the link. But that requires a working version of autoconf, which I do not have. Ticket #2124. (CVS 3545) (check-in: 87a9ee077a user: drh tags: trunk)
03:20
More fixes to the microsoft code-page nightmare... (CVS 3544) (check-in: 0b47d88060 user: drh tags: trunk)
02:21
Use GetProcAddressA() on wince. Ticket #2123 (CVS 3543) (check-in: e3dddd1cef user: drh tags: trunk)
01:37
Reduce the number of utf8->unicode conversions required in wince. Ticket #2122 (CVS 3542) (check-in: 6d2ff0962d user: drh tags: trunk)
01:29
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) (check-in: a1bcc6de57 user: drh tags: trunk)
00:46
Change a parameter type from "int" to "DWORD" in the windows interface. Ticket #2122. (CVS 3540) (check-in: cca1eb3dfa user: drh tags: trunk)
2006-12-20
14:53
The xFilter method is not optional. (CVS 3539) (check-in: 6fdbd3bc91 user: drh tags: trunk)
14:31
Initialize a variable to avoid compiler warnings and human confusion. Ticket #2117. (CVS 3538) (check-in: 951af8d5c5 user: drh tags: trunk)
03:37
Patch to get extension loading working on wince. Ticket #2023. (CVS 3537) (check-in: a81f3ddfd0 user: drh tags: trunk)
03:24
The query optimizer does a better job of optimizing out ORDER BY clauses that contain the rowid or which use indices that contain the rowid. Ticket #2116. (CVS 3536) (check-in: f245f5c2c2 user: drh tags: trunk)
02:15
Allow constraint names on DEFAULT values in a table definition. Ticket #2109. (CVS 3535) (check-in: 893d58c23d user: drh tags: trunk)
2006-12-19
18:57
Build without warnings and pass all tests with SQLITE_OMIT_LOAD_EXTENSION. Ticket #2113. (CVS 3534) (check-in: c3d118b408 user: drh tags: trunk)
18:47
Fix a typo in shell.c. Ticket #2111. (CVS 3533) (check-in: 6f8a56231c user: drh tags: trunk)
18:46
Use sqlite3_mprintf() instead of strdup() to reduce libc dependencies. Ticket #2114. (CVS 3532) (check-in: bf4a78cb31 user: drh tags: trunk)
2006-12-18
18:34
Speed improvement: do not journal or rollback pages that are pulled out of the freelist. (CVS 3531) (check-in: 4dffc4c3c9 user: drh tags: trunk)
14:12
Updates to the "Distinctive Features" document. (CVS 3530) (check-in: c734585e1a user: drh tags: trunk)
2006-12-16
16:25
Query optimizer enhancement: In "FROM a,b,c left join d" allow the C table to be reordered with A and B. This used to be the case but the capability was removed by (3203) and (3052) in response to ticket #1652. This change restores the capability. (CVS 3529) (check-in: 7393c81b8c user: drh tags: trunk)
2006-12-14
01:06
Fix a bug in lemon that leads to an assertion fault given an invalid grammar. The bug and this fix do not effect on SQLite. Ticket #2107. (CVS 3528) (check-in: f2ad230f6d user: drh tags: trunk)
2006-11-30
13:06
Change the table_info pragma so that it returns NULL for the default value if there is no default value. Ticket #2078. (CVS 3527) (check-in: 5f21c3a5f0 user: drh tags: trunk)
13:06
Improvements to the new performance tests. (CVS 3526) (check-in: 27f56c2051 user: drh tags: trunk)
13:05
Fix indentation typo in btree.c. (CVS 3525) (check-in: 5d61486f0f user: drh tags: trunk)
2006-11-29
23:41
Drop a couple variables which are no longer used anywhere. (CVS 3524) (check-in: 08c2cc0e07 user: shess tags: trunk)
21:03
Test that terms longer than interior nodes work correctly. A bug prior to fts2.c r1.10 meant that such large terms caused an eventual stack overflow. (CVS 3523) (check-in: 66581162da user: shess tags: trunk)
20:53
Added the speed1.test script (CVS 3522) (check-in: 30355dfbd9 user: drh tags: trunk)
05:17
http://www.sqlite.org/cvstrac/tktview?tn=2046

The virtual table interface allows for a cursor to field multiple xFilter() calls. For instance, if a join is done with a virtual table, there could be a call for each row which potentially matches. Unfortunately, fulltextFilter() assumes that it has a fresh cursor, and overwrites a prepared statement and a malloc'ed pointer, resulting in unfinalized statements and a memory leak.

This change hacks the code to manually clean up offending items in fulltextFilter(), emphasis on "hacks", since it's a fragile fix insofar as future additions to fulltext_cursor could continue to have the problem. (CVS 3521) (check-in: 18142fdb6d user: shess tags: trunk)

01:02
Delta-encode terms in interior nodes. While experiments have shown that this is of marginal utility when encoding terms resulting from regular English text, it turns out to be very useful when encoding inputs with very large terms. (CVS 3520) (check-in: c8151a998e user: shess tags: trunk)
2006-11-23
21:09
Improvements to the speed tests recently added to the test suite. (CVS 3519) (check-in: 272c1a6e61 user: drh tags: trunk)
11:59
Fix a typo in the OMIT_AUTORIZATION in expr.c. (CVS 3518) (check-in: 3dea7fbefd user: drh tags: trunk)
11:58
Make the pager sector size configurable at compile-time. (CVS 3517) (check-in: 6221cf4f52 user: drh tags: trunk)
09:39
Add performance tests to the test suite. (CVS 3516) (check-in: 270c745dff user: drh tags: trunk)
2006-11-20
16:21
Fix the ".dump" command in the shell. Ticket #2072. Also ticket #2065. (CVS 3515) (check-in: 9fdc249609 user: drh tags: trunk)
2006-11-18
20:20
Make sure VACUUM cleans up after itself. Ticket #2071. (CVS 3514) (check-in: 2fdc147d00 user: drh tags: trunk)
00:12
Store minimal terms in interior nodes. Whenever there's a break between leaf nodes, instead of storing the entire leftmost term of the rightmost child, store only that portion of the leftmost term necessary to distinguish it from the rightmost term of the leftmost child. (CVS 3513) (check-in: f6e0b080dc user: shess tags: trunk)
2006-11-17
21:12
Refactoring groundwork for coming work on interior nodes. Change LeafWriter to use empty data buffer (instead of empty term) to detect an empty block. Code to validate interior nodes. Moderate revisions to leaf-node and doclist validation. Recast leafWriterStep() in terms of LeafWriterStepMerge(). (CVS 3512) (check-in: f30771d5c7 user: shess tags: trunk)
2006-11-13
21:09
Delta-encode docids. This is good for around 22% reduction in index size with DL_POSITIONS. It improves performance about 5%-6%. (CVS 3511) (check-in: 9b6d413d75 user: shess tags: trunk)
21:00
Require a minimum fanout for interior nodes. This prevents cases where excessively large terms keep the tree from finding a single root. A downside is that this could result in large interior nodes in the presence of large terms, which may be prone to fragmentation, though if the nodes were smaller that would translate into more levels in the tree, which would also have that problem. (CVS 3510) (check-in: 64b7e34061 user: shess tags: trunk)
20:15
Allow backing tables to be missing on dropping fts table. Fixes http://www.sqlite.org/cvstrac/tktview?tn=1992,35 . (CVS 3509) (check-in: 9628a61a6f user: shess tags: trunk)
2006-11-11
01:31
The uninitialized file descriptor from the unixFile structure is passed to sqlite3DetectLockingStyle in allocateUnixFile rather than the file descriptor passed in. This was causing the locking detection on NFS file systems to behave somewhat randomly and the result was locks were not respected and data loss could occur. (CVS 3508) (check-in: b9dd16ef3d user: aswift tags: trunk)
2006-11-09
15:18
Update the documentation to talk about the new sqlite3_prepare_v2() API. (CVS 3507) (check-in: d9e14b6121 user: drh tags: trunk)
00:24
First cut at adding the sqlite3_prepare_v2() API. Test cases added, but more testing would be useful. Still need to update the documentation. (CVS 3506) (check-in: f1efae9224 user: drh tags: trunk)
2006-11-08
12:25
Make the .exit and .quit commands work again in the shell. Ticket #2056. (CVS 3505) (check-in: f39978ef13 user: drh tags: trunk)
2006-11-07
15:02
Fix a typo in os_win.c. Ticket #2055. (CVS 3504) (check-in: d309680ec7 user: drh tags: trunk)
2006-11-06
21:20
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) (check-in: 6324ea811e user: drh tags: trunk)
15:10
Fix a bug in the optimizer that was causing it to miss an OR optimization opportunity. (CVS 3502) (check-in: 9bf153b54c user: drh tags: trunk)
2006-11-01
12:20
Modify Makefile.in to install sqlite3ext.h. (CVS 3501) (check-in: 35c8c47817 user: drh tags: trunk)
12:08
Remove dead code from btree.c. Ticket #2050. (CVS 3500) (check-in: dbd0125c62 user: drh tags: trunk)
2006-10-31
21:27
Change the default temp file prefix to be "sqlite" spelled backwards. Tickets #2049 et al. (CVS 3499) (check-in: a19ce5c1c4 user: drh tags: trunk)
21:16
Change the default prefix for temporary files so that it no longer contains the text "sqlite". In this way, perhaps we will not get so many false bug reports such as ticket #2049, #1989, and #1841. (CVS 3498) (check-in: 7ce48000bb user: drh tags: trunk)
18:13
Fix a pair of memory leaks. These were turned up by running valgrind memcheck with various 10k doc insert, update, delete, and query tests. (CVS 3497) (check-in: 3cd9b64b96 user: shess tags: trunk)
18:08
Make the command-line shell ".dump" command more resilient in the face of database corruption. (CVS 3496) (check-in: ebd44f0b5e user: drh tags: trunk)
2006-10-30
13:37
Changes to support non-ASCII characters in win95 filenames. Ticket #2047. (CVS 3495) (check-in: 9fa3ae584a user: drh tags: trunk)
2006-10-28
00:28
Enhance the optimizer so that IS NULL can use an available index. (CVS 3494) (check-in: 64762a9d58 user: drh tags: trunk)
2006-10-27
14:21
Fix the ".dump" command in the command-line shell so that it shows TRIGGERs and VIEWs. Ticket #2044. (CVS 3493) (check-in: 58171a41f7 user: drh tags: trunk)
14:06
Changes directed toward optimizing IS NULL terms in WHERE clauses. (CVS 3492) (check-in: 4d336e9ef5 user: drh tags: trunk)
2006-10-26
18:15
Bring CVS output into more commonly accepted practice. Tickets #2030, #1573. Add command-line options -bail and ".bail" commands. Default behavior is to continue after encountering an error. Ticket #2045. (CVS 3491) (check-in: 517712d6fb user: drh tags: trunk)
14:25
Command-line shell enhancements. Bail out when errors are seen in non-interactive mode. Override isatty() using -interactive or -batch command-line options. Report line number in error messages. Tickets #2009, #2045. (CVS 3490) (check-in: 3baa04cfb9 user: drh tags: trunk)
00:41
Empty queries should get no results. My recent change ( http://www.sqlite.org/cvstrac/chngview?cn=3486 ) broke test fts2a-5.3. This change should make the expected result more obvious. (CVS 3489) (check-in: cde383eb46 user: shess tags: trunk)
00:04
Make memset() uses less error-prone. http://www.sqlite.org/cvstrac/tktview?tn=2036,35 describes some cases where we were passing memset() a length which was the sizeof a pointer, rather than the structure pointed to. Instead, wrap this idiom up in CLEAR() and SCRAMBLE() macros. (CVS 3488) (check-in: 5878add083 user: shess tags: trunk)
2006-10-25
23:22
Remove unreferenced local variable. (CVS 3487) (check-in: 2d3b22197c user: shess tags: trunk)
21:00
Replace the DocList and DocListReader structures. The new structures distinguish reading from a static buffer from writing to a dynamic buffer. This allows n-way doclist merging, and in-place merging of segment leaf nodes, which together cut segment merge times in half. (CVS 3486) (check-in: af5bfb986e user: shess tags: trunk)
20:27
Test to force edge cases in query logic. Basically, exercise code to handle lack of hits correctly. (CVS 3485) (check-in: 2cb5903366 user: shess tags: trunk)
05:21
Don't store empty segments. When inserting empty strings, the code was writing out a segment made up of a single leaf node containing the \0 header. LeafReader assumed that leaf nodes always contained at least one term, so assertions would fail.

While it would be possible to support reading and merging empty segments, there's no reason to do so. While this change could have been done in writeZeroSegment(), I put it in leafWriterFlush() so that it would work right if segmentMerge() created an empty segment, which could happen with future changes to how deleted documents are handled. (CVS 3484) (check-in: fed79beec7 user: shess tags: trunk)

2006-10-19
23:36
dup fts1 tests and edit for fts2. fts1porter.test omitted because it depends on being able to poke through to %_term table. (CVS 3482) (check-in: 2806c34158 user: shess tags: trunk)
23:28
Add tests for delete and update in fts1. (CVS 3481) (check-in: b01c4371d8 user: shess tags: trunk)
20:27
fts2 support for testing. These are a prelude to adding some test scripts. (CVS 3480) (check-in: 004ad1943f user: shess tags: trunk)
01:58
When converting UTF8 or UTF16 strings, change overlong strings and other illegal codes to 0xFFFD. Ticket #2029. (CVS 3479) (check-in: 0c6736df9c user: drh tags: trunk)
2006-10-18
23:26
Fix a problems that arise if malloc() fails while compiling SELECT statements within a TRIGGER. (CVS 3478) (check-in: ee4894b499 user: drh tags: trunk)
2006-10-13
15:34
Make sure the names of all expressions in compound SELECT statements used as subqueries are correctly resolved. Ticket #2018. (CVS 3477) (check-in: b886eaa334 user: drh tags: trunk)
12:25
Avoid expanding %d contained in the action of a lemon parser rule. Ticket #1063. This is a fix for lemon only. It does not effect SQLite. (CVS 3476) (check-in: 81daedcf48 user: drh tags: trunk)
11:55
Removing debugging printf from the porter stemmer code. Ticket #2016. (CVS 3475) (check-in: 7a08c6272f user: drh tags: trunk)
2006-10-12
23:15
Convert fts2 to store data in a way which allows for much faster updates. Groups of documents form segments which are encoded in a btree layered over a table of blocks, with various tricks to make merges fast. This performs 20x-25x faster than fts1 when loading the Enron corpus, and is only slightly slower for queries. (CVS 3474) (check-in: 85272b2f53 user: shess tags: trunk)
2006-10-11
17:19
Bug fix: named local variable lockStyle as lockingStyle in SQLITE_ENABLE_LOCKING_STYLE block in allocateUnixFile (CVS 3473) (check-in: aa0b96c3df user: aswift tags: trunk)
2006-10-10
23:22
Fix leaky symbols. With this change, fts1 and fts2 can both be statically linked. (CVS 3472) (check-in: 5e8bbb85c1 user: shess tags: trunk)
17:37
Copy fts1/ to fts2/, changing reference from fts1 to fts2. For future reference, the source versions copied were:

README.txt r1.1 fts1.c r1.37 fts1.h r1.2 fts1_hash.c r1.1 fts1_hash.h r1.1 fts1_porter.c r1.1 fts1_tokenizer.h r1.4 fts1_tokenizer1.c r1.6 (CVS 3471) (check-in: d0d1e7cdcc user: shess tags: trunk)

13:07
VACUUM now uses a temporary file in the official TEMP folder instead of a file in the same directory as the original database. (CVS 3470) (check-in: b743429dd5 user: drh tags: trunk)
2006-10-09
00:38
Version 3.3.8 (CVS 3469) (check-in: 0658bb9e3f user: drh tags: trunk)
2006-10-08
18:56
Website changes for version 3.3.8. Remove a C++-ism from test8.c. (CVS 3468) (check-in: 465ce5b2fe user: drh tags: trunk)
2006-10-05
21:48
Fix incorrect doclist initialization in term_select_all(). docListRestrictColumn() generates a DL_POSITIONS doclist, which means that after the first doclist is processed, the second doclist is initialized as DL_POSITIONS, but with DL_POSITIONS_OFFSETS data. (Note that DL_DEFAULT is now DL_POSITIONS, which masks this bug.) (CVS 3467) (check-in: 144e3f11e2 user: shess tags: trunk)
11:43
Fix another UTF conversion problem on x64. Ticket #2008. (CVS 3466) (check-in: d16523e555 user: drh tags: trunk)
2006-10-04
17:35
The snippet generator adds ellipsis between text from different columns. (CVS 3465) (check-in: 6cf1fb9f80 user: drh tags: trunk)
15:23
Fix UTF conversions for -O2 on gcc 4.1.1. Ticket #2008. (CVS 3464) (check-in: 86a08bb7c5 user: drh tags: trunk)
11:55
Tests cases automatically remove many of their temporary files. (CVS 3463) (check-in: eef0ec0d7a user: drh tags: trunk)
2006-10-03
19:37
Make DL_POSITION the default mode in FTS1. Remove the need to compile with SQLITE_CORE when SQLITE_ENABLE_FTS1 is used. (CVS 3462) (check-in: df1a4b4834 user: drh tags: trunk)
19:12
Modify the makefile(s) to know about the FTS1 module - however FTS1 is turned off by default. Bump the version number to 3.3.8. (CVS 3461) (check-in: 288ff63783 user: drh tags: trunk)
19:05
Report the error SQLITE_CORRUPT instead of SQLITE_IOERR if unable to rollback a hot journal that was damaged (for example) by filesystem corruption following a power failure. (CVS 3460) (check-in: 70501e4ea5 user: drh tags: trunk)
17:40
Add the OS-X locking style patches to os_unix.c. Disabled by default. (CVS 3459) (check-in: f4103dea5e user: drh tags: trunk)
12:08
Fix sqlite3_analyzer so that it works when compiled against Tcl8.5. (CVS 3458) (check-in: e774adce8e user: drh tags: trunk)
12:04
Fix sqlite3_analyzer so that it works on databases containing virtual tables. (CVS 3457) (check-in: 47c8567fcb user: drh tags: trunk)
11:42
Add the option to omit offset information from posting lists in FTS1. (CVS 3456) (check-in: fdcea7b1ff user: drh tags: trunk)
2006-10-01
20:41
Another typo in the Porter stemmer check-in. (CVS 3455) (check-in: 6696bda11c user: drh tags: trunk)
18:59
Typo in previous check-in. (CVS 3454) (check-in: a7350bf86c user: drh tags: trunk)
18:58
Remove one non-working test case fromthe Porter stemmer tests and add an acknowledgement for the source of the test data (Martin Porter himself.) (CVS 3453) (check-in: 1a2df2a61b user: drh tags: trunk)
18:41
Add a Porter stemmer option to the FTS1 module. (CVS 3452) (check-in: 936b06aaa8 user: drh tags: trunk)
2006-09-29
14:01
Make sure memory does not leak when patching up column names so that they are unique in a join or view. Tickets #1952 and #2002. (CVS 3451) (check-in: fcde639119 user: drh tags: trunk)
2006-09-28
19:43
Fix a bug in the handling of the OR operator in FTS1. Test cases added to prevent a repeat. (CVS 3450) (check-in: 8cdf1d6ae0 user: drh tags: trunk)
18:58
More snippet generator improvements and test cases. (CVS 3449) (check-in: 0934d220b3 user: drh tags: trunk)
18:37
Bug fix in the FTS1 snippet generator. Improvements in the way the snippet generator handles whitespace. (CVS 3448) (check-in: d3f4ae8275 user: drh tags: trunk)
11:41
Avoid segfaults when inserted NULL values into FTS1. (CVS 3447) (check-in: 165645d301 user: drh tags: trunk)
2006-09-26
00:37
Fix to the previous check-in. (CVS 3446) (check-in: 944d5f8120 user: drh tags: trunk)
00:34
Performance improvement and bug fix in sqlite3WinDelete(). (CVS 3445) (check-in: 46ac1ac2d1 user: drh tags: trunk)
2006-09-25
18:05
CVS malfunctioned on the previous check-in. Make sure the revision to date.c was received. Ticket #1991. (CVS 3444) (check-in: 433dac1f29 user: drh tags: trunk)
18:03
Fix a roundoff error in the %f converter of strftime(). Ticket #1991. (CVS 3442) (check-in: 51b9c755ea user: drh tags: trunk)
18:01
Add a pragma for activating proprietary extensions. (CVS 3441) (check-in: c63d34ce0c user: drh tags: trunk)
18:01
Fix a round-off problem in the %f conversion of strftime(). Ticket #1991. (CVS 3443) (check-in: bf4608406a user: drh tags: trunk)
13:48
Bug fix in pragma table_info(). (CVS 3440) (check-in: c037403bae user: drh tags: trunk)
13:09
Remove legacy cruft from shell.c. (CVS 3439) (check-in: 815d8f84b3 user: drh tags: trunk)
2006-09-23
21:44
Fix a bug in the handling of I/O errors introduced by the addition of extended error codes in check-in (3422). (CVS 3438) (check-in: 20d7b29443 user: drh tags: trunk)
20:46
Fix documentation typo. Ticket #1986 (CVS 3437) (check-in: 58c32ce35a user: drh tags: trunk)
20:36
Be sure to ignore PRAGMA encoding pragmas if the encoding has already been set for a database. Ticket #1987. This patch also includes some cleanup of the schema parser and initialization logic. (CVS 3436) (check-in: dc797bf4fa user: drh tags: trunk)
2006-09-22
23:38
Fix a build problem around sqlite3_overload_function. Only affects so/dll builds. (CVS 3435) (check-in: 791d70936b user: shess tags: trunk)
00:06
Implemented UPDATE for full-text tables.

We handle an UPDATE to a row by performing an UPDATE on the content table and by building new position lists for each term which appears in either the old or new versions of the row. We write these position lists all at once; this is presumably more efficient than a delete followed by an insert (which would first write empty position lists, then new position lists). (CVS 3434) (check-in: 757fa22400 user: adamd tags: trunk)

2006-09-21
20:56
When gathering a doclist for querying, don't discard empty position lists until the end; this allows empty position lists to override non-empty lists encountered later in the gathering process. This fixes #1982, which was caused by the fact that for all-column queries we weren't discarding empty position lists at all. (CVS 3433) (check-in: 111ca61671 user: adamd tags: trunk)
11:02
Be more aggressive with the SQLITE_OMIT_VACUUM macro. Saves about 150 bytes of code space. (CVS 3432) (check-in: 7e618db457 user: drh tags: trunk)
02:03
Implementation of the snippet() function for FTS1. Includes a few simple test cases but more testing is needed. (CVS 3431) (check-in: c7ee60d009 user: drh tags: trunk)
2006-09-18
21:14
Fixed a build problem in sqlite3_extension_init(). (CVS 3430) (check-in: bb2e1871cb user: adamd tags: trunk)
20:24
Convert all names to lower case before sending them to the xFindFunction method of a virtual table. In FTS1, use strcmp instead of strcasecmp. Ticket #1981. (CVS 3429) (check-in: cd4e1de896 user: drh tags: trunk)
20:24
Convert all names to lower case before sending them to the xFindFunction method of a virtual table. In FTS1, use strcmp instead of strcasecmp. Ticket #1981. (CVS 3428) (check-in: efa8fb32a5 user: drh tags: trunk)
02:12
Modify FTS1 so that the "magic" column has the same name as the virtual table. Offsets are retrieved using a special "offsets" function whose first argument is the magic column. Snippets will ultimately be retrieved in the same way. (CVS 3427) (check-in: 5e35dc1ffa user: drh tags: trunk)
2006-09-16
21:45
Add the sqlite3_overload_function() API - part of the virtual table interface. (CVS 3426) (check-in: aa7728f9f5 user: drh tags: trunk)
2006-09-15
16:58
Add documentation for the sqlite3_extended_result_codes() API. (CVS 3425) (check-in: a6b3f6bed2 user: drh tags: trunk)
16:09
Fix an initialization problem in FTS1. Ticket #1977. (CVS 3424) (check-in: 5a18dd8849 user: drh tags: trunk)
12:29
Bug fix and better testing of the extended result codes. (CVS 3423) (check-in: 78ae74db1c user: drh tags: trunk)
07:28
Add support for extended result codes - additional result information carried in the higher bits of the integer return codes. This must be enabled using the sqlite3_extended_result_code() API. Only a few extra result codes are currently defined. (CVS 3422) (check-in: ba579ddc43 user: drh tags: trunk)
2006-09-14
21:08
New FTS1 test data based on enron emails. (CVS 3421) (check-in: 01651a32c6 user: drh tags: trunk)
18:25
Remove file containing real email addresses. Ticket #1978. (CVS 3420) (check-in: 373a575f74 user: drh tags: trunk)
16:57
Minor build fixes. (CVS 3419) (check-in: 3564b07c40 user: adamd tags: trunk)
13:47
Enhanced I/O error simulation. (CVS 3418) (check-in: 86931854fc user: drh tags: trunk)
01:17
The FTS1 tables have a new automatic column named "offset" that returns a string containing byte offset information for all matching terms. Also added a large test case based on SQLite mailing list entries. (CVS 3417) (check-in: f25cfa1aec user: drh tags: trunk)
2006-09-13
20:22
Modify the ".dump" command in the command-line shell so that it works with virtual tables. (CVS 3416) (check-in: afd40184b7 user: drh tags: trunk)
19:21
Remove unused malloc failure test. (Ticket #1976) Also include fixes for other problems discovered while investigating ticket #1976. (CVS 3415) (check-in: f4ab546b2e user: drh tags: trunk)
19:18
In FTS1: Retain the Query structure as part of the cursor. It will be used laster as part of snippet generation. (CVS 3414) (check-in: 607d928ce9 user: drh tags: trunk)
18:40
Earlier refactoring changed name in fts1.c but not fts1.h. (CVS 3413) (check-in: d4edb8035c user: shess tags: trunk)
17:17
Minor code cleanup in FTS1. (CVS 3412) (check-in: fca5928167 user: drh tags: trunk)
16:02
Implementation of "column:" modifiers in FTS1 queries. (CVS 3411) (check-in: 820634f71e user: drh tags: trunk)
15:20
Module spec parser enhancements for FTS1. Now able to cope with column names in the spec that are SQL keywords or have special characters, etc. Also added support for additional control lines. Column names can be followed by a type specifier (which is ignored.) (CVS 3410) (check-in: adb780e0dc user: drh tags: trunk)
12:36
Fix the FTS1 test cases and add new tests. Comments added to the FTS1 code. (CVS 3409) (check-in: 528036c828 user: drh tags: trunk)
02:18
Allow virtual tables to contain multiple full-text-indexed columns. Added a magic column "_all" which can be used for querying all columns in a table at once.

For now, each posting list stores position/offset information for multiple columns. We may implement separate posting lists for separate columns at some future point. (CVS 3408) (check-in: 366a70b086 user: adamd tags: trunk)

2006-09-12
23:36
Answer queries for a particular rowid in a full-text table by looking up that rowid directly rather than by performing a table scan. (CVS 3407) (check-in: 877d5558b1 user: adamd tags: trunk)
2006-09-11
23:45
Add support for IF EXISTS on CREATE/DROP TRIGGER/VIEW. Ticket #1899. (CVS 3406) (check-in: e4fe736cfb user: drh tags: trunk)
21:39
Re-use deleted rowids for new segments. This has a somewhat surprising impact on performance, I believe because it keeps the index smaller (by keeping rowids smaller), and also because it improves locality in the table (deleting a row means we've already touched the pages leading to that rowid). (CVS 3405) (check-in: 2f5f6290c9 user: shess tags: trunk)
11:13
Get VACUUM working with virtual tables. (CVS 3404) (check-in: d5ffef3870 user: drh tags: trunk)
00:34
Add a rudimentary tokenizer and parser to FTS1 for parsing the module arguments during initialization. Recognized arguments include a tokenizer selector and a list of virtual table columns. (CVS 3403) (check-in: 227dc3feb5 user: drh tags: trunk)
2006-09-10
17:31
Add pzErr parameters to the xConnect and xCreate methods of virtual tables in order to provide better error reporting. This is an interface change for virtual tables. Prior virtual table implementations will need to be modified and recompiled. (CVS 3402) (check-in: f44b8bae97 user: drh tags: trunk)
17:08
Add a new zErrMsg field to the sqlite3_vtab structure to support returning error messages from virtual table constructors. This change means that virtual table implementations compiled as loadable extensions for version 3.3.7 will need to be recompile for version 3.3.8 and will not be usable by both versions at one. The virtual table mechanism is still considered experimental so we feel justified in breaking backwards compatibility in this way. Additional interface changes might occurs in the future. (CVS 3401) (check-in: 36693a5cb7 user: drh tags: trunk)
03:34
Add some simple test cases for the OR and NOT logic of the fts1 module. Fix lots of bugs discovered while developing these test cases. (CVS 3400) (check-in: 70bcff024b user: drh tags: trunk)
2006-09-09
23:11
Add support for OR and NOT terms in fts1. (CVS 3399) (check-in: ae50265791 user: drh tags: trunk)
2006-09-08
17:00
Write doclists using a segmented technique to amortize costs better. New items for a term are merged with the term's segment 0 doclist, until that doclist exceeds CHUNK_MAX. Then the segments are merged in exponential fashion, so that segment 1 contains approximately 2*CHUNK_MAX data, segment 2 4*CHUNK_MAX, and so on. (CVS 3398) (check-in: b6b93a3325 user: shess tags: trunk)
12:49
Add HAVE_GMTIME_R and HAVE_LOCALTIME_R flags and use them if defined. Unable to modify the configure script to test for gmtime_r and localtime_r, however, because on my SuSE 10.2 system, autoconf generates a configure script that does not work. Bummer. Ticket #1906 (CVS 3397) (check-in: 862302eaae user: drh tags: trunk)
12:27
Bug fix in date/time computations. Ticket #1964. Some unrelated comment typos are also fixed and got accidently checked in at the same time. (CVS 3396) (check-in: c81eaa0dc9 user: drh tags: trunk)
11:56
Improvements to the documentation of the return codes for sqlite3_step(). Tickets #1633, #1366, #1178, #906, and probably others too. (CVS 3395) (check-in: 508248e783 user: drh tags: trunk)
2006-09-06
21:39
Include io.h on Windows to quell a build warning about access() having no prototype. (CVS 3394) (check-in: b3eb1732bd user: adamd tags: trunk)
2006-09-05
18:21
A minor change to fts1.c to fix broken build. (CVS 3393) (check-in: 55a03b9625 user: adamd tags: trunk)
2006-09-04
18:54
Fix a bug in the new misc6.test script. Fix error messages when not compiled with memory debugging enabled. Ticket #1957. (CVS 3392) (check-in: 9fb92024bf user: drh tags: trunk)
15:53
Make sure strings returned by sqlite3_value_text() and sqlite3_value_text16() are always '\000'-terminated. (CVS 3391) (check-in: 2c63588b45 user: drh tags: trunk)
2006-09-02
22:14
Fix bugs in test scripts so that fulltest will pass. (CVS 3390) (check-in: 367bd8376f user: drh tags: trunk)
22:14
Changes to the Makefile.in so that MinGW users can build a DLL. Ticket #1955. (CVS 3389) (check-in: 7279ddd084 user: drh tags: trunk)
20:58
Add a TRACE macro to the FTS1 module for troubleshooting. Turned off by default. (CVS 3388) (check-in: d4923e98c6 user: drh tags: trunk)
20:57
Do not call the xDisconnect method on a virtual table while xUpdate is pending. Instead, defer the xDisconnect until after xUpdate completes. (CVS 3387) (check-in: 61148f4c36 user: drh tags: trunk)
14:50
Test for busted TCL builds that do not support 64-bit integers and print a warning message to users that test failures may be a result of the bad TCL build and not some problem with SQLite. Ticket #1953. (CVS 3386) (check-in: ca864ee913 user: drh tags: trunk)
14:17
Convert static variables into constants in the FTS module. (CVS 3385) (check-in: 098cbafcd6 user: drh tags: trunk)
13:58
Automatically register the FTS module if it is compiled into the build. (CVS 3384) (check-in: 8a96bdb724 user: drh tags: trunk)
13:22
Construct the .def files before calling dllwrap to build the .dll files. Ticket #1951. (CVS 3383) (check-in: e6e49a3811 user: drh tags: trunk)
00:23
Miscellaneous restructuring and cleanup based on suggestions from shess. (CVS 3382) (check-in: e98b0cf292 user: adamd tags: trunk)
2006-09-01
17:06
Automatically compute the sqlite3.def and tclsqlite3.def files when building windows DLLs. This will (hopefully) keep the .def files in perfect synchronization with the DLLs. Ticket #1951. (CVS 3381) (check-in: 1f6d79266a user: drh tags: trunk)
15:49
Remove use of the "clock" command in the test suite so that the tests will run in Tcl8.5. Ticket #1445. (CVS 3380) (check-in: bedbac54db user: drh tags: trunk)
00:33
Make fts1.c not rely on nul-terminated strings. Mostly a matter of making sure we always pass around ptr/len, but there were a few places where we actually relied on nul-termination.

An earlier change had additionally changed appropriate sqlite3_bind_text() calls to sqlite3_bind_blob(). I've found that this changes what's actually stored in the database, so backed those changes out. Also (and this is weird), I found that I could no longer do straight-forward = queries against %_term.term at a command-line. (CVS 3379) (check-in: 5844db1aa9 user: shess tags: trunk)

00:05
Make tokenizer not rely on nul-terminated text. Instead of using strcspn() and a nul-terminated delimiter list, I just flagged delimiters in an array and wrote things inline. Submitting this for review separately because it's pretty standalone. (CVS 3378) (check-in: 2631ceaeef user: shess tags: trunk)
2006-08-31
15:07
Refactor the FTS1 module so that its name is "fts1" instead of "fulltext", so that all symbols with external linkage begin with "sqlite3Fts1", and so that all filenames begin with "fts1". (CVS 3377) (check-in: e1891f0dc5 user: drh tags: trunk)
2006-08-30
21:40
Just don't run tolower() on hi-bit characters. This shouldn't cause us to break any UTF-8 code points, unless they were already broken in the input. (CVS 3376) (check-in: 6c77c2d5e1 user: shess tags: trunk)
2006-08-29
18:46
Bug fix: Get INSERT INTO ... SELECT working when the target is a virtual table. (CVS 3375) (check-in: 7cdc41e748 user: drh tags: trunk)
18:46
Bug fix: Get INSERT INTO ... SELECT working when the target is a virtual table. (CVS 3374) (check-in: 7912485705 user: drh tags: trunk)
13:08
Document the fact that SQLite allows NULL values in PRIMARY KEY columns and the fact that we might design to change this in the future. Ticket #518. (CVS 3373) (check-in: b99d845ef4 user: drh tags: trunk)
12:04
Improved built-in help in the command-line shell. Enable the fulltext search extension in the TCL interface. (CVS 3372) (check-in: 9763b4bfd5 user: drh tags: trunk)
2006-08-28
23:46
Make static some symbols which shouldn't have been exported. (CVS 3371) (check-in: 58006e38af user: shess tags: trunk)
20:08
Make hi-bit characters delimiters. This is a stopgap until the tokenizer and fulltext.c recognize UTF-8 correctly. (CVS 3370) (check-in: ca850d3d80 user: shess tags: trunk)
2006-08-27
14:10
Add sqlite3_malloc and sqlite3_realloc to the sqlite3.def file. Ticket #1943. (CVS 3369) (check-in: 4a74838eac user: drh tags: trunk)
2006-08-25
23:42
Add support for INSERT INTO ... DEFAULT VALUES. Tickets #299, #1940. (CVS 3368) (check-in: bc84cb54b0 user: drh tags: trunk)
19:20
Fix gcc gripe about parens in a ||/&& in mergePosList(). Drop unused pBlob/nBlob in index_insert_term(). Fix NULL deref in an assertion in docListUpdate() delete case. Minor code tightening in docListUpdate(). (CVS 3367) (check-in: a6fcf9101a user: shess tags: trunk)
2006-08-24
15:18
Documentation updates for the new SQLITE_FUNCTION authorization. (CVS 3366) (check-in: e029637e54 user: drh tags: trunk)
14:59
Enhance the sqlite3_set_authorizer() callback so that it provides callbacks on each SQL function that is invoked. (CVS 3365) (check-in: 4547c81f7d user: drh tags: trunk)
02:42
Tcl interface does filename translation prior to calling sqlite3_open(). Ticket #1937. (CVS 3364) (check-in: 5696e0cb77 user: drh tags: trunk)
2006-08-23
23:58
A first implementation of a full-text search module for SQLite. (CVS 3363) (check-in: b0d8e0d314 user: adamd tags: trunk)
20:07
Add the new experimental sqlite3_auto_extension() API. (CVS 3362) (check-in: a85fc877eb user: drh tags: trunk)
2006-08-22
23:53
Add argc as a default global to match standard tcl environment. (CVS 3361) (check-in: 533154099c user: shess tags: trunk)
14:45
Add the ext/fts1 subdirectory for holding the first full-text search extension. (CVS 3360) (check-in: 7f152f9f3a user: drh tags: trunk)
2006-08-19
13:32
Fix bug in documentation. Ticket #1927. (CVS 3359) (check-in: 90296bc8fa user: drh tags: trunk)
11:34
Fix for the (unsupported) soundex algorithm so that it conforms to Knuth. Ticket #1925. Test cases added. (CVS 3358) (check-in: 7810d1abf6 user: drh tags: trunk)
11:15
Improved method for finding the home directory under windows. Ticket #1926. (CVS 3357) (check-in: 10907bb201 user: drh tags: trunk)
2006-08-16
22:58
Remove obsolete clause in the documentation. Ticket #1923. (CVS 3356) (check-in: d4f182e5aa user: drh tags: trunk)
16:42
Allows UPDATE, INSERT, and DELETEs to occur while a SELECT is pending on the same table. (CVS 3355) (check-in: 8c52d2ad46 user: drh tags: trunk)
2006-08-15
14:21
Tighten an assert (ticket #1920). Change to "sqlite3.h" from <sqlite3.h> on the sqlite3ext.h header (ticket #1916). Fix a bug in the test scripts. (CVS 3354) (check-in: 3ebedbb6f9 user: drh tags: trunk)
2006-08-14
14:23
Change the table_info pragma to show the text of the default value expression, not the result of evaluating the default value expression. Ticket #1919. (CVS 3353) (check-in: b4d53974c3 user: drh tags: trunk)
2006-08-13
21:49
Adjust the Makefile.in so that there are no test errors when using the configure script. Ticket #1918. (CVS 3352) (check-in: 6a25be921b user: drh tags: trunk)
19:04
Add vdbeaux.c to the list of files that must be compiled with -DSQLITE_TEST=1 in order to generate testfixture. Do not require sqlit3OsDelete() to succeed on a multi-database commit. (Ticket #1917) (CVS 3351) (check-in: dfc833ac79 user: drh tags: trunk)
18:43
Vtab2.test script works regardless of what TCL version is used. (CVS 3350) (check-in: 6df3f6761a user: drh tags: trunk)
18:39
Compile in test code whenever -DSQLITE_TEST=1 is present. Do not rely on -DSQLITE_DEBUG=1 because somebody might try to run the tests without it. (CVS 3349) (check-in: 867defe328 user: drh tags: trunk)
2006-08-12
14:42
Version 3.3.7 (CVS 3348) (check-in: 85434a4b96 user: drh tags: trunk)
14:38
Documentation changes prior to the release of 3.3.7. (CVS 3347) (check-in: c276cca2aa user: drh tags: trunk)
13:28
Fix a bug in out-of-memory processing introduced by check-in (3336). (CVS 3346) (check-in: 8d98a205cb user: drh tags: trunk)
12:33
Require whitespace or punctuation between a numeric literal and an identifier or keyword. Ticket #1912. (CVS 3345) (check-in: 0f667c4abd user: drh tags: trunk)
2006-08-11
19:08
Make sure sufficient memory is allocated to hold the collating sequence pointers for all columns of an ORDER BY clause even if the ORDER BY clause contains more columns than where originally in the table. Ticket #1911. (CVS 3344) (check-in: 924ea730f4 user: drh tags: trunk)
2006-08-08
15:42
Fix an reference to an undefined variable introduced by the previous checkin. (CVS 3343) (check-in: 73ff3452a0 user: drh tags: trunk)
13:51
Remove most static and global variables from a pure build. There are still a number of static and global variables used for testing. (CVS 3342) (check-in: 76e4d41877 user: drh tags: trunk)
2006-07-30
20:50
Reset the schema before checking for outstanding statements inside sqlite3_close() so that virtual tables will be disconnected. (CVS 3341) (check-in: af05c3ca06 user: drh tags: trunk)
2006-07-28
20:16
Report any error which occurs in closing the database at exit. Free a couple of strings which were leaking. (CVS 3340) (check-in: 47353f62ca user: adamd tags: trunk)
2006-07-26
16:22
Disallow writing to, creating or dropping virtual tables from within xSync() callbacks. (CVS 3339) (check-in: e705d23232 user: danielk1977 tags: trunk)
14:57
Fix an overzealous assert() in the UTF-16 to UTF-8 converter. (CVS 3338) (check-in: 096bd8212f user: drh tags: trunk)
14:49
Add a test case to trigger an assertion fault when running sqlite3_prepare16() with a predefined string size. (CVS 3337) (check-in: 93878e6ebf user: drh tags: trunk)
13:43
More work toward getting sqlite3_interrupt() to work from separate threads. Ticket #1897. (CVS 3336) (check-in: e431131d47 user: drh tags: trunk)
01:39
Initial attempt at making sqlite3_interrupt() work even when called from a separate thread. (CVS 3335) (check-in: 35fd67d7a0 user: drh tags: trunk)
2006-07-25
15:14
Allow database writes from within virtual table module xSync() callbacks. (CVS 3334) (check-in: d5a608d0a4 user: danielk1977 tags: trunk)
2006-07-17
00:19
Fix lemon so that it does not crash on a empty reduce action. Ticket #1892. (CVS 3333) (check-in: 4207ebc4e1 user: drh tags: trunk)
00:02
Add the "interrupt" method to the TCL interface. Ticket #1889. (CVS 3332) (check-in: b0d19e575b user: drh tags: trunk)
2006-07-12
00:18
Reset TCL results when onecolumn or eval methods have no reply. Ticket #1887. (CVS 3331) (check-in: 9c6090c609 user: drh tags: trunk)
2006-07-11
14:17
By default, new databases are now created in the legacy file format - the format that ignores DESC on indices. If you want descending indices, you must either recompile with -DSQLITE_DEFAULT_FILE_FORMAT=4 or issue "PRAGMA legacy_file_format=OFF" prior to creating the first table in the database. (CVS 3330) (check-in: 65b60f05ce user: drh tags: trunk)
13:15
Prevent memory leak and possible NULL pointer deference after malloc failure. Ticket #1886. (CVS 3329) (check-in: b1f326e695 user: drh tags: trunk)
12:40
Fix a NULL pointer deference following malloc failure. Bug discovered by klocwork. (CVS 3328) (check-in: eb91612f46 user: drh tags: trunk)
10:42
Fix a possible NULL-pointer deference following a malloc failure. Error discovered by Klocwork. (CVS 3327) (check-in: 368bcf2644 user: drh tags: trunk)
2006-07-10
21:15
Back out the changes of ticket #1687 since they broken the ActiveTcl build. (CVS 3326) (check-in: b10d4220dc user: drh tags: trunk)
2006-07-08
18:41
Better comment to describe the confusing operand reversal for infix functions. (CVS 3325) (check-in: 30dfb9bf21 user: drh tags: trunk)
18:35
For infix functions (LIKE, GLOB, REGEXP, and MATCH) treat the left operand as the first argument for the purposes of virtual table function overloading, even though the left operand is really the the second argument. (CVS 3324) (check-in: 6e98373ca1 user: drh tags: trunk)
18:09
Add tests and minor fixes to the xFindFunction method of virtual tables. (CVS 3323) (check-in: 3c4233e074 user: drh tags: trunk)
17:06
Allow virtual table implementations to overload function that use a column of the virtual table as their first argument. Untested. (CVS 3322) (check-in: 12cc7af4b6 user: drh tags: trunk)
2006-07-06
17:08
Make the sqlite3_enable_load_extension() interface accessible from the TCL bindings. (CVS 3321) (check-in: ce96b890bb user: drh tags: trunk)
10:59
Change sqlite3_busy_timeout so that it checks for an invalid database pointer. (CVS 3320) (check-in: 225a9597b2 user: drh tags: trunk)
2006-07-02
10:21
Fix spelling of Perl on the homepage. (CVS 3319) (check-in: 255c5a9946 user: drh tags: trunk)
2006-06-28
18:18
Changes to get tests to pass with OMIT_VIRTUALTABLE. Ticket #1877. (CVS 3318) (check-in: 60616496b7 user: drh tags: trunk)
2006-06-27
20:39
Better handling of NULL column names. (CVS 3317) (check-in: 9f13972b93 user: drh tags: trunk)
20:06
Move the sqlite3_sleep() and sqlite3_clear_bindings() interfaces into the main library and make this official. (CVS 3316) (check-in: eb3442c44e user: drh tags: trunk)
20:05
Off by 1 error in check-in (3314). Note that this change is a likely fix for ticket #1875. But I have not tested it for that purpose yet. (CVS 3315) (check-in: c7477459e9 user: drh tags: trunk)
18:55
Use the -k option to sort. This allows the build to run on newer unix systems, but will likely break the build on older ones. Please address your complaints to the posix committee members that thought this would be a good idea. (CVS 3314) (check-in: 5d7e6bbddb user: drh tags: trunk)
18:38
When compiling extensions in the load_extension tests, specify a path for finding include files. (CVS 3313) (check-in: aee4b66994 user: drh tags: trunk)
16:34
Prevent databases from being DETACHed while they are in use. Fix for #1873. (CVS 3312) (check-in: 70a48b250b user: danielk1977 tags: trunk)
15:16
The ability to load extensions is turned off by default. It must be enabled by calling sqlite3_enable_load_extension() before it will work. This prevents security problems in legacy applications. Ticket #1863. (CVS 3311) (check-in: 4692319ccf user: drh tags: trunk)
14:37
Changes to build successfully with -DSQLITE_OMIT_LOAD_EXTENSION=1 (CVS 3310) (check-in: 783369e870 user: drh tags: trunk)
13:20
Changes so that it will build with SQLITE_OMIT_VIRTUALTABLE=1. (CVS 3309) (check-in: 5612b28705 user: drh tags: trunk)
12:51
All tests pass even if compiled with -DSQLITE_DEFAULT_FILE_FORMAT=1. (CVS 3308) (check-in: 8a49311d2f user: drh tags: trunk)
12:25
Fix up the test tclvar virtual module. (CVS 3307) (check-in: a20bfa4631 user: danielk1977 tags: trunk)
12:24
Additional documentation on the 3.3.0 file format change added to formatchng.html. (CVS 3306) (check-in: 955551ca2e user: drh tags: trunk)
12:16
Fix bug in transfer of arguments from WHERE clause to virtual table xFilter() methods. (CVS 3305) (check-in: cf41f2a33f user: danielk1977 tags: trunk)
11:14
Move older news items to the oldnews.html page. (CVS 3304) (check-in: 80163ded7d user: drh tags: trunk)
07:34
In test code, always use sqlite3_free() instead of free() to free error messages returned by sqlite3_exec(). (CVS 3303) (check-in: 6521ee5f32 user: danielk1977 tags: trunk)
02:36
Make sure that MATCH terms that a virtual table says should be omitted really are omitted. (CVS 3302) (check-in: 3e1f5567df user: drh tags: trunk)
02:33
Cleanup and refactor parts of the optimizer. (CVS 3301) (check-in: 6609c25fbf user: drh tags: trunk)
01:54
Cache and reuse virtual table index information in the optimizer. Improved diagnostics for virtual table index selection. (CVS 3300) (check-in: 28413cf2b3 user: drh tags: trunk)
00:14
Export the sqlite3_bind_value API to loadable extensions. (CVS 3299) (check-in: 1ca385bb39 user: drh tags: trunk)
2006-06-26
21:35
Publish APIs sqlite3_malloc() and sqlite3_realloc() that use the OS-layer memory allocator. Convert sqlite3_free() and sqlite3_mprintf() to also use the OS-layer memory allocator. (CVS 3298) (check-in: 85a66a25e9 user: drh tags: trunk)
19:10
Remove the sqlite3_module.zName field which was used only for debugging. (CVS 3297) (check-in: 74a3961f39 user: drh tags: trunk)
12:50
Fix a file descriptor leak following malloc failure on DROP TABLE IF EXISTS. (CVS 3296) (check-in: 6a63f76c8d user: drh tags: trunk)
11:17
Fix trivial compiler warnings. (CVS 3295) (check-in: 3538beace8 user: danielk1977 tags: trunk)
10:37
Syntax documentation updates. (CVS 3294) (check-in: df601a7b37 user: drh tags: trunk)
2006-06-24
12:39
(OS/2) Armor OS/2 against accidental deletion of files, too (patch by Daniel Kruse, verified by me) (CVS 3293) (check-in: f357efb373 user: pweilbacher tags: trunk)
11:51
A few more test cases to improve coverage of virtual table module related code. (CVS 3292) (check-in: 255aa9121a user: danielk1977 tags: trunk)
09:34
Add tests to improve coverage of vtab.c. (CVS 3291) (check-in: 0c5f4ee39c user: danielk1977 tags: trunk)
08:51
Ensure whitespace specified as part of a virtual table constructor argument is correctly passed to the constructor function. (CVS 3290) (check-in: 4630e11d9a user: danielk1977 tags: trunk)
06:36
Clean up and clarify code in test8.c. (CVS 3289) (check-in: 4acf7594a6 user: danielk1977 tags: trunk)
2006-06-23
14:43
Modify the test cases in tkt1444.test that were failing. I am convinced that the test cases were incorrect. (CVS 3288) (check-in: 0534f6e15b user: danielk1977 tags: trunk)
14:32
Allow xDestroy methods to execute "DROP TABLE" statements. (CVS 3287) (check-in: a56bfa5604 user: danielk1977 tags: trunk)
11:34
Fix some memory leaks that occur when malloc() fails. (CVS 3286) (check-in: b56cc035f2 user: danielk1977 tags: trunk)
08:05
Add tests and fixes for handling malloc() failures related to the virtual table feature. (CVS 3285) (check-in: 5d1d907189 user: danielk1977 tags: trunk)
2006-06-22
09:53
Test the handling of errors in virtual table methods. (CVS 3284) (check-in: 51b729d9d9 user: danielk1977 tags: trunk)
2006-06-21
19:30
Make the last_insert_rowid method in the TCL interface work with 64-bit rowids. (CVS 3283) (check-in: d50c37975d user: drh tags: trunk)
16:02
Add the database name to the parameters passed to virtual table module xCreate and xConnect methods. (CVS 3282) (check-in: 2d2805785f user: danielk1977 tags: trunk)
13:21
Add the table name to the arguments passed to the virtual table methods xCreate/xConnect. (CVS 3281) (check-in: 7dc36d1c79 user: danielk1977 tags: trunk)
12:36
Add tests to make sure altering or adding an index to a virtual table is prohibited. (CVS 3280) (check-in: 6c3e8852ff user: danielk1977 tags: trunk)
07:34
Test cases for accessing virtual tables when the corresponding module is undefined. (CVS 3279) (check-in: bcef48c54d user: danielk1977 tags: trunk)
07:02
Fix a problem with virtual tables and joins. (CVS 3278) (check-in: 643e63e588 user: danielk1977 tags: trunk)
2006-06-20
13:07
Fix some problems with virtual tables and joins in where.c. (CVS 3277) (check-in: 3e19a7d8ea user: danielk1977 tags: trunk)
11:01
Modifications so that compilation and testing with the various OMIT macros defined works. (CVS 3276) (check-in: c6ea353bd9 user: danielk1977 tags: trunk)
00:22
Update the news column on the homepage. (CVS 3275) (check-in: 24a94bb075 user: drh tags: trunk)
2006-06-19
12:02
Avoid returning MISUSE when sqlite is called recursively by an xBestIndex callback. (CVS 3274) (check-in: 4339e1bf66 user: danielk1977 tags: trunk)
06:32
Add tests to ensure triggers cannot be created on virtual tables. (CVS 3273) (check-in: 9470e27962 user: danielk1977 tags: trunk)
05:33
Respect default collation sequences assigned to virtual table columns. (CVS 3272) (check-in: d9b205acac user: danielk1977 tags: trunk)
04:49
Fix memory leak in where.c. (CVS 3271) (check-in: 3d10e8f361 user: danielk1977 tags: trunk)
03:05
Add tests to ensure an INSERT/UPDATE/DELETE immediately after virtual table construction does not fail. (CVS 3270) (check-in: 144d0eb13a user: danielk1977 tags: trunk)
2006-06-17
14:12
Add the load_extension() SQL function. (CVS 3269) (check-in: e08e2ddafe user: drh tags: trunk)
13:21
The default entry point for loadable extensions is now always sqlite3_extension_init(). (CVS 3268) (check-in: 059b1f6140 user: drh tags: trunk)
11:30
Add newly created virtual tables to the current transaction. (CVS 3267) (check-in: ea7e4eca10 user: danielk1977 tags: trunk)
10:44
Clear a compiler warning by adding a prototype to sqliteInt.h. (CVS 3266) (check-in: ca541ef3c4 user: drh tags: trunk)
09:39
Add tests (and fixes) for the virtual table transaction interface. (CVS 3265) (check-in: 8a5b121f2f user: danielk1977 tags: trunk)
06:31
When updating a view, invoke the authorization callback for reading the view before setting the authorization-context to the view name. (CVS 3264) (check-in: 48d297c561 user: danielk1977 tags: trunk)
03:27
Fixes for UPDATE statements on virtual tables. (CVS 3263) (check-in: 81c5a5b48b user: danielk1977 tags: trunk)
2006-06-16
21:13
Rework the way UPDATE works for virtual tables. (CVS 3262) (check-in: 2119e7bf55 user: drh tags: trunk)
16:08
Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261) (check-in: 6125140228 user: danielk1977 tags: trunk)
08:01
Add some tests (and fixes) for virtual tables and the authorization callback. Still more to come. (CVS 3260) (check-in: 9497c66e55 user: danielk1977 tags: trunk)
06:17
Arrange for sqlite3_last_insert_rowid() to work with virtual tables. (CVS 3259) (check-in: afa39a4632 user: danielk1977 tags: trunk)
2006-06-15
16:26
Fix type in test_schema.c. (CVS 3258) (check-in: d65d83d383 user: danielk1977 tags: trunk)
15:59
Add test_schema.c, containing a module for viewing the database schema via a virtual table. (CVS 3257) (check-in: de8d32ac71 user: danielk1977 tags: trunk)
15:38
Add column_value, declare_vtab and create_module to the function table used by dynamic extensions. (CVS 3256) (check-in: 25c4750878 user: danielk1977 tags: trunk)
14:31
Write database pages in sorted order to reduce file fragmentation. This is an experimental change. It is not clear if it will help any. It may well be removed in the future. (CVS 3255) (check-in: fe3e70a727 user: drh tags: trunk)
13:22
Asserts added that verify that the code works correctly that ticket #1849 claims is wrong. (CVS 3254) (check-in: d145dc1c4b user: drh tags: trunk)
10:41
Add tests (and modify test code) for writing to virtual tables. (CVS 3253) (check-in: 6380a9b118 user: danielk1977 tags: trunk)
07:29
Simple tests and fixes for writing to virtual tables. (CVS 3252) (check-in: 88fa510e4c user: danielk1977 tags: trunk)
04:28
Add void* argument to sqlite3_create_module to replace sqlite3_module.pAux. (CVS 3251) (check-in: 470a3a0b20 user: danielk1977 tags: trunk)
2006-06-14
23:43
Changes to test8.c to support UPDATE operations on xUpdate. (CVS 3250) (check-in: 9e96511f83 user: drh tags: trunk)
22:07
Bug fixes in the MATCH and ORDER BY processing of virtual tables. (CVS 3249) (check-in: c996185a9e user: drh tags: trunk)
19:00
Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) (check-in: 32c97b884b user: drh tags: trunk)
15:35
Better documentation on the limits of user-defined functions. And a marginally better error message when those limits are exceeded. Ticket #1847. (CVS 3247) (check-in: 0d369ff071 user: drh tags: trunk)
15:16
Add xUpdate method to the echo test module. Currently untested. (CVS 3246) (check-in: 676de55b28 user: danielk1977 tags: trunk)
15:14
Fix segfault introduced in (3243). (CVS 3245) (check-in: e5fff87d00 user: danielk1977 tags: trunk)
15:03
Fix a C++-ism in lempar.c. Ticket #1848. (CVS 3244) (check-in: a0a3b34db8 user: drh tags: trunk)
13:03
Add the opcode OP_VUpdate and replace the xInsert/xDelete members of sqlite3_module with xUpdate. (CVS 3243) (check-in: 15ba5cbf07 user: danielk1977 tags: trunk)
13:03
Add the opcode OP_VUpdate and replace the xInsert/xDelete members of sqlite3_module with xUpdate. (CVS 3242) (check-in: 418f3ca84a user: danielk1977 tags: trunk)
10:55
Add code to test8.c to check that the correct idxNum value is passed to the xFilter method. (CVS 3241) (check-in: 77bcaf99b3 user: danielk1977 tags: trunk)
10:47
Fix typo in test8.c. (CVS 3240) (check-in: 75be7d4988 user: danielk1977 tags: trunk)
10:38
Add some tests for sqlite3_load_extension(). (CVS 3239) (check-in: 402a77c43d user: danielk1977 tags: trunk)
08:48
Add tests for the new MATCH operator. (CVS 3238) (check-in: b4024c394d user: danielk1977 tags: trunk)
07:41
Add a test case for ORDER BY using the echo module. (CVS 3237) (check-in: f459f034f6 user: danielk1977 tags: trunk)
06:58
Change the pModule parameter of the xCreate and xConnect methods to a void*. (CVS 3236) (check-in: 3ffa51b50a user: danielk1977 tags: trunk)
06:31
Add tests for error conditions surrounding the creation/connection of virtual tables. (CVS 3235) (check-in: 5e592c422b user: danielk1977 tags: trunk)
2006-06-13
23:51
The echo module test is now running. Added the tclvar module test but have not yet done anything with it. (CVS 3234) (check-in: 29199eeea4 user: drh tags: trunk)
19:26
The (unsupported) soundex() function returns '?000' when given a NULL. Ticket #1845. (CVS 3233) (check-in: 9372481f23 user: drh tags: trunk)
17:39
The optimizer recognizes MATCH operators and allows virtual-tables to make use of them. (CVS 3232) (check-in: 136bed496b user: drh tags: trunk)
15:37
Add support for the MATCH operator. (CVS 3231) (check-in: 815b84d527 user: drh tags: trunk)
15:36
Get the code to compile with -DSQLITE_OMIT_VIRTUALTABLE=1 (CVS 3230) (check-in: ea4bc5a0be user: drh tags: trunk)
15:12
Improved comments and documentation of sqlite3_load_extension(). (CVS 3229) (check-in: 0bcec95963 user: drh tags: trunk)
15:00
Add the tentative sqlite3_allocate_queryplan() API. (CVS 3228) (check-in: 7a3e97f76b user: danielk1977 tags: trunk)
14:16
Add simple tests for the xFilter and xBestIndex methods. (CVS 3227) (check-in: 0f4657ea69 user: danielk1977 tags: trunk)
13:27
Lemon correctly recognizes an empty grammar and errors out. Fix for a bug reported on the sqlite-users mailing list. (CVS 3226) (check-in: 5539292268 user: drh tags: trunk)
11:27
Free error message string in the quick start example. (CVS 3225) (check-in: 1273261ba7 user: drh tags: trunk)
11:15
Minor changes to lempar.c to reduce warnings on some compilers. (CVS 3224) (check-in: dae71de10d user: drh tags: trunk)
10:24
Add implementations for opcodes required for linear scans of virtual tables. (CVS 3223) (check-in: 1f20e1832b user: danielk1977 tags: trunk)
04:11
Bugfixes: Fix a segfault introduced as part of the new vtab code, deallocate memory in the Destroy() method of the echo module. (CVS 3222) (check-in: 00f3c249bc user: danielk1977 tags: trunk)
04:11
Bugfixes: Fix a segfault introduced as part of the new vtab code, deallocate memory in the Destroy() method of the echo module. (CVS 3221) (check-in: f9ea970475 user: danielk1977 tags: trunk)
01:04
Progress toward getting the virtual-table code generator to work. (CVS 3220) (check-in: 3532f1340f user: drh tags: trunk)
2006-06-12
21:59
Added code to iterate through virtual tables. All regression tests pass but the new code is completely untested. (CVS 3219) (check-in: 0109654331 user: drh tags: trunk)
16:01
Add code to invoke the xDestroy method of a virtual table when it is dropped. (CVS 3218) (check-in: f0c7c8d12c user: danielk1977 tags: trunk)
12:57
Patches to get things working better for OS2. Ticket #1836. (CVS 3217) (check-in: 65c6e5e117 user: drh tags: trunk)
12:50
Fixes so that builds work with SQLITE_OMIT_VIRTUALTABLE=1. (CVS 3216) (check-in: 54b30fe1bd user: drh tags: trunk)
12:46
Get builds working again when extension loading is not enabled. Ticket #1839. (CVS 3215) (check-in: 89ead80129 user: drh tags: trunk)
12:08
Add a simple test case (and corresponding bugfix) for the virtual table xConnect and xDisconnect methods. (CVS 3214) (check-in: b63dbc7947 user: danielk1977 tags: trunk)
11:24
Add first cut of sqlite3_declare_vtab(). Not at all well tested yet. (CVS 3213) (check-in: bbeb93b5bb user: danielk1977 tags: trunk)
06:09
Incremental work on parsing/storing and invoking the xCreate callback for virtual tables. (CVS 3212) (check-in: 8ffbab79d5 user: danielk1977 tags: trunk)
2006-06-11
23:41
Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) (check-in: 898ec36b41 user: drh tags: trunk)
2006-06-10
13:29
Basic parsing of CREATE VIRTUAL TABLE statements. (CVS 3210) (check-in: 66370cb99b user: drh tags: trunk)
2006-06-08
16:10
In the shell, make sure the database is opened before trying to do an ".import". Bug reported on the mailing list. (CVS 3209) (check-in: 39e3427813 user: drh tags: trunk)
15:48
Unload shared libraries when a database connection closes. (CVS 3208) (check-in: 327e6909c9 user: drh tags: trunk)
15:28
New shell command ".load" and the sqlite3_load_extension() API allow new SQL functions and collating sequences to be loaded at run-time from a DLL or shared library. (CVS 3207) (check-in: 4ca932d3ae user: drh tags: trunk)
2006-06-06
13:34
Version 3.3.6 (CVS 3206) (check-in: c11cb07e4b user: drh tags: trunk)
12:38
Changes in preparation for version 3.3.6. (CVS 3205) (check-in: b2e11e0290 user: drh tags: trunk)
12:32
Command "sqlite3 -version" returns 0 instead of 1. Ticket #1771. (CVS 3204) (check-in: fd0fae4835 user: drh tags: trunk)
11:45
In joins of the form "A left B, C" make sure they are not transformed into "A left C, B". Ticket #1830. See also #1652. (CVS 3203) (check-in: 2baa983653 user: drh tags: trunk)
2006-06-04
23:31
Add comments to the changes of check-in (3200). (CVS 3202) (check-in: 697498d4e8 user: drh tags: trunk)
23:20
Fix a windows portability problem in trans.test. (CVS 3201) (check-in: f2538dfdb6 user: drh tags: trunk)
23:02
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) (check-in: f32dbe47ff user: drh tags: trunk)
2006-06-03
18:04
Remove unused variables from vdbe.c. (CVS 3199) (check-in: d54750aefb user: drh tags: trunk)
18:02
Added support for OS/2. Ticket #1817 (CVS 3198) (check-in: 373246c2d1 user: drh tags: trunk)
17:37
Do not record blank lines in the command-line editing history of the shell. (CVS 3197) (check-in: 0eabda82cd user: drh tags: trunk)
2006-06-02
12:40
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) (check-in: 4bf03c3bbc user: drh tags: trunk)
2006-05-31
11:12
Fix typo in lang_analyze.html. (CVS 3195) (check-in: fba8ce8c38 user: drh tags: trunk)
2006-05-27
11:15
Clarify the operation of sqlite3_last_insert_rowid() in the documentation. (CVS 3194) (check-in: 9e0b83b81f user: drh tags: trunk)
2006-05-26
19:57
Allow SQL statements to be executed from within a progress callback. Be warned, however, that the progress callback might be called recursively in this case. It is up to the program to disable the progress callback to prevent recursive invocations. Ticket #1827. (CVS 3193) (check-in: ffc4730c05 user: drh tags: trunk)
2006-05-25
12:17
Syntax errors override errors from the code generator, not the other way around. (CVS 3192) (check-in: 5031ffc665 user: drh tags: trunk)
11:52
Handle NULL database names in ATTACH and DETACH as if they were empty strings. Ticket #1825. (CVS 3191) (check-in: 79a818bb05 user: drh tags: trunk)
2006-05-24
12:43
When opening a new connection on a shared cache, be careful not to overwrite the encoding flag on the shared cache. Ticket #1824. (CVS 3190) (check-in: c8e5ceedee user: drh tags: trunk)
2006-05-23
23:25
Additional tests for ticket #1821. (CVS 3189) (check-in: b93e3fb02a user: drh tags: trunk)
23:22
Fix type coercion rules for the IN operator. Ticket #1821. (CVS 3188) (check-in: 6e5a497621 user: drh tags: trunk)
2006-05-22
22:04
If an sqlite3_mprintf() call uses a disallowed internal-use-only conversion character, then abort the call with a -1 error code. Ticket #1818. (CVS 3187) (check-in: 9d7297b9ef user: drh tags: trunk)
2006-05-11
23:14
Adjust the default weights on indices so that an index that matches more terms of the where clause wins (by default) over one that matches fewer. Ticket #1808. (CVS 3186) (check-in: 249b579f83 user: drh tags: trunk)
13:33
Fix documentation typo: The name of the competing database engine is "Firebird", not "Firefox". (CVS 3185) (check-in: 8be6a39d71 user: drh tags: trunk)
13:26
Correctly handle multi-column indices where multiple columns are constrained by IN operators with subqueries on the right-hand side. Ticket #1807. (CVS 3184) (check-in: b16541ba5e user: drh tags: trunk)
13:25
Fix comments on the implementation of the SUM() function. (CVS 3183) (check-in: a8909f3e5f user: drh tags: trunk)
2006-05-10
14:39
Out-of-memory checks added to tclsqlite.c and shell.c. Tickets #1805 and #1806. (CVS 3182) (check-in: 364031d6e5 user: drh tags: trunk)
2006-05-08
15:14
Fix error processing in Lemon. SQLite does not use this feature of lemon so it is uneffected. (CVS 3181) (check-in: 864cac9603 user: drh tags: trunk)
2006-05-07
17:49
Automatically increase the size of the pager hash table as the number of in-memory pages increases. Tickets #1790 and #1799. (CVS 3180) (check-in: ef8e9886f4 user: drh tags: trunk)
2006-05-03
23:39
Fix a typo on a webpage. Ticket #1792. (CVS 3179) (check-in: 2702205277 user: drh tags: trunk)
23:34
Faster :memory: database COMMITs. Ticket #1790. (CVS 3178) (check-in: 8f820e4352 user: drh tags: trunk)
2006-04-26
17:39
Get LIMIT 0 working on subqueries. Ticket #1784. (CVS 3177) (check-in: 7f3ef7ddba user: drh tags: trunk)
2006-04-21
09:38
Additional information about index sorting in EXPLAIN QUERY PLAN. (CVS 3176) (check-in: 39dd969527 user: drh tags: trunk)
2006-04-19
01:24
Remove a superfluous call to access() in the unix driver. Error spotted by Coverity. (CVS 3175) (check-in: 4f195aa1eb user: drh tags: trunk)
2006-04-16
12:05
Allocate enough memory for the worst-case UTF-16 to UTF-8 conversion. Ticket #1773. (CVS 3174) (check-in: 2a0120c0f0 user: drh tags: trunk)
2006-04-11
14:16
Allow constant terms in the ORDER BY or GROUP BY clauses. Ticket #1768. (CVS 3173) (check-in: d83e0230c0 user: drh tags: trunk)
2006-04-10
13:37
Follow-up to check-in (3164). Make sure SQLITE_NOMEM is returned after a memory allocation failure. It is not sufficent to return an "out of memory" error message. The return code needs to be SQLITE_NOMEM. (CVS 3172) (check-in: 9d95750e85 user: drh tags: trunk)
2006-04-08
19:14
Variable declarations should come before code. Ticket #1763. (CVS 3171) (check-in: 9682f84401 user: drh tags: trunk)
2006-04-07
13:54
Reorder code so that it compiles with SQLITE_OMIT_MEMORYDB. Ticket #1754. (CVS 3170) (check-in: 1929e37d5e user: drh tags: trunk)
13:50
Return the correct declared column type, origin column name, origin database name, etc. from aggregate queries. Ticket #1726 and #1755. (CVS 3169) (check-in: e64809f0ae user: drh tags: trunk)
13:26
Avoid the use of atof(). Ticket #1756. (CVS 3168) (check-in: 76aef93c3e user: drh tags: trunk)
2006-04-05
13:16
Version 3.3.5 (CVS 3167) (check-in: a091a61d88 user: drh tags: trunk)
12:50
Fix typos in the previous check-in. (CVS 3166) (check-in: 119ec40228 user: drh tags: trunk)
12:15
Preparing for the release of version 3.3.5. (CVS 3165) (check-in: 159fb92bd5 user: drh tags: trunk)
11:57
Make sure SQLITE_NOMEM is reported out on a malloc failure in an ATTACH even if the malloc failure reports within a nested calls to sqlite3_prepare(). (CVS 3164) (check-in: 3538a4e30f user: drh tags: trunk)
01:08
Add documentation on new sqlite_authorizer callback types. Ticket #1744. (CVS 3163) (check-in: fdbff3f145 user: drh tags: trunk)
01:02
Documentation typos. Tickets #1749 and #1750. (CVS 3162) (check-in: 51b35ace20 user: drh tags: trunk)
2006-04-04
01:54
Changes to get SQLite running on machines that use the EBCDIC character set. (CVS 3161) (check-in: 4342b49971 user: drh tags: trunk)
2006-04-02
11:57
Do not strip windows DLLs because this prevents them from being relocatable. Ticket #1474. (CVS 3160) (check-in: 94054cd997 user: drh tags: trunk)
2006-04-01
14:38
Remove mention of the REVERSE collating sequence from the documentation. (CVS 3159) (check-in: bd6876a1a9 user: drh tags: trunk)
2006-03-29
00:24
Properly record the names of triggers even if the name is quoted. Ticket #1737. (CVS 3158) (check-in: 4ba280ddd6 user: drh tags: trunk)
2006-03-28
23:57
Compile-time option to use only 32-bit integers. (CVS 3157) (check-in: aedadfc3e4 user: drh tags: trunk)
23:55
Join optimizer enhancements. (CVS 3156) (check-in: 0039888f91 user: drh tags: trunk)
00:24
Extra asserts to prove that certain reported errors in btree.c are not really errors. (CVS 3155) (check-in: c64542d0e8 user: drh tags: trunk)
2006-03-26
20:49
Work around a bug in GCC 4.0.2. (CVS 3154) (check-in: fe0920c792 user: drh tags: trunk)
01:21
SQLite now always chooses the column names for compound selects using the left-most select. This makes SQLite work like other SQL database, but it also is a change from historical behavior and may break some scripts. Ticket #1721. (CVS 3153) (check-in: 80cda9f7ce user: drh tags: trunk)
2006-03-25
15:52
Add code to report an error on a recursive trigger, but leave it commented out - turning it on will likely break a lot of code. (CVS 3152) (check-in: c83ec81d53 user: drh tags: trunk)
14:03
Add a note to the API documentation emphasizing that the filename argument to sqlite3_open() must be UTF-8. Tickets #1713, #1533. (CVS 3151) (check-in: b0111f43e4 user: drh tags: trunk)
2006-03-24
03:36
Make sure the rootpage values in the symbol table are correctly updated when dropping tables and indices in autocommit mode. Ticket #1728. (CVS 3150) (check-in: 1c582dd113 user: drh tags: trunk)
2006-03-23
23:33
Improvements to comments in build.c. (CVS 3149) (check-in: 986208a364 user: drh tags: trunk)
23:29
Get autovacuum and in-memory databases working together. Ticket #1727. (CVS 3148) (check-in: 21446df642 user: drh tags: trunk)
22:42
Use the pread()/pwrite() interface on Posix if compiled with -DUSE_PREAD=1. Note that on Linux this is slower and does not work for large files. (CVS 3147) (check-in: 5a24f61981 user: drh tags: trunk)
14:03
Improvements to comments. No changes to code. (CVS 3146) (check-in: 01e164da67 user: drh tags: trunk)
2006-03-22
22:10
Get the build to run with -DSQLITE_OMIT_SHARED_CACHE. (CVS 3145) (check-in: 15e3b183bc user: drh tags: trunk)
2006-03-19
13:00
Increase test coverage to above 98%. (CVS 3144) (check-in: 8ae6ccc715 user: drh tags: trunk)
2006-03-17
13:56
Miscellaneous code cleanup. (CVS 3143) (check-in: 8f60139f68 user: drh tags: trunk)
00:26
Code and comment cleanup for the sorting optimization of the previous check-in. (CVS 3142) (check-in: f3fbe72733 user: drh tags: trunk)
00:04
Much faster sorting when there are a large number of columns in the result set. (CVS 3141) (check-in: 6b3717aeb4 user: drh tags: trunk)
2006-03-16
16:19
Fix some compiler warnings. (CVS 3140) (check-in: 6c5175bc0f user: drh tags: trunk)
14:05
Make provisions in the code to support Provisions to support caching of serialized statements in the SSE extension. (CVS 3139) (check-in: 5048fae042 user: drh tags: trunk)
2006-03-15
22:44
Performance improvement in sqlite3VdbeAddOp(). (CVS 3138) (check-in: 6bcbe8fcad user: drh tags: trunk)
16:26
Fix CHECK constraints to use alternative conflict resolution. Ticket #1717. (CVS 3137) (check-in: c0d20fa97f user: drh tags: trunk)
2006-03-14
13:10
Set and clear the full_column_name flag using direct invocation rather than the execsql tcl command so that the select1 test works with the serialized statement extension. (CVS 3136) (check-in: 4d70013a6a user: drh tags: trunk)
12:59
Move the PENDING_PAGE to a very large value if disk I/O is omitted. (CVS 3135) (check-in: f07181739f user: drh tags: trunk)
11:08
Make sure sqlite3FindCollSeq() returns NULL after a malloc() failure. (CVS 3134) (check-in: 0e05355f3c user: drh tags: trunk)
2006-03-13
15:06
Get parserless builds working again. (CVS 3133) (check-in: 5ddc09a5e4 user: drh tags: trunk)
14:31
Fix documentation to show the correct return type from sqlite3_db_handle(). Ticket #1716. (CVS 3132) (check-in: f4fb047d0a user: drh tags: trunk)
14:28
Changes to get the Serialized Statement Extension working again. (CVS 3131) (check-in: 255fdbe6fa user: drh tags: trunk)
12:54
Additional changes due to Coverity scans. (CVS 3130) (check-in: a69f697d50 user: drh tags: trunk)
2006-03-11
12:04
Add an assert() to demonstrate that Klockworks is wrong about an aleged bug. (CVS 3129) (check-in: 0910022be3 user: drh tags: trunk)
2006-03-09
17:28
Correct names returned from a query against a view. Ticket #1709, #1688, #1711. (CVS 3128) (check-in: 36830fafa4 user: drh tags: trunk)
2006-03-06
23:30
Remove all reference to EXTERN from tclsqlite.c. Ticket #1687. (CVS 3127) (check-in: b4d3e0d528 user: drh tags: trunk)
20:55
Code changes resulting from Coverity analysis. http://scan.coverity.com/ Found 1 potential segfault in sqlite3_mprintf(). Also 2 failures to fclose() following a malloc() failure. And lots of cases where unnecessary conditionals could be removed from the code. (CVS 3126) (check-in: e510e6dd9d user: drh tags: trunk)
18:23
Pager performance enhancements. (CVS 3125) (check-in: 9c26570743 user: drh tags: trunk)
2006-03-03
21:39
Fix typo in documentation. Ticket #1578. (CVS 3124) (check-in: cb2e009f17 user: drh tags: trunk)
21:38
EXPLAIN sets the length of its text return values correctly. Ticket #1583. (CVS 3123) (check-in: 34b560e811 user: drh tags: trunk)
21:20
The table_info pragma shows column affinity as "" if there is no column affinity. Ticket #1570. (CVS 3122) (check-in: 5cae8d63d9 user: drh tags: trunk)
20:54
Make sure the default busy handler uses usleep() when available. Ticket #1684. (CVS 3121) (check-in: 43e5462608 user: drh tags: trunk)
20:37
The --enable-debug option on configure enables verbose explain and vdbe_trace. Ticket #1680. (CVS 3120) (check-in: ee2f706800 user: drh tags: trunk)
20:32
Fix tclsqlite.c to better support Mingw. Ticket #1687. (CVS 3119) (check-in: da0e843c05 user: drh tags: trunk)
19:12
Ignore leading spaces on text to numeric conversions. Ticket #1662. Fixes to test cases broken by the recent changes to round(). (CVS 3118) (check-in: cdca3383c5 user: drh tags: trunk)
2006-03-02
04:44
Allow WHERE clause terms on the left table of a LEFT OUTER JOIN to contain aggregate subqueries. Ticket #1697. (CVS 3117) (check-in: a286e54e26 user: drh tags: trunk)
03:02
Change the ROUND() function to return a REAL value instead of TEXT. Ticket #1699. (CVS 3116) (check-in: 9dbadfb211 user: drh tags: trunk)
2006-02-27
23:44
Reduce the size of a memory allocation in the windows driver to the minimum needed. Ticket #1690. (CVS 3115) (check-in: 1fe9ca078b user: drh tags: trunk)
23:19
Add a test to make sure parser stack overflow is detected and reported. (CVS 3114) (check-in: 201ab3b523 user: drh tags: trunk)
22:22
The parser now permits very large triggers - triggers with 10000 or more statements. (CVS 3113) (check-in: b4fa96d0e9 user: drh tags: trunk)
21:58
Detect stack overflow in the parser and report an error. (CVS 3112) (check-in: bd2c38f467 user: drh tags: trunk)
2006-02-24
03:09
Additional compiler warnings suppressed. (CVS 3111) (check-in: a359b1817e user: drh tags: trunk)
02:53
Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: 4b22e4b847 user: drh tags: trunk)
2006-02-23
21:51
Make sure the random() function always returns a value that can be passed to abs(). (CVS 3109) (check-in: 5d2e7ea019 user: drh tags: trunk)
21:43
Detect integer overflow in the abs() function. The random() function now provides 64 bits of randomness instead of just 32. Fix bugs in testing logic of test4.c. (CVS 3108) (check-in: 942c509595 user: drh tags: trunk)
2006-02-22
03:08
New compile-time option SQLITE_SECURE_DELETE takes care to overwrite deleted data with zeros. (CVS 3107) (check-in: 614fac9068 user: drh tags: trunk)
2006-02-18
16:36
Always generate code, even if it is a no-op, for CREATE and DROP statements that use the IF EXISTS or IF NOT EXISTS clause. (CVS 3106) (check-in: f8173e6aea user: drh tags: trunk)
2006-02-17
15:01
Fix bug preventing compliation without MEMDEBUG when ENABLE_MEMORY_MANAGE is defined. (CVS 3105) (check-in: 76912b33b1 user: danielk1977 tags: trunk)
12:25
Ensure temp db is open before executing a pragma like "temp.cachesize = xxx". Fix for #1682. (CVS 3104) (check-in: 1e4644b236 user: danielk1977 tags: trunk)
2006-02-16
18:16
Or the SQLITE_UTF16_ALIGNED with the encoding field in sqlite3_create_collation and UTF16 strings will always be aligned on an even byte boundary when passed into the comparison function. (CVS 3103) (check-in: 7a1701e8c5 user: drh tags: trunk)
00:32
Fix more typos in the file format document. (CVS 3102) (check-in: d7495be806 user: drh tags: trunk)
00:31
Fix a typo in the file format document. (CVS 3101) (check-in: fac0d202e1 user: drh tags: trunk)
2006-02-15
21:19
Get the build working again. Fix for check-in (3093) (CVS 3100) (check-in: 4e6b74b290 user: drh tags: trunk)
17:30
Mention the NOT unary operator in the documentation. (CVS 3099) (check-in: 3eca2d9868 user: drh tags: trunk)
02:00
Update the configure script to use AC_HELP_STRING. (CVS 3098) (check-in: 92be79debf user: drh tags: trunk)
2006-02-14
14:46
test_async.c: Writer-thread should not relinquish mutex when writing a file for which only one file handle is open (fixes bug introduced in (3093)). (CVS 3097) (check-in: f0c45b7eab user: danielk1977 tags: trunk)
14:02
Account for a malloc failure in the asynchronous writer thread in test_async.c (CVS 3096) (check-in: 2f2a8a69cb user: danielk1977 tags: trunk)
13:48
Fix bug in test_async.c version of OsFileSize(). (CVS 3095) (check-in: 239e53b4f2 user: danielk1977 tags: trunk)
13:25
Add simple io error tests for test_async.c. (CVS 3094) (check-in: 528dfb7180 user: danielk1977 tags: trunk)
10:48
Changes so that test_async.c works with memory management turned on. (CVS 3093) (check-in: f4150c29df user: danielk1977 tags: trunk)
2006-02-13
18:42
Disable the /./ and /../ collapser logic in sqlite3OsFullPathname under Unix. (CVS 3092) (check-in: 111a426b3e user: drh tags: trunk)
18:35
Fix a bug in the handling of sqlite3OsTruncate by the test_async.c demo. Added trans.test to the suite of tests for asychronous I/O. (CVS 3091) (check-in: 5b16c43542 user: drh tags: trunk)
17:03
Add in-process file locking to test_async.c. The unix implementation of sqlite3OsFullPathname() now attempts to remove /./ and /../ elements from the path. (CVS 3090) (check-in: 42379c6230 user: drh tags: trunk)
15:29
Fix a deadlock problem on the sqlite3async_wait test interface. Improvements to tracing in test_async.c. (CVS 3089) (check-in: 58c6d50138 user: drh tags: trunk)
14:49
Improvements to the TRACE macro in test_async.c. (CVS 3088) (check-in: 4c6dfec54f user: drh tags: trunk)
13:50
I/O errors shut down all processing on the same file in test_async.c. (CVS 3087) (check-in: 4366e71217 user: drh tags: trunk)
13:30
Fix overlapping read logic in the test_async.c demonstration. (CVS 3086) (check-in: ad25127b06 user: drh tags: trunk)
13:23
Fix a memory leak in test_async.c. (CVS 3085) (check-in: 904ffa4dfb user: drh tags: trunk)
2006-02-11
17:34
I give up. SUM() now throws an error on integer overflow. Those of us who think this is goofy can use TOTAL() instead. Tickets #1664, #1669, #1670, #1674. (CVS 3084) (check-in: 1c3e6002cd user: drh tags: trunk)
02:12
Version 3.3.4 (CVS 3083) (check-in: 033aaab67f user: drh tags: trunk)
02:03
Fix typo in os_unix.c. (CVS 3082) (check-in: c0e987bcfa user: drh tags: trunk)
01:56
Prepare for the release of 3.3.4. (CVS 3081) (check-in: 951f3322c0 user: drh tags: trunk)
01:25
Add support and documentation for the fullfsync pragma. Also include some other unrelated documentation updates. (CVS 3080) (check-in: f2069d0bf3 user: drh tags: trunk)
2006-02-10
18:08
Make sure pointers are always aligned to 8-bytes when creating internal Index structures. (CVS 3079) (check-in: d20a33ac2a user: drh tags: trunk)
14:02
Clean up pointer misuse in vdbe.c. (CVS 3078) (check-in: 9e82b92749 user: drh tags: trunk)
13:33
Minor test file modifications for builds compiled with OMIT options. (CVS 3077) (check-in: c468aa349d user: danielk1977 tags: trunk)
13:14
Add documentation for new APIs. (CVS 3076) (check-in: 84c2a5c4d7 user: danielk1977 tags: trunk)
13:11
More comments on the unix locking code. Ticket #1672. (CVS 3075) (check-in: 4b6f568884 user: drh tags: trunk)
12:48
Add trivial tests to increase coverage of sqlite3_table_column_metadata(). (CVS 3074) (check-in: 424ce5ecd0 user: danielk1977 tags: trunk)
08:24
Work around the case where the pending-byte page is also a a pointer-map page. Ticket #1667. (CVS 3073) (check-in: 5ea87fbbe0 user: danielk1977 tags: trunk)
07:07
Fix the origin APIs so that they correctly handle views and subqueries that cannot be flattened. (CVS 3072) (check-in: 5e8611e13d user: danielk1977 tags: trunk)
04:33
Fix deadlock problem in the unix mutex. Ticket #1672. (CVS 3071) (check-in: a6c30be214 user: drh tags: trunk)
03:06
Add a symbol P3_TRANSIENT to pass to VdbeSetColName() to make it copy the string parameter up to the first 0 byte. (CVS 3070) (check-in: 6ebb8f9bb2 user: danielk1977 tags: trunk)
02:27
Add the column_origin_name() etc. APIs. (CVS 3069) (check-in: 82f502cdc1 user: danielk1977 tags: trunk)
2006-02-09
23:05
Ignore errors when when calling fsync() on a directory. Ticket #1657. (CVS 3068) (check-in: d54d3b82c4 user: drh tags: trunk)
22:24
Allow '@' to introduce host parameter names for compatibility with MS SQL Server. Ticket #1671. (CVS 3067) (check-in: 0738ef818d user: drh tags: trunk)
22:13
SUM never gives an error. An integer result is returned for exact results and a floating point result is returned for approximate results. Tickets #1664, #1669, and #1670. (CVS 3066) (check-in: 9e04f8fdf1 user: drh tags: trunk)
18:35
Deprecate the sqlite3_aggregate_count() API. Make sure all aggregate counters are 64 bits. Remove unused StdDev structure from func.c. Ticket #1669. (CVS 3065) (check-in: 44bd7ba432 user: drh tags: trunk)
17:47
Integer overflow in SUM causes an exception. Ticket #1669. (CVS 3064) (check-in: c72b946198 user: drh tags: trunk)
16:52
Back out check-in (3058) - it breaks too much application code. (CVS 3063) (check-in: 731f1e3245 user: drh tags: trunk)
13:43
Add the sqlite3_table_column_meta() API. (CVS 3062) (check-in: 1ac72f68c0 user: danielk1977 tags: trunk)
13:38
Avoid overflowing the 48-bit mantissa of a floating point number when summing large integers in the SUM() function. Ticket #1664. (CVS 3061) (check-in: a9169e879d user: drh tags: trunk)
02:56
Correctly handle COLLATE clauses in tables being modified by an ALTER TABLE ADD COLUMN command. Ticket #1665. (CVS 3060) (check-in: baef2f66be user: drh tags: trunk)
02:41
Use 64-bit integers in sqlite3_analyzer. Ticket #1666. (CVS 3059) (check-in: 8b3068aca7 user: drh tags: trunk)
2006-02-06
21:34
Add "autoinc" and "collseq" columns to the table_info() pragma. (CVS 3058) (check-in: 7940a590ab user: drh tags: trunk)
21:22
Keep correct track of the amount of outstanding memory even when the system memory allocator returns a different number of bytes than requested. Ticket #1660. (CVS 3057) (check-in: 6f5eb74fd9 user: drh tags: trunk)
13:59
Update the per-thread bytes allocated counter with the number of bytes actually allocated, not the number requested. Ticket #1660. (CVS 3056) (check-in: 3f0a0ff197 user: danielk1977 tags: trunk)
2006-02-05
18:55
Detect circularly defined views and issue an error message. Ticket #1658. (CVS 3055) (check-in: f5341529d0 user: drh tags: trunk)
2006-02-01
14:39
Typecast to silence (incorrect) compiler warning. (CVS 3054) (check-in: 3a04fc45cc user: drh tags: trunk)
13:50
Always register BINARY collating sequences for UTF-16BE and UTF-16LE both. Formerly we were only registering the native byte order by default. Ticket #1654. Note: There may still be problems with collating sequence synthesis. (CVS 3053) (check-in: 3861377bd9 user: drh tags: trunk)
02:45
In joins of the form: "A, B left C" make sure that the reordering optimization does not put table A after table C. Ticket #1652. (CVS 3052) (check-in: 248b9be93d user: drh tags: trunk)
01:55
Added support for the -enable-thread-override-lock option on the configure script. (CVS 3051) (check-in: 82f558bd11 user: drh tags: trunk)
2006-01-31
23:03
Add the SQLITE_THREADS_OVERRIDE_LOCKS compile-time option that disables the run-time test to see if threads can override each others locks on unix. (CVS 3050) (check-in: e83a19e8cb user: drh tags: trunk)
20:49
Patches to support linux on embedded platforms. (CVS 3049) (check-in: a088eb6d6e user: drh tags: trunk)
19:31
Fix some pointless warnings from overly-pedantic compilers. (CVS 3048) (check-in: b922c8e45f user: drh tags: trunk)
19:07
3rd parameter to sqlite3_prepare() should be -1 if the string length is unknown. Passing in zero causes a zero-length SQL statement to be prepared, which is a no-op. Ticket #1651. This bug introduced by the fix for ticket #1650. (CVS 3047) (check-in: 1e68ac590d user: drh tags: trunk)
16:21
Version 3.3.3 (CVS 3046) (check-in: 10a3f56546 user: drh tags: trunk)
16:20
Put in the correct release date for version 3.3.3. (CVS 3045) (check-in: 1133a84039 user: drh tags: trunk)
15:19
Fix an problem in the test scripts that was show false failures under windows. (CVS 3044) (check-in: 0cf4e3c6e7 user: drh tags: trunk)
14:28
Authorization callback on the ALTER TABLE ADD COLUMN command. Ticket #1479. (CVS 3043) (check-in: 461f586973 user: drh tags: trunk)
2006-01-30
23:04
Remove support for the non-standard ON CONFLICT clause on CREATE INDEX. Ticket #1486. The ON CONFLICT clause has never worked on CREATE INDEX so removing it should not break anything. (CVS 3042) (check-in: 669bcf5ab6 user: drh tags: trunk)
22:48
Memory DB works with autovacuum. (CVS 3041) (check-in: 34dff874a2 user: drh tags: trunk)
22:35
Make sure the 3rd parameter to sqlite3_prepare() is honored. Ticket #1650. (CVS 3040) (check-in: 9d53cc880f user: drh tags: trunk)
22:12
Clarify that the nBytes parameter to sqlite3_prepare is always the number of bytes and never the number of characters. Ticket #1646. (CVS 3039) (check-in: 8efc8c5710 user: drh tags: trunk)
16:20
Documentation updates in preparation for the release of 3.3.3 stable. (CVS 3038) (check-in: 6537b5713a user: drh tags: trunk)
15:41
Add a couple of extra test cases for #1644. (CVS 3037) (check-in: e10d229ff2 user: danielk1977 tags: trunk)
15:34
Expire all prepared statements whenever there is a change to the schema of the TEMP database. Ticket #1644. (CVS 3036) (check-in: 4cd4efaf5e user: drh tags: trunk)
14:36
Fix bug with CHECK constraints contain an IN operator. Ticket #1645. (CVS 3035) (check-in: 944df310ce user: drh tags: trunk)
2006-01-27
06:32
Fix a couple of (harmless) intel compiler warnings. (CVS 3034) (check-in: 2e23231f0c user: danielk1977 tags: trunk)
2006-01-26
14:29
Enhanced comments on the opcode.h building script. (CVS 3033) (check-in: 7ccebf68eb user: drh tags: trunk)
13:25
Fix an error in the collation sequence examples in datatype3.html. Ticket #1641. (CVS 3032) (check-in: 1658ea53c9 user: danielk1977 tags: trunk)
13:11
Add omittest.tcl script to automate testing compile-time OMIT symbols. (CVS 3031) (check-in: 540d28a7d3 user: danielk1977 tags: trunk)
10:35
Handle a malloc() failure in resizeOpArray(). (CVS 3030) (check-in: 5cecb4527b user: danielk1977 tags: trunk)
2006-01-25
22:50
Minor comment changes and code optimizations. (CVS 3029) (check-in: 9e55dcd1a5 user: drh tags: trunk)
15:55
Rename files using for testing only so that their name begins with "test". (CVS 3028) (check-in: e4e6a205e4 user: drh tags: trunk)
2006-01-24
16:37
Handle errors in saving cursor positions during a rollback by aborting all active statements. (CVS 3027) (check-in: 5df9f022bf user: danielk1977 tags: trunk)
14:21
Save the position of any open cursors before a rollback. (CVS 3026) (check-in: 32d45bcf74 user: danielk1977 tags: trunk)
13:09
Return code was being dropped because of overridden variable in OP_IsUnique. Fix this and the test logic problem that hid it. (CVS 3025) (check-in: c30705a00d user: danielk1977 tags: trunk)
12:09
Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024) (check-in: d86f18a427 user: danielk1977 tags: trunk)
11:30
Coverage improvements for main.c. (CVS 3023) (check-in: 50964ef9b0 user: danielk1977 tags: trunk)
10:58
General test coverage improvements. (CVS 3022) (check-in: 153940af5a user: danielk1977 tags: trunk)
02:19
Sqlite3_analyzer reports an error if it runs into trouble. (CVS 3021) (check-in: 388b926228 user: drh tags: trunk)
02:00
Update the publish scripts to correctly build the TCL DLL for windows. (CVS 3020) (check-in: 5254874a96 user: drh tags: trunk)
00:40
Version 3.3.2 (beta) (CVS 3019) (check-in: 1fdde6c506 user: drh tags: trunk)
00:15
More test script changes to get it to run without -DSQLITE_MEMDEBUG. (CVS 3018) (check-in: 0ede5e496b user: drh tags: trunk)
2006-01-23
23:53
Change the release date for version 3.3.2 to January 24. (CVS 3017) (check-in: 7a2617f6a5 user: drh tags: trunk)
23:49
Disable shared-cache OOM tests if not compiled with -DSQLITE_MEMDEBUG. (CVS 3016) (check-in: 2d896667e4 user: drh tags: trunk)
22:15
Bug fix in the WinCE bindings. (CVS 3015) (check-in: c57922838a user: drh tags: trunk)
21:44
More progress toward getting SQLITE_OMIT_FLOATING_POINT to pass tests. Ticket #1621. (CVS 3014) (check-in: b52674e564 user: drh tags: trunk)
21:38
Fix the shared pager tests so that they work under windows. (CVS 3013) (check-in: 4a1a9f3e9d user: drh tags: trunk)
21:37
Progress toward getting SQLITE_OMIT_FLOATING_POINT to pass all tests. Ticket #1621 (CVS 3012) (check-in: c4c90965c9 user: drh tags: trunk)
18:42
Bug fix in cases where a compound select has an ORDER BY clause with multiple terms. (CVS 3011) (check-in: 4f56949bd6 user: drh tags: trunk)
18:14
Add documentation on the IF NOT EXISTS clause to CREATE statements. Ticket #1608. (CVS 3010) (check-in: d4e4ba132a user: drh tags: trunk)
18:06
Makefile changes so that builds work on Solaris. Ticket #1604. (CVS 3009) (check-in: 7addf70445 user: drh tags: trunk)
17:43
Bug fix in the ROWID generation logic of the VDBE. I think this is a benign bug - it never causes a real fault. But I am not certain. (CVS 3008) (check-in: dfe2823868 user: drh tags: trunk)
16:25
Get I/O error tests working on windows. (CVS 3007) (check-in: 2ef8b85db7 user: drh tags: trunk)
16:24
Fix uninitialized variable in os_unix.c. (CVS 3006) (check-in: 892e644d20 user: drh tags: trunk)
16:21
Add "#ifndef NDEBUG" around sqlite3pager_iswriteable() (only used in assert() expressions). Also set the internal page number of a page to zero if it fails to initialise. (CVS 3005) (check-in: 77969c671c user: danielk1977 tags: trunk)
15:59
Changes to the enc2.test script so that it will run on windows. (CVS 3004) (check-in: 4c1818eceb user: drh tags: trunk)
15:54
Cut over the patches to support WinCE. Ticket #1600. (CVS 3003) (check-in: 436287c2bf user: drh tags: trunk)
15:39
Fix a bug in pager.c that was overwriting freed memory. Comment changes in util.c. (CVS 3002) (check-in: 8c7e18c3f2 user: drh tags: trunk)
15:25
Further coverage improvements for pager.c and another IO error bug fix. (CVS 3001) (check-in: a9ec5ee472 user: danielk1977 tags: trunk)
14:05
Fix os_common.h so that the code builds without -DSQLITE_MEMDEBUG. (CVS 3000) (check-in: 06d6540026 user: drh tags: trunk)
13:47
Do not automatically rollback at the btree or pager level if a commit fails. (CVS 2999) (check-in: 0f6329ef1f user: danielk1977 tags: trunk)
13:28
Fix to sqlite3AllocMalloc() when it is a no-op macro. (CVS 2998) (check-in: 8caa9f95b8 user: drh tags: trunk)
13:22
Do not name variables "operator" because some compilers do not realize that "operator" is not a reserved word in ANSI-C. Ticket #1625. (CVS 2997) (check-in: 1f42a338e2 user: drh tags: trunk)
13:14
Work around buggy malloc() implementations that cause problems on malloc(0). Ticket #1572. (CVS 2996) (check-in: ada5490f12 user: drh tags: trunk)
13:09
Improve coverage of pager.c and fix an IO error handling bug found in the process. (CVS 2995) (check-in: 6ec8e6b785 user: danielk1977 tags: trunk)
13:00
Fix additional compiler warnings. Tickets #1615, #1616, #1627 (CVS 2994) (check-in: 6385628edd user: drh tags: trunk)
07:52
Fixes for OMIT_UTF16 and OMIT_COMPOUND (CVS 2993) (check-in: f58bbdc0ac user: danielk1977 tags: trunk)
05:50
Improve coverage of expr.c and btree.c slightly. (CVS 2992) (check-in: cc2e8e87cf user: danielk1977 tags: trunk)
00:04
Remove vestiges of the older TSD code for handling OOM exceptions. Prepare for the release of 3.3.2. (CVS 2991) (check-in: a65e85f0e0 user: drh tags: trunk)
2006-01-22
21:52
Performance optimization in btree.c. (CVS 2990) (check-in: 3e1e6affe2 user: drh tags: trunk)
00:42
Code size reductions in select.c. (CVS 2989) (check-in: 3c2eee5e1f user: drh tags: trunk)
00:14
Tests for the subquery flattening fix of check-in (2987). (CVS 2988) (check-in: 72a067f0df user: drh tags: trunk)
2006-01-21
22:19
Do not flatten subqueries in a join where the subquery includes a LIMIT. Ticket #1634. This is just an initial fix. Many test cases need to be added prior to closing the ticket. (CVS 2987) (check-in: af18c0f431 user: drh tags: trunk)
19:57
Fix a bug in os.h. How did this slip by before now? (CVS 2986) (check-in: 29725de474 user: drh tags: trunk)
12:08
Fix more problems with malloc() and IO failures. (CVS 2985) (check-in: 29281dea81 user: danielk1977 tags: trunk)
2006-01-20
18:10
More compiler warnings fixed - or in some cases comments are added to explain that the compiler is wrong. (CVS 2984) (check-in: 507653a98c user: drh tags: trunk)
17:56
Fix some compiler warnings. (CVS 2983) (check-in: b7bdac0afd user: drh tags: trunk)
16:32
Fix another couple of IO or malloc() failure problems in a shared-cache context. (CVS 2982) (check-in: 7e34163a65 user: danielk1977 tags: trunk)
15:45
Fix and test the processing of sqlite3_result_error() withing aggregate functions. Allow errors to come from the step function (a new capability). Ticket #1632. (CVS 2981) (check-in: fd4a6bb1ac user: drh tags: trunk)
10:55
Handle some of the IO error conditions that may occur in a shared-cache context. (CVS 2980) (check-in: 97491d4eb5 user: danielk1977 tags: trunk)
2006-01-19
17:42
Make sure sqlite3_thread_cleanup() does not try to allocate memory. (CVS 2979) (check-in: 0208e4221a user: drh tags: trunk)
11:28
Fix the #ifdef around sqlite3OutstandingMallocs() in test1.c. (CVS 2978) (check-in: 218c6184c8 user: drh tags: trunk)
08:43
Account for read-uncommitted cursors in sqlite3BtreeClearTable(). (CVS 2977) (check-in: 9507983268 user: danielk1977 tags: trunk)
07:18
Fix a bug with internally saving cursors open on index tables. Also increase coverage of util.c and btree.c. (CVS 2976) (check-in: a628d84d31 user: danielk1977 tags: trunk)
2006-01-18
18:33
Omit thread2.test if memory-management is enabled at compile time. (CVS 2975) (check-in: df91f685ca user: danielk1977 tags: trunk)
18:22
Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974) (check-in: c7b9d50d0a user: danielk1977 tags: trunk)
17:25
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) (check-in: e1ad9df1cf user: drh tags: trunk)
16:51
Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (check-in: ac090f2ab3 user: danielk1977 tags: trunk)
15:39
Fix compilation error when neither MEMDEBUG or ENABLE_MEMORY_MANAGEMENT is enabled. (CVS 2971) (check-in: 4de5c52920 user: danielk1977 tags: trunk)
15:25
Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970) (check-in: e0b022e5b2 user: danielk1977 tags: trunk)
14:20
Recursive mutexes in os_win.c. (CVS 2969) (check-in: dd3e07cae4 user: drh tags: trunk)
14:06
Convert the unix driver to use a recusive mutex. Similar changes to the windows driver are pending. (CVS 2968) (check-in: 8830bbbac8 user: drh tags: trunk)
05:51
Handle malloc() failures that occur in open16() and errmsg16(). (CVS 2967) (check-in: 86eab9e53d user: danielk1977 tags: trunk)
04:26
Handle malloc() failures that occur inside create_collation() calls. (CVS 2966) (check-in: 95c5903f36 user: danielk1977 tags: trunk)
2006-01-17
16:10
Arrange for ThreadData to be automatically deallocated even if SQLITE_MEMDEBUG is defined. Fix for #1623. (CVS 2965) (check-in: 9e2e40845d user: danielk1977 tags: trunk)
15:36
Fix compilation errors when building SQLITE_DEBUG defined but without SQLITE_MEMDEBUG. (CVS 2964) (check-in: 62dd242778 user: danielk1977 tags: trunk)
13:21
Various fixes that allow the malloc() failure tests to pass again. (CVS 2963) (check-in: 0505405fb9 user: danielk1977 tags: trunk)
09:35
Test suite fixes for builds that define OMIT symbols. (CVS 2962) (check-in: 3a54a33dcb user: danielk1977 tags: trunk)
2006-01-16
16:24
Test file fixes for libaries compiled with various SQLITE_OMIT_ macros. (CVS 2961) (check-in: c058f483a5 user: danielk1977 tags: trunk)
15:32
Fix problems compiling with memory-management enabled. Ticket #1619. (CVS 2960) (check-in: 36b0325965 user: danielk1977 tags: trunk)
15:14
Fix some of the issues raised in #1615. (CVS 2959) (check-in: 0d5d83bcbd user: danielk1977 tags: trunk)
14:29
Correctly handle malloc() failure in GenericMalloc() and GenericRealloc(). Fix for #1617. (CVS 2958) (check-in: 9dfc4a880b user: danielk1977 tags: trunk)
12:46
Run the tests in shared.test a second time using an autovacuum database. (CVS 2957) (check-in: 9927522923 user: danielk1977 tags: trunk)
11:29
Clarify error handling in pager code. No functional changes. (CVS 2956) (check-in: 7b48836214 user: danielk1977 tags: trunk)
02:39
Version 3.3.1 (alpha) (CVS 2953) (check-in: bd7c569993 user: drh tags: trunk)
02:37
Fix the script that cross-compiles the windows DLL so that it works correctly with the latest interface. Ticket #1614. Do not strip the windows DLL. Ticket #1474. (CVS 2954) (check-in: 6591d365d4 user: drh tags: trunk)
00:05
Version 3.3.1 (withdrawn - see ticket #1614) (CVS 2955) (check-in: ed0f1d9086 user: drh tags: trunk)
2006-01-15
20:28
Code size reductions in the pager. (CVS 2952) (check-in: c7da3aa9bd user: drh tags: trunk)
18:29
Prepare for the 3.3.1 alpha release. (CVS 2951) (check-in: 3e32bcf0b8 user: drh tags: trunk)
17:27
Clean up comments in os_unix.c. (CVS 2950) (check-in: 2170e803ad user: drh tags: trunk)
14:11
Correctly set the length of the string in bytes when transforming an OP_String8 to OP_String in a utf-16 vdbe program. (CVS 2949) (check-in: 69f996e0fa user: danielk1977 tags: trunk)
13:13
Fix a buffer-overrun that could occur after a malloc() failure. (CVS 2948) (check-in: 662522218f user: danielk1977 tags: trunk)
11:39
Rollback any open write-transaction when a shared-cache connection is closed. (CVS 2947) (check-in: 1944d92b53 user: danielk1977 tags: trunk)
02:43
Closing a file from the wrong thread is harmless on most systems. (See ticket #1611) But on systems like RedHat9 with broken fcntl() locks, it leaks file descriptors. That is better than the alternative of prematurely breaking locks and causing database corruption. Nevertheless, it would be good if we could figure out a way to report errors when closing a file from the wrong thread. (CVS 2946) (check-in: ad8f12cad1 user: drh tags: trunk)
02:30
Add tests and fix bugs in the new cross-thread lock resolution code. When an unlock fails, do not leak file descriptors (ticket #1611). But we really ought to report SQLITE_MISUSE or some other error instead of just returning SQLITE_OK. (CVS 2945) (check-in: f68e05cb2b user: drh tags: trunk)
00:13
Documentation updates. Fix to date.c. But most importantly: database connections are now allowed to change threads as long as they are not holding a lock. (CVS 2944) (check-in: 03c422ecb5 user: drh tags: trunk)
2006-01-14
08:02
Fixes for OMIT_SUBQUERY builds: Disable where clause OR->IN optimization. Include EXISTS keyword (for new CREATE TABLE syntax). Test file fixes. (CVS 2943) (check-in: 8e79a0c24a user: danielk1977 tags: trunk)
2006-01-13
18:06
Account for multi-byte characters in ALTER TABLE code. Fix for #1609. (CVS 2942) (check-in: d634f8b28a user: danielk1977 tags: trunk)
17:12
Tweaks to make OP_Column run a fraction faster. (CVS 2941) (check-in: 2d74cc22de user: danielk1977 tags: trunk)
15:58
Avoid parsing an entire record header when it is not required. (CVS 2940) (check-in: 0de729d914 user: danielk1977 tags: trunk)
13:55
Make sure the authenticator does not try to authenticate columns in subqueries. Ticket #1607. (CVS 2939) (check-in: 55b7dfaf4d user: drh tags: trunk)
13:01
Fix a vdbe stack overflow problem that could occur with a correlated sub-query. (CVS 2938) (check-in: caa7da807d user: danielk1977 tags: trunk)
11:22
Remove a few duplicate variable initializations in sqlite3BtreeCursor(). (CVS 2937) (check-in: 5e46ec01ff user: danielk1977 tags: trunk)
06:33
Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936) (check-in: dd70595542 user: danielk1977 tags: trunk)
04:31
Additional speed enhancements in btree.c. (CVS 2935) (check-in: 48b550ce2e user: drh tags: trunk)
02:35
Small performance improvement on sqlite3BtreeMoveto. (CVS 2934) (check-in: c780152f3c user: drh tags: trunk)
01:48
Add a high-speed version of sqlite3GetVarint32 to vdbe.c for a 3% performance gain. (CVS 2933) (check-in: a64e8251a6 user: drh tags: trunk)
01:25
Add tests to make sure "PRAGMA table_info" works using sqlite3_prepare16. Ticket #1606. (CVS 2932) (check-in: ace8ba8177 user: drh tags: trunk)
01:17
Terminate the va_start in the getDigits function of date.c. (CVS 2931) (check-in: 94eac140f2 user: drh tags: trunk)
2006-01-12
22:17
Add support for the TOTAL() aggregate function - works like SUM() except that it returns 0 instead of NULL when presented with an empty list. (CVS 2930) (check-in: a7f528ff34 user: drh tags: trunk)
20:28
Performance boost in sqlite3VdbeRecordCompare. (CVS 2929) (check-in: 14c423075b user: drh tags: trunk)
19:42
Automatically cast BLOBs to strings prior to handing them over to functions like LIKE that want strings. Ticket #1605. (CVS 2928) (check-in: 730ddb0b74 user: drh tags: trunk)
17:20
Cache the encoding value inside VdbeExec. (CVS 2927) (check-in: 6d2a816ede user: drh tags: trunk)
15:01
Additional performance improvements in sqlite3BtreeMoveto. (CVS 2926) (check-in: 52b3be96b6 user: drh tags: trunk)
14:30
BtreeMoveto optimization goes about 1.5% faster. (CVS 2925) (check-in: 4e4a650484 user: drh tags: trunk)
12:43
About a 2.5% speed improvement by reducing the number of sqlite3ThreadData calls in the parser. (CVS 2924) (check-in: 0caa199477 user: drh tags: trunk)
02:50
Mark the end of the return codes in the sqlite3.h.in template file. (CVS 2923) (check-in: 19b848d99f user: drh tags: trunk)
01:56
Add the legacy_file_format pragma. (CVS 2922) (check-in: b2dbd1a5b7 user: drh tags: trunk)
01:25
Improve performance by about 10% by avoiding excess calls to get the thread-specific data. (CVS 2921) (check-in: a8c74febec user: drh tags: trunk)
2006-01-11
23:40
Testing of the automatic TSD deallocation logic. The sqlite3_thread_cleanup() API is documented. This should close ticket #1601. (CVS 2920) (check-in: fb518b0ce4 user: drh tags: trunk)
21:41
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) (check-in: 5d9c6aa964 user: drh tags: trunk)
16:10
Ensure the database attached as part of VACUUM can be detached successfully after a malloc() failure. (CVS 2918) (check-in: 8c26893c65 user: danielk1977 tags: trunk)
14:09
Fix bugs caused by assuming that shared-schemas are initialized. (CVS 2917) (check-in: 3970eb875d user: danielk1977 tags: trunk)
05:49
Fix typo noted by #1599. (CVS 2916) (check-in: 1b368c7c5c user: danielk1977 tags: trunk)
01:28
Version 3.3.0 (alpha) (CVS 2915) (check-in: 59a7a56c1b user: drh tags: trunk)
01:28
Add new APIs to the sqlite3.def file. (CVS 2914) (check-in: 9258931a80 user: drh tags: trunk)
01:08
Prepare for the release of version 3.3.0. (CVS 2913) (check-in: 302993ae16 user: drh tags: trunk)
2006-01-10
23:00
Fix a typo in the FAQ. (CVS 2912) (check-in: 5be03a361d user: drh tags: trunk)
20:36
Fix bug in the server1 test script. (CVS 2911) (check-in: 25db22b671 user: drh tags: trunk)
20:32
Combine multiple small calls to sqlite3OsWrite into one larger call. (CVS 2910) (check-in: e6e6750c24 user: drh tags: trunk)
20:01
Improved comments on the server and asynchronous I/O demo programs. (CVS 2909) (check-in: c0f47ccbc9 user: drh tags: trunk)
19:45
More pedantic changes to comments in VDBE. No changes to code. Ticket #1596. (CVS 2908) (check-in: 1cf6855430 user: drh tags: trunk)
18:44
Fix opcode name in comments. No changes to code. (CVS 2907) (check-in: 511ac9db12 user: drh tags: trunk)
18:27
Initialize variables in malloc3.test (was causing error in all.test). (CVS 2906) (check-in: 16a8172a61 user: danielk1977 tags: trunk)
18:08
Typos in new documentation. (CVS 2905) (check-in: b5bedb2a9f user: danielk1977 tags: trunk)
17:58
Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) (check-in: 0f0213be4d user: danielk1977 tags: trunk)
15:18
Updates to the C-API documentation. Change the parameter type of sqlite3_soft_heap_limit to integer. (CVS 2903) (check-in: bdd35e9fbb user: drh tags: trunk)
13:58
Move the implementation of sqlite3_enable_shared_cache from btree.c to main.c. (CVS 2902) (check-in: 4f2ec95283 user: drh tags: trunk)
12:31
Fix a problem with shared-schemas and temp triggers. (CVS 2901) (check-in: 9c18a1ce1e user: danielk1977 tags: trunk)
07:14
If compiled with memory-debugging, write garbage to memory when it is freed. Fix for #1594. (CVS 2900) (check-in: bd02a6faef user: danielk1977 tags: trunk)
02:30
Enable shared cache on the server demonstration. (CVS 2899) (check-in: 8719f880a3 user: drh tags: trunk)
2006-01-09
23:50
Add the first simple tests of server mode. Get the Makefile generated from the configure script working again. (CVS 2898) (check-in: 66f84068f3 user: drh tags: trunk)
23:40
Added database server example code (untested). Fixed serveral bugs including the autovacuum compile problem described by ticket #1593. (CVS 2897) (check-in: ec332d8822 user: drh tags: trunk)
17:29
Reinstate the asynchronous I/O demonstration code and tests with minor changes. (CVS 2896) (check-in: eeebc640aa user: drh tags: trunk)
16:12
Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) (check-in: 3e75d3d5ef user: danielk1977 tags: trunk)
09:59
Add a runtime interface to enable memory-management features. (CVS 2894) (check-in: 44f8e3139a user: danielk1977 tags: trunk)
06:29
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: 82b81f69c7 user: danielk1977 tags: trunk)
05:36
Minor changes so that OMIT_SHARED_CACHE works. (CVS 2892) (check-in: cc963f8cfc user: danielk1977 tags: trunk)
00:18
Fix timezone parsing in the date/time functions. Ticket #1587. (CVS 2891) (check-in: 94c87b7016 user: drh tags: trunk)
00:09
Remove benign reference to an uninitialized variable. Ticket #1590. (CVS 2890) (check-in: 32998fe8ed user: drh tags: trunk)
2006-01-08
18:10
Get LIMIT and OFFSET working again for negative limits and offsets. Ticket #1586. (CVS 2889) (check-in: b2ac0be07e user: drh tags: trunk)
05:26
Remove some cruft from the VDBE. Bring comments up to date. (CVS 2888) (check-in: 41aef6496a user: drh tags: trunk)
05:02
Reduce memory requirements for ORDER BY combined with LIMIT. Ticket #1586. (CVS 2887) (check-in: 55e703ecac user: drh tags: trunk)
2006-01-07
18:48
Invalidate all VDBE cursor row caches in between calls to sqlite3_step() since the emphemeral content that those caches point to might change if the statement is READ UNCOMMITTED. (CVS 2886) (check-in: 0ae461313c user: drh tags: trunk)
18:14
Continued progress toward a working wince backend. (CVS 2885) (check-in: 15fda14ee0 user: drh tags: trunk)
18:10
Make sure there is no ephemeral data on the stack before returning from an sqlite3_step() call. Otherwise, if the statement is in READ UNCOMMITTED mode then the data might be deleted or changed out from under us. (CVS 2884) (check-in: 19f71a6d19 user: drh tags: trunk)
16:06
Enable redefinable I/O if the SQLITE_ENABLE_REDEF_IO macro exists. (CVS 2883) (check-in: e170e15766 user: drh tags: trunk)
14:02
Fix some memory leaks caused by obscure syntax errors in SQL. (CVS 2882) (check-in: 6593199a4d user: danielk1977 tags: trunk)
13:21
In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881) (check-in: 23b587b05b user: danielk1977 tags: trunk)
04:06
Drop the mutex if the TSD key allocation fails. Ticket #1585. (CVS 2880) (check-in: 77ac231c0e user: drh tags: trunk)
2006-01-06
22:11
Fix bugs in test scripts that came of of sse testing. (CVS 2879) (check-in: 22bf1a2ffa user: drh tags: trunk)
21:52
Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878) (check-in: 9d71b7deaf user: drh tags: trunk)
21:09
Additional changes for wince. (CVS 2877) (check-in: b10343d916 user: drh tags: trunk)
20:40
More changes to support wince. (CVS 2876) (check-in: f3cbd995c8 user: drh tags: trunk)
20:22
Additional efforts to get it to build on WinCE. (CVS 2875) (check-in: b45c076f0d user: drh tags: trunk)
16:17
A first attempt at adding native support for WinCE. (CVS 2874) (check-in: 4344056787 user: drh tags: trunk)
15:03
Fix a crash caused by adding a trigger to a shared-schema and then deleting it using a different connection. (CVS 2873) (check-in: 19f93e135f user: danielk1977 tags: trunk)
14:46
Fix an alignment problem in the sqlite3OsRandomSeed(). Ticket #1584. (CVS 2872) (check-in: 373b56f004 user: drh tags: trunk)
14:41
Remove vestigial file: crashtest1.c (CVS 2871) (check-in: 6676c7031d user: drh tags: trunk)
14:32
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) (check-in: 2529c2e11f user: drh tags: trunk)