SQLite

Timeline
Login

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

100 ancestors of f2ad230f6dce98d6

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: f2ad230f 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: 5f21c3a5 user: drh tags: trunk)
13:06
Improvements to the new performance tests. (CVS 3526) (check-in: 27f56c20 user: drh tags: trunk)
13:05
Fix indentation typo in btree.c. (CVS 3525) (check-in: 5d61486f user: drh tags: trunk)
2006-11-29
23:41
Drop a couple variables which are no longer used anywhere. (CVS 3524) (check-in: 08c2cc0e 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: 66581162 user: shess tags: trunk)
20:53
Added the speed1.test script (CVS 3522) (check-in: 30355dfb 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: 18142fdb 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: c8151a99 user: shess tags: trunk)
2006-11-23
21:09
Improvements to the speed tests recently added to the test suite. (CVS 3519) (check-in: 272c1a6e user: drh tags: trunk)
11:59
Fix a typo in the OMIT_AUTORIZATION in expr.c. (CVS 3518) (check-in: 3dea7fbe user: drh tags: trunk)
11:58
Make the pager sector size configurable at compile-time. (CVS 3517) (check-in: 6221cf4f user: drh tags: trunk)
09:39
Add performance tests to the test suite. (CVS 3516) (check-in: 270c745d 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: 9fdc2496 user: drh tags: trunk)
2006-11-18
20:20
Make sure VACUUM cleans up after itself. Ticket #2071. (CVS 3514) (check-in: 2fdc147d 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: f6e0b080 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: f30771d5 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: 9b6d413d 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: 64b7e340 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: 9628a61a 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: b9dd16ef 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: d9e14b61 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: f1efae92 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: f39978ef user: drh tags: trunk)
2006-11-07
15:02
Fix a typo in os_win.c. Ticket #2055. (CVS 3504) (check-in: d309680e 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: 6324ea81 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: 9bf153b5 user: drh tags: trunk)
2006-11-01
12:20
Modify Makefile.in to install sqlite3ext.h. (CVS 3501) (check-in: 35c8c478 user: drh tags: trunk)
12:08
Remove dead code from btree.c. Ticket #2050. (CVS 3500) (check-in: dbd0125c 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: a19ce5c1 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: 7ce48000 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: 3cd9b64b 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: ebd44f0b user: drh tags: trunk)
2006-10-30
13:37
Changes to support non-ASCII characters in win95 filenames. Ticket #2047. (CVS 3495) (check-in: 9fa3ae58 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: 64762a9d 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: 58171a41 user: drh tags: trunk)
14:06
Changes directed toward optimizing IS NULL terms in WHERE clauses. (CVS 3492) (check-in: 4d336e9e 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: 517712d6 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: 3baa04cf 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: cde383eb 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: 5878add0 user: shess tags: trunk)
2006-10-25
23:22
Remove unreferenced local variable. (CVS 3487) (check-in: 2d3b2219 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: af5bfb98 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: 2cb59033 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: fed79bee 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: 2806c341 user: shess tags: trunk)
23:28
Add tests for delete and update in fts1. (CVS 3481) (check-in: b01c4371 user: shess tags: trunk)
20:27
fts2 support for testing. These are a prelude to adding some test scripts. (CVS 3480) (check-in: 004ad194 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: 0c6736df 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: ee4894b4 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: b886eaa3 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: 81daedcf user: drh tags: trunk)
11:55
Removing debugging printf from the porter stemmer code. Ticket #2016. (CVS 3475) (check-in: 7a08c627 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: 85272b2f 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: aa0b96c3 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: 5e8bbb85 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: d0d1e7cd 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: b743429d user: drh tags: trunk)
2006-10-09
00:38
Version 3.3.8 (CVS 3469) (check-in: 0658bb9e 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: 465ce5b2 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: 144e3f11 user: shess tags: trunk)
11:43
Fix another UTF conversion problem on x64. Ticket #2008. (CVS 3466) (check-in: d16523e5 user: drh tags: trunk)
2006-10-04
17:35
The snippet generator adds ellipsis between text from different columns. (CVS 3465) (check-in: 6cf1fb9f user: drh tags: trunk)
15:23
Fix UTF conversions for -O2 on gcc 4.1.1. Ticket #2008. (CVS 3464) (check-in: 86a08bb7 user: drh tags: trunk)
11:55
Tests cases automatically remove many of their temporary files. (CVS 3463) (check-in: eef0ec0d 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: df1a4b48 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: 288ff637 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: 70501e4e user: drh tags: trunk)
17:40
Add the OS-X locking style patches to os_unix.c. Disabled by default. (CVS 3459) (check-in: f4103dea user: drh tags: trunk)
12:08
Fix sqlite3_analyzer so that it works when compiled against Tcl8.5. (CVS 3458) (check-in: e774adce user: drh tags: trunk)
12:04
Fix sqlite3_analyzer so that it works on databases containing virtual tables. (CVS 3457) (check-in: 47c8567f user: drh tags: trunk)
11:42
Add the option to omit offset information from posting lists in FTS1. (CVS 3456) (check-in: fdcea7b1 user: drh tags: trunk)
2006-10-01
20:41
Another typo in the Porter stemmer check-in. (CVS 3455) (check-in: 6696bda1 user: drh tags: trunk)
18:59
Typo in previous check-in. (CVS 3454) (check-in: a7350bf8 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: 1a2df2a6 user: drh tags: trunk)
18:41
Add a Porter stemmer option to the FTS1 module. (CVS 3452) (check-in: 936b06aa 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: fcde6391 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: 8cdf1d6a user: drh tags: trunk)
18:58
More snippet generator improvements and test cases. (CVS 3449) (check-in: 0934d220 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: d3f4ae82 user: drh tags: trunk)
11:41
Avoid segfaults when inserted NULL values into FTS1. (CVS 3447) (check-in: 165645d3 user: drh tags: trunk)
2006-09-26
00:37
Fix to the previous check-in. (CVS 3446) (check-in: 944d5f81 user: drh tags: trunk)
00:34
Performance improvement and bug fix in sqlite3WinDelete(). (CVS 3445) (check-in: 46ac1ac2 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: 433dac1f user: drh tags: trunk)
18:03
Fix a roundoff error in the %f converter of strftime(). Ticket #1991. (CVS 3442) (check-in: 51b9c755 user: drh tags: trunk)
18:01
Add a pragma for activating proprietary extensions. (CVS 3441) (check-in: c63d34ce user: drh tags: trunk)
18:01
Fix a round-off problem in the %f conversion of strftime(). Ticket #1991. (CVS 3443) (check-in: bf460840 user: drh tags: trunk)
13:48
Bug fix in pragma table_info(). (CVS 3440) (check-in: c037403b user: drh tags: trunk)
13:09
Remove legacy cruft from shell.c. (CVS 3439) (check-in: 815d8f84 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: 20d7b294 user: drh tags: trunk)
20:46
Fix documentation typo. Ticket #1986 (CVS 3437) (check-in: 58c32ce3 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: dc797bf4 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: 791d7093 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: 757fa224 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: 111ca616 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: 7e618db4 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: c7ee60d0 user: drh tags: trunk)
2006-09-18
21:14
Fixed a build problem in sqlite3_extension_init(). (CVS 3430) (check-in: bb2e1871 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: cd4e1de8 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: efa8fb32 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: 5e35dc1f user: drh tags: trunk)