/ Timeline
Login

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

100 descendants and 100 ancestors of [269bf52e]

2018-01-05
11:34
Fix an LSM problem causing the wrong amount of "auto-work" to be performed under fairly obscure circumstances. check-in: a4876672 user: dan tags: trunk
07:57
Fix an LSM crash that could occur if LSM_CONFIG_AUTOFLUSH was set to 0. check-in: 05346f83 user: dan tags: trunk
01:22
Revise detection of 'tclsh.exe' in the Makefile for MSVC. check-in: 45fabd86 user: mistachkin tags: sqlar-shell-support
01:00
Enhance the 'zlib' build target for MSVC. check-in: 0bc3b76e user: mistachkin tags: sqlar-shell-support
00:53
Add missing #ifdef. check-in: a0e18aea user: mistachkin tags: sqlar-shell-support
2018-01-04
23:49
In the 'fileio' extension code for Win32, use the FILE_FLAG_BACKUP_SEMANTICS flag when setting the file times, just in case the file is actually a directory. check-in: 4f344406 user: mistachkin tags: sqlar-shell-support
22:50
Remove 'timespec' related code from the shell that has no effect and a (now) superfluous 'timespec' typedef from the Win32 dirent header file. check-in: 57dac995 user: mistachkin tags: sqlar-shell-support
22:46
Get the shell enhancements compiling with MSVC. check-in: 335387f9 user: mistachkin tags: sqlar-shell-support
19:54
Merge in all recent trunk enhancements. check-in: 406f7918 user: drh tags: sqlar-shell-support
19:20
Remove the snarky "_supported_" qualifier from the name of the sqlite_offset() SQL function. check-in: a6eee0fc user: drh tags: trunk
16:40
Fix a broken documentation hyperlink. No code changes. check-in: d91e3f3d user: drh tags: trunk
2018-01-03
23:54
Fix compiler warnings on Windows. check-in: 512b8e40 user: drh tags: memdb
23:40
New test cases and fixes for minor problems. check-in: e0da2cc3 user: drh tags: memdb
22:48
Miscellaneous code and comment cleanup. check-in: fa6069fb user: drh tags: memdb
19:03
Replace sqlite3_memdb_config() with sqlite3_deserialize(). Remove the "db memdb" command from the TCL interface, replacing it with "db serialize" and "db deserialize". check-in: 2f6e9df9 user: drh tags: memdb
16:49
Replace the sqlite3_memdb_ptr() interface with the more general sqlite3_serialize() interface. check-in: 8cf2ed4e user: drh tags: memdb
13:20
Simplify the "sqlite3" command in the TCL interface. The filename is now optional. There is a new --memdb option with an argument that is the blob to which the database content should be initialized. check-in: 47398ae7 user: drh tags: memdb
12:39
Fix typo in the Makefile for MSVC. check-in: e5c6ade8 user: mistachkin tags: memdb
01:47
Add another test case (found by OSSFuzz) for the problem fixed in check-in [2846458a] and described by ticket [dc3f932f5a147771]. No changes to code. check-in: 4165fae9 user: drh tags: trunk
01:28
Add support for the "memdb" VFS and the sqlite3_memdb_ptr() and sqlite3_memdb_config() interfaces, to enable an SQLite database to be manipulated as an in-memory object. check-in: fb2ac2d2 user: drh tags: memdb
2018-01-02
21:29
Fix code indentation. No logic changes. check-in: e115f258 user: drh tags: trunk
18:11
In the constraint resolution logic, be careful not to cache column values in registers whose initialization might be bypassed by an OP_NoConflict opcode. Fix for ticket [dc3f932f5a147771] reported by OSSFuzz. check-in: 2846458a user: drh tags: trunk
16:02
Enhance the memvfs extension so that it can be read/write. check-in: 04c9197d user: drh tags: trunk
13:48
Updates to the sqlite3_file_control() documentation. No changes to code. check-in: 240e32ab user: drh tags: trunk
12:50
Do not attempt to use pragma_module_list in the command-line shell unless it has been compiled with -DSQLITE_INTROSPECTION_PRAGMAS. check-in: 39ca5fcd user: drh tags: trunk
00:04
The ".schema" command in the command-line shell now shows the structure of table-valued functions and eponymous virtual tables if they are named on the ".schema" command line. Example: ".schema sql%" shows the structure of the "sqlite_dbstat" and "sqlite_stmt" virtual tables. check-in: f80f6651 user: drh tags: trunk
2018-01-01
21:49
Improved name quoting and escaping in the auxiliary column info section of the ".schema" output for views and virtual tables. check-in: d64b14e3 user: drh tags: trunk
21:28
In the output of ".schema", show the column names of virtual tables and views in a separate comment. check-in: 2234a87f user: drh tags: trunk
20:11
Minor simplification to the ".schema" logic in the command-line shell. check-in: add45c47 user: drh tags: trunk
19:33
Enable the introspection pragmas for command-line shell builds. check-in: 0b04223f user: drh tags: trunk
16:59
Experiments with the regexp.c extension, trying to get it to report the exact substring that matches the RE. Leaf check-in: 3d6fba62 user: drh tags: regexp-span
2017-12-30
18:32
Have zipfile support DELETE commands. check-in: 01d4e866 user: dan tags: sqlar-shell-support
14:26
Rearrange things a bit so that writing to a zipfile does not invert the order of objects it contains. check-in: f69e8194 user: dan tags: sqlar-shell-support
2017-12-29
20:19
Update ext/misc/zipfile.c to support creating and adding entries to existing zip archives. check-in: 2dec2dec user: dan tags: sqlar-shell-support
17:21
Add support for the sqlite_unsupported_offset() SQL function if and only if compiled using -DSQLITE_ENABLE_OFFSET_SQL_FUNC. Use that definition when compiling the command-line shell. check-in: 4f1f1f52 user: drh tags: trunk
16:37
Stricter test cases. Closed-Leaf check-in: 9406c0a6 user: drh tags: location-function
15:19
Fix a typo in the MSVC makefile. check-in: 89e5720a user: drh tags: location-function
15:04
Change the function name to sqlite_unsupported_offset(X). Only enable the function if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. The makefiles add that definition to shell builds. check-in: 7a7f826e user: drh tags: location-function
14:33
Enhance location(X) so that it works with indexes and WITHOUT ROWID tables. The function might return an offset to the main table or to an index, depending on whether the column X would be loaded from the main table or from the index. check-in: dd94d6a8 user: drh tags: location-function
13:35
Merge recent enhancements from trunk. check-in: 6251e438 user: drh tags: location-function
12:50
Add test cases for the undocumented behavior of duplicate columns on an INSERT or UPDATE. check-in: f4349c0c user: drh tags: trunk
2017-12-27
22:09
The output of sqlite3_trace() now shows each command of a trigger as it is evaluated. This feature involved major changes to the parser, such as removing the ExprSpan object and replacing it with a new mechanism for capturing the original SQL text of phrases in the input SQL. check-in: 0fdf97ef user: drh tags: trunk
21:30
Omit all sqlite3_trace() output from the triggers associated with foreign key constraints. Closed-Leaf check-in: fda08e3d user: drh tags: span-refactor
21:13
Improve the shell tool ".ar --list --verbose" command. check-in: b64681a6 user: dan tags: sqlar-shell-support
20:38
Show the text of individual statements within a trigger, as they execute, as comments in the output from sqlite3_trace() and sqlite3_trace_v2(). check-in: fe3d2b97 user: drh tags: span-refactor
19:43
Add and use the internal sqlite3DbSpanDup() interface. check-in: a8e1545c user: drh tags: span-refactor
19:27
Merge recent enhancements from trunk. check-in: 76373091 user: drh tags: span-refactor
18:54
Have the shell tool ".ar --list" and ".ar --extract" commands support zip files. Currently the "-zip" switch is required. check-in: a532a0f6 user: dan tags: sqlar-shell-support
18:19
Enhance the Lemon parser generator so that it creates a faster parser at the cost of slightly larger parser tables. Add the ability to measure coverage of the generated state machine when compiling with the -DYYCONVERGE option. In SQLite, add the SQLITE_TESTCTRL_PARSER_COVERAGE test-control to query the new parser coverage feature. check-in: 1b22b42e user: drh tags: trunk
17:36
The previous check-in had an error in the coverage reporting logic. Closed-Leaf check-in: ec9b19eb user: drh tags: lemon-improvements
17:14
Change the coverage measurement logic in the lemon-generated parser so that it only checks for coverage of state/lookahead pairs that are valid syntax. It turns out that some states are unreachable if the lookahead is not valid syntax, because the states are only reachable through a shift following a reduce, and the reduce does not happen if the lookahead is a syntax error. check-in: 9dce4650 user: drh tags: lemon-improvements
16:13
In the lemon-generated parser, do not report the End-of-input character and the wildcard character as missed coverage. check-in: 3fe96487 user: drh tags: lemon-improvements
15:21
In LEMON, fix an off-by-one error that can make the lookahead table one byte too smal. check-in: 93792bc5 user: drh tags: lemon-improvements
2017-12-26
20:39
Add new file ext/misc/zipfile.c, containing a virtual table for read-only access to simple zip archives. check-in: 8e366b99 user: dan tags: sqlar-shell-support
18:32
Change the lemon-parser coverage report format to report all state/lookahead pairs and indicate on each whether it is hit or missed. check-in: 86e30fc2 user: drh tags: lemon-improvements
18:14
Merge bug fixes from trunk. check-in: d76e1206 user: drh tags: lemon-improvements
18:04
Add support for measuring and reporting coverage of the parser state machine using the SQLITE_TESTCTRL_PARSER_COVERAGE test-control. check-in: 1253a872 user: drh tags: lemon-improvements
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
18:00
Fix the fts3EvalAverageDocsize() routine so that it returns errors from sqlite3_reset() rather than always returning SQLITE_OK. check-in: 430f539c user: drh tags: trunk
17:54
Reuse the same materialization of a view when that view appears in a query more than once, such as in a self-join. check-in: 9e35c89d user: drh tags: trunk
16:55
Move terms of the HAVING clause that reference only columns in the GROUP BY clause over to the WHERE clause, resulting in a faster query plan. check-in: 47cbb471 user: drh tags: trunk
16:46
Additional comments on the sqlite3ExprIsConstantOrGroupBy() routine. No code changes. Closed-Leaf check-in: 8424492e user: drh tags: having-where-optimization
01:30
Fix typo in comment. No changes to code. check-in: 6674814a user: mistachkin tags: trunk
2017-05-01
19:53
Remove an unnecessary branch. check-in: a3317959 user: drh tags: having-where-optimization
18:24
Enhance "PRAGMA integrity_check" to detect duplicate rowids within a leaf page. check-in: adcad37b user: dan tags: trunk
18:12
Clear the BTCF_ValidNKey flag set if a cursor is moved by sqlite3BtreeInsert(). Fix for [f68dc596c4]. check-in: a6727eef user: dan tags: trunk
17:04
Futher bug fixes to the function that determines when a materialized view can be reused. Closed-Leaf check-in: c64fe3a1 user: drh tags: materialized-view-reuse
16:37
Minor bug fixes and performance enhancement. check-in: b2aae559 user: drh tags: materialized-view-reuse
15:15
Initial implementation of an optimization that attempts to reuse the same materialization of a view on a self-join of the view. check-in: 478c34b9 user: drh tags: materialized-view-reuse
14:25
Update this branch with latest trunk changes. check-in: 11f4761c user: dan tags: schemalint
14:09
Add extra tests for the optimization on this branch. check-in: 4921cd95 user: dan tags: having-where-optimization
2017-04-29
20:53
Automatically transfer terms from the HAVING clause to the WHERE clause of an aggregate query in cases where the result of evaluating the term depends only one one or more of the GROUP BY expressions (and on no other inputs). check-in: 5375a3ce user: dan tags: having-where-optimization
19:29
Add a single testcase() macro to the subquery processing logic. check-in: 4e1df76e user: drh tags: trunk
18:02
Improvements to opcode documentation in the bytecode engine. No changes to code. check-in: e54c9f8d user: drh tags: trunk
15:27
Evaluate WHERE clause terms that reference only the index before evaluating terms that require the table, and thereby avoid seeking the table row if index terms are false. This is called the "push-down" optimization in the MySQL world, we are told. check-in: d7bb79ed user: drh tags: trunk
14:56
Minor size and performance improvements to the push-down optimization. Closed-Leaf check-in: 91dfb61a user: drh tags: pushdown-optimization
2017-04-28
19:59
Within a loop that uses a non-covering index test, test non-indexed terms that can be tested without seeking the main table cursor before those that cannot. check-in: afe68f0a user: dan tags: pushdown-optimization
2017-04-26
17:21
Add new test file cachespill.test. check-in: 2d0b6431 user: dan tags: trunk
14:34
Replace <fts5.h> with "fts5.h" in test file fts5_test_tok.c. check-in: 63d9ca5c user: dan tags: trunk
04:32
Fix a subtle bug in Lemon discovered and reported on the mailing list by Kelvin Sherlock, who also suggested the correct fix. check-in: 304689f8 user: drh tags: trunk
2017-04-24
14:16
When building an ephemeral table of integers, do not assume that the table does not already contain N if the insert cursor points to N-1. Fix for ticket [61fe9745]. check-in: 1c1b0862 user: dan tags: trunk
2017-04-22
00:20
Fix an assertion fault found by OSSFuzz. check-in: e39769f4 user: drh tags: trunk
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
17:03
Remove a NEVER macro for a condition that may be true as of [a47efb7c]. Problem reported by OSSFuzz. check-in: bdc50d8d user: dan tags: trunk
16:04
Fix an FTS5 bug that could cause a prefix-query without a prefix-index on a database that contains delete-markers to return extra, non-matching, rows. check-in: 840042cb user: dan tags: trunk
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-19
13:25
Further improvements to coverage of fts3 module. check-in: 6b21d0fd user: dan tags: trunk
07:33
Further modifications and test cases to improve test coverage of fts3. check-in: ea8a0d2c user: dan tags: trunk
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
13:50
Use sqlite3_table_column_metadata() instead of a SELECT statement to check for the existence of a %_stat table in fts3. This leads to smaller and easier to test code. check-in: dc2a4802 user: dan tags: trunk
11:20
Improved optimizations of views as the right operand of a LEFT JOIN. check-in: 41c27bc0 user: drh tags: trunk
09:04
Fix sqlite3_expert handling of triggers on views. check-in: ff4976da user: dan tags: schemalint
05:49
Refactor the fts3ColumnMethod() function so that all branches can be covered. check-in: e47fdb49 user: dan tags: trunk
2017-04-17
23:23
Defer checking for null in the comparison operators, since that is an uncommon case. check-in: 56845256 user: drh tags: trunk
20:50
Do not allow a Mem object to be both NULL and some other type at the same time. check-in: e698db19 user: drh tags: trunk
18:42
Consolidate two branches of code in the "PRAGMA foreign_key_check" implementation. check-in: 69f51f83 user: dan tags: trunk
18:02
Fix a problem in "PRAGMA foreign_key_check" in handling a WITHOUT ROWID child table with an INTEGER PRIMARY KEY parent key. Also, if an FK violation is detected in a WITHOUT ROWID child table, do not try to read and return the rowid. The second column returned by "PRAGMA foreign_key_check" in this case (WITHOUT ROWID child table) is now always set to NULL. check-in: 690870bd user: dan tags: trunk
17:03
Add support for analyzing trigger programs to the sqlite3_expert code. check-in: 159e8022 user: dan tags: schemalint
16:07
Further improvements to test coverage in fts3. check-in: 352413ee user: dan tags: trunk
13:38
Improve coverage of code in fts3. check-in: 1a08a836 user: dan tags: trunk
13:18
Fix the ".column" output mode in the command-line shell so that it correctly counts and formats multi-byte UTF characters. check-in: f508aff8 user: drh tags: trunk
2017-04-16
22:41
In the showwal command-line tool, for unix builds, if the auxiliary argument is of the form "Ntruncate" where "N" is a frame number, then truncate the WAL file after the N-th frame. check-in: 90015df3 user: drh tags: trunk
22:08
Add the anycollseq.c loadable extension in etc/misc check-in: d7b9813c user: drh tags: trunk
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
11:53
In the skip-ahead-distinct optimization, fix a bug in the logic that determines when to invoke the optimization based on sqlite_stat1 statistics. check-in: 89f9e436 user: drh tags: trunk
2017-04-14
22:41
Fix to the decision logic for when to use the skip-ahead-distinct optimization. Closed-Leaf check-in: e50fd489 user: drh tags: skip-ahead-distinct
19:46
Remove end-of-line whitespace from lemon.c. check-in: d78355c8 user: drh tags: trunk
19:44
Fix some left-over K&R-C constructs in lemon.c. No changes to the core. check-in: a5379905 user: drh tags: trunk
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
19:03
Add the TK_IF_NULL_ROW opcode to deal with non-NULL result columns in the result set of a view or subquery on the RHS of a LEFT JOIN that gets flattened. Closed-Leaf check-in: 3a5860d8 user: drh tags: left-join-view
17:30
When doing a DISTINCT query using an index, try to use the index to skip ahead to the next distinct element, rather than doing a full scan of the index. (This is the "skip-ahead-distinct" optimization.) check-in: f489b5bb user: drh tags: trunk
17:18
An initial attempt to optimize VIEWs that occur as the right operand of a LEFT JOIN. This particular check-in does not work correctly because it does not deal with the case of columns in the VIEW that return non-NULL even when all columns in the table of the VIEW are NULL because of the LEFT JOIN. check-in: 1838a59c user: drh tags: left-join-view
14:50
Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings. check-in: 6bf67376 user: mistachkin tags: trunk
14:02
Enhance the sqlite3TreeView() display for Expr objects so that it shows the iRightJoinTable value for Expr nodes that have the EP_FromJoin property. check-in: 5159cb8f user: drh tags: trunk
12:39
Simplify the interface to the subst() routines that are part of the query flattener by collecting common parameters into the SubstContext object and passing around a pointer to that object. check-in: e651074b user: drh tags: trunk
12:27
Remove an incorrect ALWAYS(). check-in: f956f6ae user: drh tags: trunk
00:45
Fix a couple of unreachable branches. check-in: 1aa0ea8d user: drh tags: skip-ahead-distinct
2017-04-13
21:29
Fix the skip-ahead-distinct optimization so that it works with indexes that have repeated columns with different collating sequences. check-in: ce1e2b88 user: drh tags: skip-ahead-distinct
19:48
Simplification of the skip-ahead-distinct logic. There is still an issue with handling COLLATE. check-in: 57c5173b user: drh tags: skip-ahead-distinct
18:33
New test cases and minor fixes for the optimization on this branch. check-in: 70ac9ea1 user: dan tags: skip-ahead-distinct
16:19
Update this branch with latest changes from trunk. check-in: 5fcd840c user: dan tags: schemalint
15:51
Reinstate the SQLITE_API qualifier on the sqlite3_delete_database() method in test_delete.c. Accidentally removed by the previous commit. check-in: 59c70108 user: dan tags: trunk
15:36
Update the code in test_delete.c to use the "win32" VFS if SQLITE_OS_WIN is defined. check-in: fa9bb7b7 user: dan tags: trunk
13:01
Only use the skip-ahead-distinct optimization if the index has been analyzed and we know that a skip-head is likely to skip over at least 11 rows. The magic number 11 was determined by experimentation. check-in: 0cf16dec user: drh tags: skip-ahead-distinct
09:45
Allow a user column name to be used on the LHS of a MATCH operator in FTS5. check-in: 6f54ffd1 user: dan tags: trunk
01:19
Forward port the skip-ahead-distinct branch which was abandoned for some reason that I do not recall. This port should have been achived by a merge of trunk into the previous head of skip-ahead-distinct, but that did not work. So I had to manually "rebase" the changes. check-in: 132339a1 user: drh tags: skip-ahead-distinct
00:12
Fix a regression caused by the fix for ticket [6c9b5514077fed34551f98e64c09a1] - control characters allowed in JSON. check-in: 8e7b6118 user: drh tags: trunk
2017-04-12
17:50
Update fts5 to support "<colset> : ( <expr> )" for column filtering, as well as "<colset> : NEAR(...)" and "<colset> : <phrase>". check-in: c847543f user: dan tags: trunk
17:38
Improved \n and \r escapes in the ext/misc/dbdump.c utility function. The implementation of dbdump.c now matches the implementation in the CLI. check-in: f2643315 user: drh tags: trunk
2017-04-11
20:48
Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. check-in: 7aae5c0f user: dan tags: trunk
19:58
Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. Closed-Leaf check-in: 477bea9e user: dan tags: fkey-optimization
19:00
Update this branch with latest trunk changes. check-in: 0f66a093 user: dan tags: schemalint
18:55
Limit the depth of recursion for valid JSON in the JSON1 extension in order to avoid using excess stack space in the recursive descent parser. Fix for ticket [981329adeef51011052667a9]. check-in: 1f68c184 user: drh tags: trunk
18:29
Fix a formatting issue in the output of the sqlite3_expert program. check-in: cc8c3581 user: dan tags: schemalint
18:06
Smaller and faster implementation of exprMightBeIndexed(). check-in: 76cd611d user: drh tags: trunk
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
16:44
Very slight smaller and faster sqlite3SelectNew() check-in: 4143650c user: drh tags: trunk
12:20
Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow(). check-in: 0f3eb61f user: drh tags: trunk
11:52
Fix a segfault that could occur if an indexed expression was used in a comparison operation within the result-set of a SELECT statement. check-in: d6bb7c42 user: dan tags: trunk
01:30
When evaluating a query that uses an index on an expression, try to use the expression values read directly from the index rather than reevaluating the expression. check-in: a47efb7c user: drh tags: trunk
01:01
Improved comments. Fix a problem when an indexed expression is used in an ORDER BY clause. Closed-Leaf check-in: c59eaf2b user: drh tags: covering-index-on-expr
2017-04-10
23:42
Merge changes from trunk. check-in: 8978465f user: drh tags: covering-index-on-expr
20:51
Smaller and faster vdbeFreeOpArray() check-in: e052436d user: drh tags: trunk