SQLite

Timeline
Login

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

100 check-ins occurring around 20dba3a7fb3e7078.

2013-08-02
20:44
Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. (check-in: 7e1acb39 user: drh tags: sessions)
20:11
Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches. (check-in: c5c0a8ab user: drh tags: trunk)
16:41
Add support for partial indices. (check-in: 478113f1 user: drh tags: trunk)
14:18
Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. (Closed-Leaf check-in: 2e8c845e user: drh tags: partial-indices)
13:31
Fix typos in documentation for SQLITE_DBSTATUS_DEFERRED_FKS . No changes to code. (check-in: f3efbfcd user: drh tags: trunk)
2013-08-01
22:27
Fix the CREATE INDEX statement so that trying to create a TEMP index on a non-TEMP table throws an error rather than segfaulting. (check-in: e3c8935f user: drh tags: trunk)
22:26
Fix an incorrect expected result in a test case in corruptG.test. (check-in: 6913831a user: drh tags: trunk)
20:26
Fix a potential buffer overread in sqlite3VdbeRecordCompare() when a serial_type specifies a field that starts in bounds but is much too large for the allocated buffer. Mostly harmless. The overread is unlikely to go more than one or two bytes past the end of the buffer. (check-in: e436b2f4 user: drh tags: trunk)
19:17
Make sure signed integer overflow does not cause a segfault while attempting to read a corrupt database where the header size varint on a record is larger than the maximum 32-bit signed integer. (check-in: c3baca99 user: drh tags: trunk)
17:43
Add test case for the problem fixed by [127a5b776d]. (check-in: 65816718 user: dan tags: trunk)
17:21
An improved method for avoiding the use of the STAT3 samples to compute the estimated number of outputs when the left-most index is equality constrained. This check-in undoes the previous fix and applies a new one. (check-in: 127a5b77 user: drh tags: trunk)
16:52
Avoid using left-most column STAT3 samples if the left-most column has an equality constrain and there are inequality constraints on the second column. (check-in: 31b4e63b user: drh tags: trunk)
16:02
Fix bug in the logic that determines the end of a CREATE INDEX statement. Added a VACUUM test case that exposed the bug. (check-in: 2e3df0bc user: drh tags: partial-indices)
15:09
More test cases and corresponding bug fixes. (check-in: 0c8cfdfa user: drh tags: partial-indices)
13:04
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. (check-in: 8e07aa2a user: drh tags: partial-indices)
12:21
Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). (check-in: 81834c30 user: drh tags: partial-indices)
04:39
Fix the ANALYZE command to work with partial indices. (check-in: 60353124 user: drh tags: partial-indices)
03:36
Test cases and bug fixes for the partial index logic. (check-in: 6b73ae7c user: drh tags: partial-indices)
01:14
Add the logic to keep partial indices up to date through DML statements and when new partial indices are created. This new logic is untested except to verify that it does not interfere with full indices. (check-in: fb9044d1 user: drh tags: partial-indices)
2013-07-31
23:28
Limit the number of memset() calls used when determining a temporary file name on Windows. Also, fix a harmless compiler warning. (check-in: 136fc293 user: mistachkin tags: trunk)
23:22
Add logic to the query planner to only use partial indices if the WHERE clause constrains the search to rows covered by the partial index. This is just infrastructure. The key routine, sqlite3ExprImpliesExpr(), is currently a no-op so that partial indices will never be used. (check-in: 8ca3eac1 user: drh tags: partial-indices)
22:39
Slight modifications to path name translation handling for Cygwin. (check-in: 33ba1f4c user: mistachkin tags: trunk)
22:27
Use a new error code to represent a failure to get the configured temporary directory on Windows. (check-in: c93d891b user: mistachkin tags: trunk)
19:55
The MAX_PATH constant in windows is measured in characters, so multiple by 3 to get the number of bytes assuming worst-case UTF8 pathnames. (check-in: bb06e157 user: drh tags: trunk)
19:05
Resolve names in CREATE INDEX WHERE clauses and detect errors. Disallow expressions that contain variables, subqueries, or functions. The expression is still not used for anything, however. still unused. (check-in: f2aa7842 user: drh tags: partial-indices)
18:12
Here begins an experimental branch for exploring the idea of a partial index. This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but does not actually do anythingn with that WHERE clause yet. (check-in: 6794b2dc user: drh tags: partial-indices)
2013-07-30
15:10
Reduce the size of the stack required by the codeOneLoopStart() function in where.c. (check-in: eb6d4278 user: drh tags: trunk)
2013-07-29
19:03
For the MSVC makefile, recompile vdbe.lo and parse.lo first. (check-in: 9e819f0f user: mistachkin tags: trunk)
15:54
Comment and preprocessor macro cleanup. (check-in: c0809b5e user: drh tags: trunk)
13:51
In main.mk, always recompile vdbe.o and parse.o first, since changes to either parse.y or vdbe.c will cause all files to be recompiled and if there are syntax errors in vdbe.c or parse.y we want to hit them early in the compile process. (check-in: a94a66d1 user: drh tags: trunk)
2013-07-25
17:07
In the command-line shell, work around the fact that popen() and pclose() are not defined in stdio.h. in C89 and later. (check-in: 8bcbb33f user: drh tags: trunk)
16:41
Fix a typo in main.c: SQLITE_DEAULT_AUTOMATIC_INDEX -> SQLITE_DEFAULT_AUTOMATIC_INDEX (check-in: cc78e21c user: dan tags: trunk)
16:27
Enhance the progress handler so that it keeps track of the number of VDBE cycles across sqlite3_step() calls and issues callbacks when the cumulative instruction count reaches threshold. (check-in: 4698a82e user: drh tags: trunk)
2013-07-24
14:54
Another attempt at generalizing the URI parsing so that it works with a wider variety of file URIs and yet remains backwards compatible. (check-in: de05eb75 user: drh tags: uri-enhancement)
2013-07-23
22:28
Get the new URI logic working for Windows. (Closed-Leaf check-in: 0165789f user: drh tags: uri-enhancement)
20:54
Update the URI filename parser to allow (and ignore) authority names in unix and to pass the authority through to the OS on windows, as this appears to be what web-browsers are doing. (check-in: 74c12dee user: drh tags: uri-enhancement)
2013-07-20
00:39
Merge updates from trunk. (check-in: dd4b77c8 user: mistachkin tags: toTypeFuncs)
00:34
Add 'queryplantest' target to the MSVC makefile. (check-in: ad0551e0 user: mistachkin tags: trunk)
2013-07-19
23:58
Fixes to test numbering. (check-in: f755b4b2 user: mistachkin tags: trunk)
2013-07-18
20:28
Remove unused "codec" code from the command-line shell. (check-in: 37abfe0c user: drh tags: trunk)
18:45
Improved documentation for sqlite3_set_auxdata(). Ticket [406d3b2ef91c]. (check-in: 62465ecb user: drh tags: trunk)
18:29
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. (check-in: 153deac8 user: dan tags: trunk)
18:28
Fix a typo in the previous commit. (Closed-Leaf check-in: cd9096e6 user: dan tags: typo)
17:12
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9]. DRH adds: Stray text accidentally inserted into vdbe.c just prior to the commit breaks the build. (check-in: 71effa59 user: dan tags: typo)
14:50
Fix a 8-byte alignment problem in the query planner that might cause problems on sparc when compiled with -m32. (check-in: 5dcffa67 user: drh tags: trunk)
14:16
Documentation changes to warn that sqlite3_set_auxdata() might call the destructor even before it returns. Also fix the regexp extension to deal with that case. Ticket [406d3b2ef91c]. (check-in: 7acc8cd3 user: drh tags: trunk)
2013-07-17
21:08
Fix copy/paste errors in comments in the transitive_closure virtual table. No changes to code. (check-in: b1b0de29 user: drh tags: trunk)
18:12
Enhance the sqlite3_analyzer tool to give reports on the sizes of individual indices. (check-in: 3b4096cc user: drh tags: trunk)
11:54
Clear the error string pointer in sqlite3_vtab object after the error string is transferred to SQLite. Ticket [78588b938a11]. (check-in: 64bf8148 user: drh tags: trunk)
2013-07-16
23:26
Make sure the sqlite3_prepare16 and sqlite3_prepare16_v2 interfaces do not read past a zero-terminator if the nBytes parameter is too large. (check-in: 20dba3a7 user: drh tags: trunk)
21:31
Enhance the query planner so that it looks at multiple solutions to OR expressions in the WHERE clause. (check-in: 5e19d054 user: drh tags: trunk)
2013-07-15
17:02
Add the sqlite3_cancel_auto_extension(X) interface which will undo a prior call to sqlite3_auto_extension(X). (check-in: cdce87eb user: drh tags: trunk)
2013-07-12
21:09
Make sure the shell does not try to put a zero terminator on the end of an unallocated zero-length string when running ".import" on an empty file. (check-in: 92adaee5 user: drh tags: trunk)
2013-07-11
19:04
Change the description of how sqlite3_progress_handler() works so that the N parameter is "approximate". This aligns with the current implementation. This is a documentation change only. No changes to code. (check-in: 7d829bde user: drh tags: trunk)
15:31
Merge recent trunk changes (such as the query_only PRAGMA, the defer_foreign_keys PRAGMA, and the SQLITE_DBSTATUS_DEFERRED_FKS parameter to sqlite3_db_status()) into the sessions branch. (check-in: 8dfc0b78 user: drh tags: sessions)
15:22
Add the experimental "query_only" pragma. (check-in: 6557c407 user: drh tags: trunk)
15:03
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS value for sqlite3_db_status(). This is a cherry-pick of a sequence of five checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70]. (check-in: 527121ac user: drh tags: trunk)
13:49
Remove the undocumented sqlite3_foreign_key_check() API and replace it with sqlite3_db_status(db, SQLITE_DBSTATUS_DEFERRED_FKS, ...). Add test cases for the new functionality. (check-in: d39e65fe user: drh tags: sessions)
12:19
Rename the SQLITE_DeferForeignKeys macro to shorter SQLITE_DeferFKs. Move the "defer_foreign_keys" pragma into the flagPragma() routine. (check-in: 3a2ab74c user: drh tags: sessions)
03:09
Environment variable names in nmake must be in all uppercase. (check-in: 0328e873 user: mistachkin tags: vsix2013)
2013-07-10
21:33
More corrections to VS 2013 integration. (check-in: 7a8b0e36 user: mistachkin tags: vsix2013)
19:53
Use the VisualStudioVersion variable instead of _MSC_VER. (check-in: 603e9db8 user: mistachkin tags: vsix2013)
19:39
More changes to support MSVC 18. (check-in: 29c458e2 user: mistachkin tags: vsix2013)
18:14
Fix harmless compiler warnings in the progress callback logic. (check-in: 908141d5 user: drh tags: trunk)
13:33
Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. (Closed-Leaf check-in: ece960c4 user: drh tags: query_only)
03:05
Run progress callback checks less frequently in the main VDBE evaluation loop. This makes up for the extra CPU cycles used to increment the cycle counter for SQLITE_STMTSTATUS_VM_STEP. (check-in: 3e8b0201 user: drh tags: trunk)
2013-07-09
15:56
Adjust the costs in the xBestIndex function of the spellfix1 virtual table to force the use of the MATCH term if it is available. (check-in: f003bea9 user: drh tags: trunk)
13:05
Pull in all the latest changes from trunk. (check-in: af3ca4c6 user: drh tags: sessions)
12:36
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (check-in: 1e39f850 user: drh tags: trunk)
03:04
Make sure the schema is verified prior to processing a "WHERE 0" on the first term of a compound SELECT statement. Fix for ticket [490a4b723562429] (check-in: 52a49cbc user: drh tags: trunk)
2013-07-08
22:33
Make sure an adequate number of digits are shown for binary-to-text rendering of very small floating point values. (check-in: 776e65f9 user: drh tags: trunk)
21:12
Fix an adverse interaction between the IS NOT NULL optimization (available only with SQLITE_ENABLE_STAT3) and the transitive constraint processing. Fix for ticket [d805526eae253] (check-in: 3b30b75b user: drh tags: trunk)
01:27
Add an optional 5th parameter to the next_char() function that is the collating sequence to use for comparison. (check-in: 9415db6e user: drh tags: trunk)
2013-07-06
18:07
Fixes for test cases running in the "mmap" permutation. (check-in: cdb97d41 user: dan tags: trunk)
17:57
Drop any existing mapping of the database file when exiting the pager "error state", as it may at this point be too large for the database file. Do not invoke file-control MMAP_SIZE if the database file handle does not support xFetch and xUnfetch (on the grounds that xUnfetch(0) calls to invalidate the mapping cannot be made). (check-in: 0ae7e75b user: dan tags: trunk)
2013-07-05
19:16
Fix two test script problems revealed by permutations.test. (check-in: 60cf7e44 user: dan tags: trunk)
16:54
Replace an erroneous SQLITE_OMIT_VIRTUAL_TABLE in vdbeaux.c with SQLITE_OMIT_WAL. Also fix some test script problems. (check-in: ff8c3f78 user: dan tags: trunk)
11:10
Add missing "static" qualifier to functions in where.c. (check-in: 5c906e91 user: dan tags: trunk)
10:46
Make a couple of implicit casts explicit to fix compiler warnings. (check-in: 9676280a user: dan tags: trunk)
2013-07-04
23:53
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (Closed-Leaf check-in: f2ab8747 user: mistachkin tags: extRefactor)
15:22
Fix a bug preventing some FK constraint checking from being deferred until the end of changeset application. (check-in: 1452defb user: dan tags: sessions)
2013-07-03
19:53
Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset or to apply it, constraint violations and all. (check-in: 1d44e5d3 user: dan tags: sessions)
2013-07-02
20:23
Fixes for the sessions module so that it works with sqlite3_extended_error_codes() set. (check-in: c2972b6a user: dan tags: sessions)
15:25
Remove a surplus local variable (check-in: 91bc840e user: drh tags: trunk)
10:06
Fix a minor typo in a comment in where.c. (check-in: 4a9d51e7 user: dan tags: trunk)
00:06
Fix harmless typos in comments of two extensions. (check-in: 1c3ed47b user: drh tags: trunk)
2013-07-01
20:02
Add a query planner test case submitted by Elan Feingold and based on the Plex project. (check-in: 3d49c593 user: drh tags: trunk)
17:27
Add a missing test that prevented double LEFT JOINs with transitive constraints from working correctly. Fix for ticket [868145d012]. (check-in: 72919ec3 user: drh tags: trunk)
11:05
Further minor comment corrections and enhancements in where.c. (check-in: 0d68d4d0 user: drh tags: trunk)
10:38
Make a trivial comment fix in where.c. (check-in: 0ffaab3b user: drh tags: trunk)
2013-06-30
20:24
Fix an issue in the command-line shell with CSV import of rows with empty columns. (check-in: 60b65e5e user: drh tags: trunk)
2013-06-29
15:40
Fix the build of the command-line shell on windows. Windows uses "_pclose" rather than "pclose" as the pointer to the function that closes a popen pipe. (check-in: b003b2b2 user: drh tags: trunk)
2013-06-28
23:55
Issue the new SQLITE_WARNING_AUTOINDEX warning on the SQLite log whenever an automatic index is created. (check-in: 338826ef user: drh tags: trunk)
21:12
Add the SQLITE_DEFAULT_AUTOMATIC_INDEX compile-time option, which if set to zero turns automatic indices off by default. Increase the estimated cost of an automatic index. Additional minor refactoring of the automatic index code. (check-in: 459b3179 user: drh tags: trunk)
19:41
Allow read transactions to be freely opened and closed by SQL statements run from within the implementation of user-functions if the user-function is called by a SELECT statement that does not access any database tables (e.g. "SELECT user_function();"). (check-in: f308c485 user: dan tags: trunk)
17:29
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS option for sqlite3_file_control() that will disable the use of SQLITE_STAT3 information in the query planner. (check-in: 60c19b86 user: drh tags: trunk)
13:43
Fix an issue with the OmitNoopJoin optimization and add test cases that are specifically for that optimization. (check-in: 5480d124 user: drh tags: trunk)
01:24
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (check-in: 59f98c5c user: drh tags: trunk)
2013-06-27
23:54
Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". (check-in: 14f79696 user: drh tags: trunk)
19:12
Fix an error in e_expr.test. (check-in: fd4ece18 user: dan tags: trunk)