SQLite

Timeline
Login

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

100 descendants and 100 ancestors of 8f1ef0904d055b5510ec9043810ebf22a8c5e253

2017-12-26
14:46
Faster and smaller implementation of sqlite3AtoF() based on a suggestion from Cezary H. Noweta. (check-in: fd2e0e7a user: drh tags: trunk)
14:32
Fix crashes that could occur if SQL NULL values were passed to the built-in FTS5 snippet function. Edit: breaks amalgamation builds. (check-in: 6a790b67 user: dan tags: trunk)
14:30
Add options to speedtest1.c and speed-check.sh for testing performance of floating-point computatations. (check-in: ebfea872 user: dan tags: trunk)
14:12
Add options to speedtest1.c and speed-check.sh for testing performance of floating-point computatations. (Closed-Leaf check-in: b3c61051 user: drh tags: mistake)
14:11
Fix crashes that could occur if SQL NULL values were passed to the built-in FTS5 snippet function. Edit: breaks amalgamation builds. (check-in: 553a3ad3 user: dan tags: mistake)
2017-12-25
13:43
Fix an assertion fault on a syntax error input caused by check-in [6b2ff26c25bb9da3]. Problem discovered by OSSFuzz. (check-in: 90d6e4f1 user: drh tags: trunk)
04:15
Enhance LEMON so that it generates the action table in such a way that no range check is needed on the lookahead table to verify that the next input token is valid. This makes the lookahead table slightly larger (about 120 bytes) but helps the parser to run faster. (check-in: 7eb0198d user: drh tags: lemon-improvements)
00:10
In the LEMON-generated parser, avoid unnecessary tests for the acceptance state. (check-in: fdbb35c5 user: drh tags: lemon-improvements)
2017-12-24
23:38
In the LEMON-generated parser, rearrange the meanings of integer action codes so that reduce actions occur last. This means that the most common case (reduce actions) can be recognized with a single comparison operation, thus speeding up the main parser loop, slightly. (check-in: 7bfe7a36 user: drh tags: lemon-improvements)
18:56
Fix a NULL pointer dereference after a syntax error that can occur as a result of check-in [6b2ff26c25bb9da3] yesterday. This problem was discovered by the OSSFuzz. (check-in: d49afb8f user: drh tags: trunk)
17:06
Improved parser tracing output. (check-in: 25be5750 user: drh tags: lemon-improvements)
17:01
Grammar changes: the sclp non-terminal should always be followed by a scanpt. (check-in: 74a0181f user: drh tags: span-refactor)
14:14
Improved parser tracing output. (check-in: c4951833 user: drh tags: span-refactor)
00:18
Remove the ExprSpan object. Instead, keep track of the test of subphrases in the parse using the "scanpt" non-terminal. (check-in: 3eab7bdc user: drh tags: span-refactor)
2017-12-23
18:40
Merge recent enhancements from trunk. (check-in: edceaccd user: drh tags: appendvfs)
18:34
Merge enhancements from trunk. (check-in: 150f07fe user: drh tags: sqlar-shell-support)
14:39
Simplification to the error handling logic in the extension loader. (check-in: 07c77314 user: drh tags: trunk)
13:55
Improve the error message that comes back when sqlite3_load_extension() fails because the named file exists but is not a valid shared library. (check-in: 05fee1a2 user: drh tags: trunk)
12:33
Move the generation of output column names earlier in the case of a CREATE TABLE AS. This is a fix for ticket [3b4450072511e62] and a continuation of check-in [ade7ddf1998190b2b63] that fixes cases of ticket [de3403bf5ae5f72ed6] that were missed previously. (check-in: 6b2ff26c user: drh tags: trunk)
11:51
Add a SELECTTRACE() macro to indicate when column names are assigned to a SELECT statement. This helps with debugging for tickets like [de3403bf5ae5f72e] and [3b4450072511e621]. (check-in: 8f194008 user: drh tags: trunk)
2017-12-22
19:53
In the sqlite3TreeViewExprList() routine, show the "AS" alias name for each expression in the list, if it exists. (check-in: 5efd854f user: drh tags: trunk)
00:52
Modify the new sqlite3_vtab_collation() interface so that it takes a pointer to the sqlite3_index_info object passed into xBestIndex rather than an sqlite3 connection pointer, which the xBestIndex method might not have access to. (check-in: 5c1fe666 user: drh tags: trunk)
2017-12-21
21:41
Fix SQLITE_DBCONFIG_TRIGGER_EQP so that it works even if SQLITE_DEBUG is not defined. (check-in: afbbfff7 user: drh tags: trunk)
21:02
Add the ".eqp trigger" option to the ".eqp" command in the command-line shell. Implemented using the new SQLITE_DBCONFIG_TRIGGER_EQP control. (check-in: 2c51644a user: drh tags: trunk)
18:55
Add the ".expert" command to the shell tool's ".help" output. (check-in: fc6193af user: dan tags: trunk)
18:23
Change the name of SQLITE_DBCONFIG_FULL_EQP to be SQLITE_DBCONFIG_TRIGGER_EQP (which we can do without breaking compatibility because the former name has not yet appeared in an official release) and streamline its implementation. (check-in: fffc7685 user: drh tags: trunk)
14:46
Add the SQLITE_DBCONFIG_MAX preprocessor macro which will always be equal to the largest SQLITE_DECONFIG value. (check-in: 95d41033 user: drh tags: trunk)
02:17
Add the experimental ".expert" command to the sqlite3.exe shell. (check-in: 0821bae7 user: drh tags: trunk)
2017-12-20
23:46
Lowercase local variable names in the SHA3 extension in order to avoid collisions with macros in termios.h. (check-in: 3ec73711 user: drh tags: trunk)
2017-12-19
18:56
Fix crash in sqlite3_vtab_collation() when called for an IS NOT NULL constraint. (check-in: ad38d2c4 user: dan tags: trunk)
17:42
Experimentally add the SQLite expert functionality to the shell tool. (Closed-Leaf check-in: 51068dba user: dan tags: expert-in-shell)
2017-12-16
20:20
Add an experimental location(X) SQL function that attempt to return the location of the payload within the database for the record that contains column X. location(X) returns NULL if X is not an ordinary table column or if SQLite cannot figure out the location because it is using a covering index. (check-in: 51be9558 user: drh tags: location-function)
19:36
Add the sqlite3_vtab_collation() function, which allows an xBestIndex callback to determine the collation sequence that SQLite will use for a comparison. And the SQLITE_DBCONFIG_FULL_EQP configuration option, which enhances the output of "EXPLAIN QUERY PLAN" so that it includes statements run by triggers. And the code for the sqlite3_expert extension and command line application. (check-in: 4c782c95 user: dan tags: trunk)
19:16
Merge latest trunk changes into this branch. (Closed-Leaf check-in: d5b597b5 user: dan tags: schemalint)
2017-11-29
16:16
Merge latest trunk changes into this branch. (check-in: 373fa21b user: dan tags: schemalint)
2017-10-13
16:24
Fix main.mk to name the win32 executable "sqlite3_expert.exe", not "sqlite3_expert". (check-in: e38571d5 user: dan tags: schemalint)
14:20
Update main.mk to build the sqlite3_expert program with -DSQLITE_THREADSAFE=0 and -DSQLITE_OMIT_LOAD_EXTENSION. To minimize dependencies. (check-in: 4c68ad7d user: dan tags: schemalint)
2017-10-12
20:24
Fix the EXPLAIN processing so that it returns SQLITE_ERROR on an OOM, as it should. (check-in: 4ec63ef2 user: drh tags: schemalint)
15:28
Add the experimental "sqlite_expert" extension. Used to find index definitions that might help with specified SQL queries. (Later:) Parked on a dead-end branch due to an assertion fault in TH3. We will merge again after the bug is fixed. (Closed-Leaf check-in: d1ef9eab user: dan tags: withdrawn)
14:13
Update this branch to match latest trunk. (check-in: d325da6c user: dan tags: schemalint)
2017-10-11
20:26
Merge latest trunk changes with this branch. (check-in: 2719cf5c user: dan tags: schemalint)
20:10
Change some internal details to bring this branch closer to the code on trunk. (check-in: 58e42cfd user: dan tags: schemalint)
2017-05-15
17:56
Merge changes from trunk. (check-in: 6e0f64ab user: drh tags: schemalint)
2017-05-04
14:02
Remove the tool/schemalint.tcl script. And related Makefile entries. It is superseded by sqlite3_expert. (check-in: 269bf52e user: dan tags: schemalint)
2017-05-03
13:05
Fix a harmless compiler warning on Windows. (check-in: 593e5dd0 user: drh tags: schemalint)
12:50
Get sqlite3_expert building on Windows. (check-in: d8254047 user: drh tags: schemalint)
12:15
In sqlite3expert.c, do not copy the schema for virtual tables. Updates to makefiles to make building easier. (check-in: da15752d user: drh tags: schemalint)
2017-05-02
20:42
In the sqlite3_expert command-line tool, allow two-dash options. Do not accept the database name if it begins with "-". (check-in: af7d1596 user: drh tags: schemalint)
19:45
Merge the latest enhancements from trunk. (check-in: a7dcf6a7 user: drh tags: schemalint)
2017-05-01
14:25
Update this branch with latest trunk changes. (check-in: 11f4761c user: dan tags: schemalint)
2017-04-21
19:58
Another minor formatting fix. (check-in: 9fa2ce3c user: dan tags: schemalint)
19:56
Fix formatting errors in the previous commit. (check-in: da9a2e5a user: dan tags: schemalint)
19:53
Update the README.md file in the ext/expert/ directory. (check-in: 3b2ff4e0 user: dan tags: schemalint)
2017-04-20
17:35
Merge latest trunk changes into this branch. (check-in: b1533bc4 user: dan tags: schemalint)
17:03
Avoid creating a temp table in the user database in the sqlite3_expert code. (check-in: 4e366996 user: dan tags: schemalint)
16:43
Speed this branch up a bit by filtering before the virtual table layer when sampling user data. (Closed-Leaf check-in: 8e57c313 user: dan tags: schemalint-failure)
16:18
Avoid adding INTEGER PRIMARY KEY columns to candidate indexes. (check-in: 4577fea5 user: dan tags: schemalint)
16:08
Avoid creating a temp table in the user database in the sqlite3_expert code. Trouble is, this makes sampling for stat1 data much slower. (check-in: c62e3582 user: dan tags: schemalint-failure)
09:54
Add an option to generate stat1 data based on a subset of the user database table contents to sqlite3_expert. (check-in: c69c3e21 user: dan tags: schemalint)
2017-04-18
20:10
Have sqlite3_expert_analyze() populate the sqlite_stat1 table before running queries through the planner for the second time. (check-in: a157fcfd user: dan tags: schemalint)
09:04
Fix sqlite3_expert handling of triggers on views. (check-in: ff4976da user: dan tags: schemalint)
2017-04-17
17:03
Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: 159e8022 user: dan tags: schemalint)
2017-04-15
16:52
Fix problems with handling constraints on the rowid column in sqlite3expert.c. (check-in: 2e630879 user: dan tags: schemalint)
15:47
Merge latest trunk changes into this branch. (check-in: 2d0c458e user: dan tags: schemalint)
14:30
Add header comment for sqlite3_vtab_collation(). (check-in: d238694c user: dan tags: schemalint)
14:16
Fix memory leaks in the code on this branch. Make use of the sqlite3_index_constraint.usage field. Do not try to handle ORDER BY terms with explicit COLLATE clauses - they don't get passed to the vtab layer anyway. (check-in: 0cd75a87 user: dan tags: schemalint)
2017-04-14
19:41
Modify the code in ext/expert/ to use the vtab interface instead of sqlite3_whereinfo_hook(). Remove sqlite3_whereinfo_hook(). (check-in: 3bb65850 user: dan tags: schemalint)
2017-04-13
16:19
Update this branch with latest changes from trunk. (check-in: 5fcd840c user: dan tags: schemalint)
2017-04-11
19:00
Update this branch with latest trunk changes. (check-in: 0f66a093 user: dan tags: schemalint)
18:29
Fix a formatting issue in the output of the sqlite3_expert program. (check-in: cc8c3581 user: dan tags: schemalint)
17:43
Add header comments to the API functions in sqlite3expert.h. Include a list of all candidate indexes in the report output by the sqlite3_expert program. (check-in: 0c45c5eb user: dan tags: schemalint)
2017-04-10
20:00
Add ext/expert/README.md. (check-in: 9318f1b9 user: dan tags: schemalint)
16:13
Changes to allow the code in sqlite3expert.c to be tested directly (via the API in sqlite3expert.h) instead of by invoking the sqlite3_expert application. Fix memory leaks and other problems. (check-in: 5dd98317 user: dan tags: schemalint)
2017-04-09
08:38
Fix the -file option on the sqlite3_expert program. (check-in: 0857c48e user: dan tags: schemalint)
2017-04-08
19:00
Merge latest trunk with this branch. (check-in: e051e8f2 user: dan tags: schemalint)
18:56
Rename shell6.test to expert1.test. Have it invoke the sqlite3_expert binary if it is present. (check-in: be0deff9 user: dan tags: schemalint)
17:41
Use hash tables instead of in-memory database tables for a few purposes in sqlite3expert.c. (check-in: bf10e68d user: dan tags: schemalint)
2017-04-07
20:14
Refactor code to suggest indexes from the shell tool into an extension in ext/expert. Unfinished. (check-in: 305e19f9 user: dan tags: schemalint)
2017-04-06
18:44
Changes to allow indexes to be recommended for queries on SQL views. (check-in: 0884ff1d user: dan tags: schemalint)
2017-04-04
17:50
Add some support for OR terms to sqlite3_whereinfo_hook(). (check-in: 5cd07000 user: dan tags: schemalint)
04:23
Add the sqlite3_whereinfo_hook() API - an experimental API replacing the DBCONFIG_WHEREINFO hack on this branch. (check-in: a54aef35 user: dan tags: schemalint)
2017-03-31
11:20
Merge latest trunk into this branch. (check-in: cb721d0b user: dan tags: schemalint)
08:00
Update shell6.test to account for the fact that tests are now run in a separate directory. (check-in: 1e3622de user: dan tags: schemalint)
2016-03-15
09:42
Update this branch with latest trunk changes. (check-in: 249cd361 user: dan tags: schemalint)
2016-03-09
08:08
Merge latest trunk changes with this branch. (check-in: 59caca43 user: dan tags: schemalint)
08:07
Fix a problem in the schemalint code that comes up when a sub-query uses one or more of the same tables as its parent. (check-in: fc18cc92 user: dan tags: schemalint)
2016-02-22
19:51
Add test script shell6.test, containing tests for schemalint. (check-in: 0b734065 user: dan tags: schemalint)
2016-02-19
07:53
Fix a couple of bugs in the schemalint code. (check-in: 02fbf699 user: dan tags: schemalint)
2016-02-18
19:10
Have the schemalint output distinguish between existing and recommended indexes. (check-in: 4ab3df25 user: dan tags: schemalint)
2016-02-17
20:06
Schemalint changes: Avoid creating candidate indexes if a compatible index exists. Do not quote identifiers that do not require it. (check-in: cf0f7eeb user: dan tags: schemalint)
2016-02-16
18:37
Fix further issues in schemalint. (check-in: 73a7f010 user: dan tags: schemalint)
2016-02-15
20:12
Progress towards integrating schemalint into the shell tool. Some cases work now. (check-in: 58d4cf26 user: dan tags: schemalint)
2016-02-11
21:01
Experimental integration of schemalint functionality with the shell tool. Does not work yet. (check-in: ed49f297 user: dan tags: schemalint)
2016-02-09
15:10
Merge latest trunk changes with this branch. (check-in: 1a4182ee user: dan tags: schemalint)
2016-01-22
14:46
Merge latest trunk changes into this branch. (check-in: 9341491c user: dan tags: schemalint)
14:44
Fix handling of transitive constraints in schemalint.tcl. (check-in: 44edc1aa user: dan tags: schemalint)
14:32
Update the schemalint.tcl script so that the argument to a -select option may be either an SQL statement or the name of a file containing an SQL statement (check-in: d4e37767 user: dan tags: schemalint)
2015-11-30
19:16
Add a rule to main.mk to build the schemalint.tcl script into an executable. Similar to the way the sqlite3_analyzer executable is built. (check-in: b8251065 user: dan tags: schemalint)
18:17
Fix the schemalint.tcl script to handle identifiers that require quoting. (check-in: 451e0faf user: dan tags: schemalint)
2015-11-23
18:28
In the CREATE INDEX statements output by schemalint.tcl, avoid declaring an explicit collation sequence that is the same as the column's default. (check-in: d3aa067c user: dan tags: schemalint)
17:14
Merge latest trunk changes with this branch. (check-in: 8f1ef090 user: dan tags: schemalint)
17:10
Fix ORDER BY handling in the schemalint.tcl script. Add internal self-tests to the same script. (check-in: b8f277c9 user: dan tags: schemalint)
2015-11-21
19:43
Fix an obscure memory leak found by libfuzzer that may occur under some circumstances if expanding a "*" expression causes a SELECT to return more than 32767 columns. (check-in: 60de5f23 user: dan tags: trunk)
17:27
Fix over-length source code lines. No logic changes. (check-in: 198d191b user: drh tags: trunk)
13:24
Do not allow table-valued function syntax on ordinary tables and views as those objects are not table-valued functions. Fix for ticket [73eba7ba5c7c0fc]. Problem found by libFuzzer. (check-in: ff5716b8 user: drh tags: trunk)
2015-11-20
20:55
Add support for ORDER BY clauses to schemalint.tcl. (check-in: 93bdf70e user: dan tags: schemalint)
19:22
Refactor the VdbeCursor object. It is now slightly smaller and faster and is easier to understand. (check-in: 9b1d174d user: drh tags: trunk)
13:33
In the OP_Column opcode, only test the btree payload size for exceeding the string length limit if the payload does not fit on a single page. (check-in: 35c7f6cb user: drh tags: trunk)
13:17
Enhancements to a comment in sqliteInt.h. No changes to code. (check-in: 5446ae64 user: drh tags: trunk)
2015-11-19
18:11
Fix problems with the way the IsHiddenColumn() macro is defined. (check-in: 126b998c user: drh tags: trunk)
18:09
Fix a problem with VACUUM and __hidden__ columns. (check-in: 13995756 user: dan tags: trunk)
17:55
When manifesting a view as part of an DELETE or UPDATE, be sure to include the hidden columns in the manifestation. (check-in: 28df5dc4 user: drh tags: trunk)
16:46
Fix problems with INSERT INTO ... SELECT ... statements that write to tables with __hidden__ columns. (check-in: 59bd0ec7 user: dan tags: trunk)
16:33
Create the new TK_ASTERISK token to represent the "*" in "SELECT *". Formerly that operator was TK_ALL, which was also used for UNION ALL. Less confusion if they operator symbols are distinct. (check-in: 201ac6d4 user: drh tags: trunk)
14:11
If compiled with SQLITE_ENABLE_HIDDEN_COLUMNS, then columns in ordinary tables and views that have names beginning with "__hidden__" are omitted from the "*" expansion in SELECT statements and from the automatic list of columns following the table name in an INSERT INTO statement. (check-in: 011904ca user: drh tags: trunk)
13:53
Only support the magic "__hidden__" column name prefix interpretation when compiled with SQLITE_ENABLE_HIDDEN_COLUMNS. (Closed-Leaf check-in: 5490646b user: drh tags: hidden-columns-in-tables)
13:21
Fix a 10-year-old misguided attempt at parser performance improvement that actually made parsing slightly slower. (check-in: 3833cbac user: drh tags: trunk)
2015-11-18
21:22
Get the __hidden__ column mechanism working on views with INSTEAD OF triggers. (check-in: 20c1e9ce user: drh tags: hidden-columns-in-tables)
20:59
Add tests for views to hidden.test. (check-in: 27d4b6f5 user: dan tags: hidden-columns-in-tables)
20:57
Honor the "__hidden__" prefix on the columns of views. (check-in: 3071ba2b user: drh tags: hidden-columns-in-tables)
20:07
Add a test for the __hidden__ hack on this branch. (check-in: ebf4bbff user: dan tags: hidden-columns-in-tables)
18:43
If a table column name begins with "__hidden__" then do not include that column in "*" expansions in SELECT statements, nor fill in that column in an INSERT INTO that omits the column list. This branch is a proof-of-concept only and is not intended to ever be merged into trunk. (check-in: 2dbffb3a user: drh tags: hidden-columns-in-tables)
2015-11-17
21:42
When using mmap mode on Win32, use a read-only mapping by default. Write to the database file using WriteFile(). Unless SQLITE_MMAP_READWRITE is defined, in which case use a read/write mapping and write into the file using memcpy(). (check-in: 4f521b5b user: mistachkin tags: trunk)
20:56
When using mmap mode on unix, use a read-only mapping by default. Write to the database file using write(). Unless SQLITE_MMAP_READWRITE is defined, in which case use a read/write mapping and write into the file using memcpy(). (check-in: 67c5d3c6 user: dan tags: trunk)
19:17
Fix uninitialized variable in the command line shell. (check-in: dc2ac024 user: mistachkin tags: trunk)
19:16
Fix harmless compiler warning. (check-in: eea26b6c user: mistachkin tags: trunk)
2015-11-16
15:28
Add testfixture command "vfs_current_time_int64". Returns the value returned by the xCurrentTimeInt64 method of the default VFS. (check-in: f79d5b18 user: dan tags: trunk)
08:54
In the shell tool, avoid testing if (sqlite3_vfs.xGetCurrentInt64) is NULL for a version 1 VFS. This field is only defined for version 2 and greater. (check-in: ad5fcaa5 user: dan tags: trunk)
2015-11-15
11:13
Fix the column name uniquifier so that it works with zero-length column names. (check-in: 791761eb user: drh tags: trunk)
2015-11-14
22:04
Code simplification in sqlite3ColumnsFromExprList(). Update the %z format code so that it works with buffers obtained from sqlite3DbMalloc(). Add a testcase for the slow column name uniquifier. (check-in: 92724260 user: drh tags: trunk)
20:52
Use a hash table to improve the preformance of column name uniqueness checking. (check-in: 5b08f29f user: drh tags: trunk)
16:47
Use randomness to prevent slowness in the generated-column-name uniqueness checking. (check-in: 62667129 user: drh tags: trunk)
2015-11-13
20:52
Fix a memory leak in the fuzzcheck utility. (check-in: dfd6d9f4 user: drh tags: trunk)
16:59
Add the "--enable-static-shell" option to the amalgamation autoconf script. If set (the default) the compiled shell tool is statically linked against sqlite3.o. Otherwise, it is linked against libsqlite3.so. (check-in: 499a02a3 user: dan tags: trunk)
13:15
Add the --transaction option to the sqldiff tool. (check-in: 8882d1f3 user: drh tags: trunk)
12:52
Fix the releasetest-out.txt log output from releasetest.tcl so that it works when the --jobs option is used. (check-in: 6bb314a5 user: drh tags: trunk)
12:32
Disable two PRAGMA cache_spill tests when MEMORY_MANAGEMENT is enabled. (check-in: ebda77aa user: drh tags: trunk)
00:03
Change the error messages so that they can be grepped using '^!' instead of '^ '. There are far too many extraneous outputs that begin with a space. (check-in: 367ec0db user: drh tags: trunk)
2015-11-12
23:48
Update the SQLLOG logic so that to builds in accordance with the instructions in the header comment. (check-in: ee6f2fee user: drh tags: trunk)
22:15
Always parse the schema *before* running "PRAGMA cache_size", not after. (check-in: 12e7d9ec user: drh tags: trunk)
21:42
Add a space before each line of error output in the test scripts so that all errors can be conveniently located in logs by doing "grep '^ '". (check-in: 9d532fb5 user: drh tags: trunk)
20:12
Add support for the SQLITE_SQLLOG_CONDITIONAL environment variable to the logging code in test_sqllog.c. When defined, logging is only performed if the "<database>-sqllog" file is present in the file system when the main database is opened. (check-in: cab8126b user: dan tags: trunk)
16:44
Enhance the "PRAGMA cache_spill" statement to accept an integer argument which is the threshold at which spilling will begin. (check-in: f79d264d user: drh tags: trunk)
15:47
Test cases. Minor problems fixed. All appears to work now. (Closed-Leaf check-in: 9a431362 user: drh tags: cache_spill=N)
15:04
Fix a #define in parse.y that disabled unused code in the generated parser. (check-in: f84e3085 user: drh tags: trunk)
14:57
First attempt at enhancing the "PRAGMA cache_spill" statement to accept a cache threashold size. (check-in: 549d42be user: drh tags: cache_spill=N)
2015-11-11
18:43
Fix missing word in a documentation comment. No changes to code. (check-in: ed24d302 user: mistachkin tags: trunk)
18:08
Add a hack to debug out a description of the WHERE clause of a SELECT (or other) statement. Use this in script tool/schemalint.tcl to automatically recommend indexes that might speed up specific queries. (check-in: c6fa01c2 user: dan tags: schemalint)
15:28
Improvements to the SQLITE_CONFIG_PAGECACHE documentation. Enhance the command-line shell to be able to take advantage of the full range of SQLITE_CONFIG_PAGECACHE capabilities, such as setting pMem==NULL and N<0. (check-in: 2518d5c9 user: drh tags: trunk)
2015-11-10
14:51
Improved output formatting for "PRAGMA parser_trace=ON;". (check-in: e43e1171 user: drh tags: trunk)
14:27
Make the output of "PRAGMA parser_trace" go to stdout instead of stderr. (check-in: 1e484991 user: drh tags: trunk)
13:45
Save a few bytes in the parser by using "int" instead of "u8" or "u16" for all small integer types. (check-in: 5dcd212b user: drh tags: trunk)
12:41
Change all parsers to use the standard "lempar.c" template in the tool/ folder and remove the customized lempar.c from src/, plus other compiler performance and space enhancements. (check-in: 0e7fb24a user: drh tags: trunk)
12:31
Fix harmless compiler warnings in FTS5. (Closed-Leaf check-in: 09752e51 user: drh tags: parser-enhancements)
03:30
Performance enhancement to the tokenizer. (check-in: 6ea2df86 user: drh tags: parser-enhancements)
00:02
Remove an unused non-terminal from the grammar. (check-in: 3c37c522 user: drh tags: parser-enhancements)
2015-11-09
19:35
Fix a comment typo in the lempar.c template that was missed by the prior check-in. (check-in: c4a7e93f user: drh tags: parser-enhancements)
19:33
Change the parser to use the standard "lempar.c" template over in the tool/ folder rather than the customized "lempar.c" found in src/. (check-in: 0a72991f user: drh tags: parser-enhancements)
15:06
Avoid recursion in the yy_find_shift_action() routine of the Lemon-generated parser, so that routine can be inlined, for a size reduction and performance increase. (check-in: 0557a179 user: drh tags: trunk)
14:11
Size reduction and performance improvement in the stack-popping logic of the Lemon-generated parser. (check-in: 9748c48a user: drh tags: trunk)
12:47
Fix incorrect WHERE clause in sqldiff, as reported on the mailing list by Youcef Hilem. (check-in: e0ed4c3e user: drh tags: trunk)
12:44
Check in the cg_anno.tcl and run-speed-test.sh scripts, as an historical record. (check-in: 836418d3 user: drh tags: trunk)
12:33
Avoid unnecessary function prologues in the sqlite3VdbeAddOp3() routine. (check-in: 7c6a19ba user: drh tags: trunk)
02:08
Small size reduction and performance increase in the parser. (check-in: d62cd757 user: drh tags: trunk)
2015-11-07
18:32
Enhance the sqldiff utility to deal gracefully with ALTER TABLE ADD COLUMN. (check-in: 7ea036ac user: drh tags: trunk)
18:07
Fix a bug in CTE handling discovered by LibFuzzer that can cause an infinite loop in the query planner. (check-in: 088009ef user: dan tags: trunk)
17:51
Add test cases for WITH clauses. (Closed-Leaf check-in: e7e65c75 user: dan tags: infinite-with-loop-bug)
17:48
Proposed fix for an infinite loop bug in the WITH clause semantic analysis logic. (check-in: 028475cb user: drh tags: infinite-with-loop-bug)
15:19
Enhance TreeView to show WITH clauses. Add an assert to detect the infinite loop behavior when certain kinds of errors occur on a nested WITH clause. (check-in: 2040d88e user: drh tags: infinite-with-loop-bug)
01:19
The OPFLAG_SEEKEQ optimization is only applicable to equality comparisons against an index, not against a rowid table. (check-in: 0f5b147d user: drh tags: trunk)
00:51
Fix a harmless sanitizer warning in the ieee754 extension. (check-in: dd9a26ec user: drh tags: trunk)
2015-11-06
20:22
Avoid an unnecessary key comparison when doing an indexed lookup against an equality constraint. (check-in: d741e1cc user: drh tags: trunk)
20:13
Work around a sign-extension bug in the optimizer on the HP C compiler that comes with HP/UX. (check-in: 46c36b15 user: drh tags: trunk)
20:04
Test changes: Omit numindex1.test from valgrind, since valgrind uses a none-standard floating-point processor which gives inconsistent answers. Run one releasetest.tcl module using LONGDOUBLE_TYPE=double. (check-in: d421efbf user: drh tags: trunk)
19:53
Enforce consistent comparison results between integer and floating point values. Fix for ticket [38a97a87a6e4e83]. (check-in: 849e686d user: drh tags: trunk)
17:59
Merge the fixes and tests for the ieee754 extension. (Closed-Leaf check-in: 7a9988d3 user: drh tags: int-float-precision)
17:28
A proposed patch for working around a bug in the optimizer for the HP compiler found on HP/UX Itanium. (Closed-Leaf check-in: 8a171548 user: drh tags: hp-optimizer-fix)
17:01
Test cases for the ieee754 extension. (check-in: 840cbda8 user: drh tags: trunk)
14:59
A different approach to handling integer/float comparisons. This seems to work better on systems where "long double" and "double" are the same type, but still needs refinement and testing. (check-in: a3f7614b user: drh tags: int-float-precision)
12:50
Have fts5 load its configuration from the xConnect() method is invoked. This ensures that the very first query run uses the correct value of the 'rank' option. (check-in: 33e6606f user: dan tags: trunk)
04:14
More test cases for indexes on large numeric values. (check-in: c220741a user: drh tags: int-float-precision)
03:37
Some simple test cases from the mailing list. (check-in: 1d642b73 user: drh tags: int-float-precision)
01:04
Increase the precision of integer vs. floating-point comparisons. Candidate fix for ticket [38a97a87a6e4e8]. (check-in: cfcaa0ff user: drh tags: int-float-precision)
2015-11-05
22:30
Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. (Closed-Leaf check-in: 997ce6c9 user: drh tags: seekeq-experiment)
21:49
Fix typo in help information for an FTS5 script. (check-in: 777ae800 user: mistachkin tags: trunk)
20:25
The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT. This check-in adds a flag to OP_SeekGE such that it fails immediately if the key is not equal, then jumps over the OP_IdxGT, saving a call to the key comparison functions. Consider this check-in a proof-of-concept. It needs improvement before going on trunk. Some tests fail, but only because they new use fewer key comparisons than expected (which is a good thing!). (check-in: 32e31b9b user: drh tags: seekeq-experiment)
18:09
Add the 'hashsize' configuration option to fts5, for configuring the amount of memory allocated to the in-memory hash table while writing. (check-in: 44548009 user: dan tags: trunk)
11:47
Remove a #pragma used to work around an issues with MSVC 2012 that has been overcome but subsequent changes. (check-in: 8303e4cf user: drh tags: trunk)
03:26
Remove #pragma that was used to work around an obsolete issue with MSVC 2012. (Closed-Leaf check-in: b9b22fae user: mistachkin tags: reoptimizeArm)
2015-11-04
22:31
Performance improvements in the getAndInitPage() routine of btree.c. (check-in: 2aa50f6f user: drh tags: trunk)
20:22
Rename the sqlite3PagerAcquire() function to sqlite3PagerGet(). The former macro called sqlite3PagerGet() has been removed. (check-in: 708253be user: drh tags: trunk)
16:34
In releasetest.tcl, run larger test first if --jobs is greater than 1. Run smaller tests cases first if --jobs is 1. (check-in: 3fece5d0 user: drh tags: trunk)
13:03
Exclude cffault.test and symlink.test from the (incompatible) inmemory_journal permutation. (check-in: 4f16e968 user: drh tags: trunk)
2015-11-03
23:39
Increase the fuzzcheck timeout when running valgrind. (check-in: a5816877 user: drh tags: trunk)
19:13
In 'e_uri.test', make sure all created test database files get deleted. (check-in: 40c4f4a6 user: mistachkin tags: trunk)
15:39
In the releasetest.tcl script, add the --progress option to cause the start of each subprocess to be shown. Otherwise, revert to the old-style display. Improvements to the handling of the --buildonly option. (check-in: d969792f user: drh tags: trunk)
15:16
In the releasetest.tcl script, show the --jobs object on the command-line summary. Report the time of each "starting:" event. Do not show errors on a --dryrun. (check-in: b7510777 user: drh tags: trunk)
14:49
Update the releasetest.tcl script so that it can run multiple tests in parallel in separate processes. (check-in: e3de8291 user: drh tags: trunk)
06:23
Further enhancement and a bit of cleanup. (Closed-Leaf check-in: 0d8b5978 user: mistachkin tags: mp-releasetest)
02:47
Use the native name for the MSVC makefile as well. (check-in: e457c615 user: mistachkin tags: mp-releasetest)
2015-11-02
23:29
Attempt to centralize and simplify the MSVC handling. (check-in: 4ae96d6d user: mistachkin tags: mp-releasetest)