SQLite
Timeline
Not logged in

205 check-ins going from [release] to [trunk]

2017-06-24
19:21
[c8186874] Leaf: Disable shell tests for the .schema command if virtual tables are not available. (user: drh, tags: trunk)
16:35
[c2ea6293] Make sure the config.h header is included by ctime.c, if that header exists. (user: drh, tags: trunk)
16:03
[f0ec36d4] Query planner tuning: When deciding between two plans with the same cost, bias the selection toward the one that does not use the sorter. (user: drh, tags: trunk)
13:31
[0583b84a] Make sure enough memory is allocated for pathological quoting cases when computing a quoted table name in the command-line shell. (user: drh, tags: trunk)
2017-06-23
15:47
[712267c9] When generating individual loops for each ORed term of an OR scan, move any constant WHERE expressions outside of the loop, as is done for top-level loops. (user: dan, tags: trunk)
2017-06-21
01:36
[118f7bb3] Enable pragma virtual tables for the integrity_check, quick_check, and foreign_key_check pragmas. (user: drh, tags: trunk)
2017-06-20
18:19
[94e420ec] Rename the azCompileOpt global constant to avoid a harmless compiler warning about a name conflict with a local variable. (user: drh, tags: trunk)
17:43
[48346268] Ensure that the query planner knows that any column of a flattened LEFT JOIN can be NULL even if that column is labeled with "NOT NULL". Fix for ticket [892fc34f173e99d8]. (user: dan, tags: trunk)
2017-06-17
18:49
[f3db02f4] Fix a missing comma in the previous check-in. (user: drh, tags: trunk)
17:55
[9a443397] Rework the code in ctime.c a bit to report on more compile time options. And to only output configuration options passed in to SQLite, not the default values of #define symbols set automatically. Also generate the large array in ctime.c using new script tool/mkctime.tcl, instead of entering it manually. (user: dan, tags: trunk)
16:39
[603838fc] Add extra test cases for sqlite3changeset_apply() and ALTER TABLE ADD COLUMN. (user: dan, tags: trunk)
09:59
[036ebf72] Leaf: Version 3.18.2 (user: drh, tags: release, branch-3.18, version-3.18.2)
00:39
[e1b71029] 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]. Also increase the version number to 3.18.2. This is the release candidate. (user: drh, tags: branch-3.18)
2017-06-16
18:31
[3944a32e] Minor refactoring change to clarify how ATTACH works. No functional changes. (user: drh, tags: trunk)
13:43
[11693849] Prevent pagesize changes on VACUUM in encrypted databases even when running the VACUUM on an attached database. (user: drh, tags: trunk)
13:41
[77bb4623] Version 3.18.1 (user: drh, tags: release, branch-3.18, version-3.18.1)
12:15
[20e5ffb1] An unintentional fork was created due to a typo when creating branch-3.18. This check-in resolves the fork and is the 3.18.1 release candidate. (user: drh, tags: branch-3.18)
2017-06-15
16:56
[254617a1] Move the "shell_add_schema()" SQL function used by the ".schema" command of the command-line shell to a different spot in the shell.c source file so that it is not in the middle of an unrelated module. (user: drh, tags: trunk)
16:45
[ca1ff707] Fix typo and improve the wording of the description of "Metadata" in the output of the sqlite3_analyzer tool. (user: drh, tags: trunk)
13:07
[9afd7a2f] Fix harmless compiler warnings in the shell.c file (user: drh, tags: trunk)
12:50
[c7f778b7] Improvements to the ".tables" command in the command-line shell so that it shows the name of all schemas if the name is anything other than "main". (user: drh, tags: trunk)
12:21
[48e08628] In the command-line shell, enhance the ".schema" command show that it shows the schema for ATTACH-ed databases in addition to "main". (user: drh, tags: trunk)
07:47
[4be2eba8] Increase the version number to 3.18.1. (user: drh, tags: branch-3.18)
00:52
[43ad41ef] Enhance the sqlite3_analyzer.exe utility so that it computes and shows the number of bytes of metadata on btree pages and per table and index entry. (user: drh, tags: trunk)
2017-06-13
16:52
[c433672d] Fix sqlite3rbu_close() so that the pzErrmsg parameter may be passed NULL. (user: dan, tags: trunk)
04:31
[35b34bdf] Fix the processing of double-negatives in WHERE clause constraints with STAT4. Ticket [cfa2c908f2182] (user: drh, tags: trunk)
2017-06-11
20:17
[0bbdaf28] Fix an off-by-one error that messes up the display of loop codes in the ".wheretrace" debugging output for queries with more than 62 candidate loops when SQLITE_ENABLE_WHERETRACE is on. (user: drh, tags: trunk)
19:51
[87aceb41] When reusing a materialized view, make sure the estimated number of output rows is correctly initialized to avoid confusing the query planner. (user: drh, tags: trunk)
19:40
[8f92b7a6] Fix the sessiondiff test module so that it does not run if the session extension is not enabled. (user: drh, tags: trunk)
18:26
[a2f77285] Fix a potential null-pointer deference following OOM introduced by check-in [e39795d7] (unreleased). (user: drh, tags: trunk)
2017-06-09
11:43
[2881ab1e] Update the documentation to make it clear that the table name parameter to sqlite3_table_column_metadata() may not be NULL. (user: drh, tags: trunk)
02:27
[3168e2c9] Adjust the implementation of the ".selftest" feature of the shell to avoid using the deprecated sqlite3_get_table() interface. (user: drh, tags: trunk)
2017-06-08
14:35
[343e5599] Add a testcase() to confirm that an OOM on sqlite3DbStrNDup() is handled correctly in trigger.c. (user: drh, tags: trunk)
11:14
[b30dfba8] Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. (user: dan, tags: trunk)
2017-06-07
22:32
[e39795d7] In SQLITE_DEBUG mode, attempt to log the page number of the database that contained the problem when SQLITE_CORRUPT errors are seen. (user: drh, tags: trunk)
2017-06-06
18:20
[234ede26] Add the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated number of rows in tables that lack sqlite_stat1 entries. (user: drh, tags: trunk)
2017-06-05
19:20
[9eea3670] Fix a subtle bug in the remember UDF of the kvtest.exe utility program. (user: drh, tags: trunk)
16:33
[73c70590] Fix a bug in test_fs.c that occurs when the first component of a path contains a GLOB or LIKE escape character. (user: dan, tags: trunk)
13:28
[f3c25df4] For the kvtest utility, add the --vacuum option to "kvtest stat" and also run PRAGMA integrity_check with "kvtest stat". (user: drh, tags: trunk)
12:29
[ed0842c1] Fix the column width deduction logic in the command-line shell to account for multi-byte utf8 characters. (user: drh, tags: trunk)
10:31
[ead29f9c] Omit some of the fstree tests in vtabH if the PWD contains LIKE wildcards. (user: drh, tags: trunk)
2017-06-03
20:09
[65182ce0] Initialize a variable to zero to prevent an (incorrect) compiler warning of it potentially being uninitialized. (user: drh, tags: trunk)
19:16
[c4089ffb] Fix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on Macs. (user: drh, tags: trunk)
18:27
[dd7e043f] Remove unused header file from kvtest. (user: drh, tags: trunk)
17:24
[f568f666] In kvtest, add the ability to work with a hierarchy of files on disk, in addition to having all files in the same directory. (user: drh, tags: trunk)
15:17
[5828633c] Add the --nocheckpoint and --multitrans options to kvtest. (user: drh, tags: trunk)
2017-06-02
23:32
[7fdc78a6] Add the --fsync flag to kvtest, and document the --nosync flag. (user: drh, tags: trunk)
19:31
[fc73e7d2] Work toward enhancing kvtest to measure write performance. (user: drh, tags: trunk)
15:44
[ab33d299] Change the name of the OP_Seek opcode into OP_DeferredSeek for better clarity of function. No functional code changes. (user: drh, tags: trunk)
13:16
[d637feb4] Fix a typo in the header comment of the "series.c" virtual table extension. (user: drh, tags: trunk)
2017-06-01
01:53
[4c2458c1] Add a comment to the Lemon documentation regarding the security of the lemon.exe command-line tool. (user: drh, tags: trunk)
2017-05-31
17:30
[c26cf978] Add the SQLITE_STMTSTATUS_MEMUSED opcode to sqlite3_stmt_status() for finding the heap memory usage by a single prepared statement. (user: drh, tags: trunk)
16:09
[cb4c5c66] Add the experimental "stmts" virtual table for introspection of prepared statements. (user: drh, tags: trunk)
13:45
[df785943] Avoid allocating excess memory to the KeyInfo objects. (user: drh, tags: trunk)
13:27
[7d58836b] Remove a completely unnecessary memset() from the INSERT code generator. (user: drh, tags: trunk)
11:24
[8885b446] Very small performance increase in sqlite3VdbeSetNumCols(). (user: drh, tags: trunk)
03:20
[326e63d7] Reorder fields in the PgHdr object for a performance increase. (user: drh, tags: trunk)
02:58
[de28e651] Avoid unnecessary memory zeroing during expression list allocation. (user: drh, tags: trunk)
00:49
[af8c0fed] Size and performance optimizations to sqlite3ResolveExprNames(). (user: drh, tags: trunk)
2017-05-30
18:34
[e972a386] Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return SQLITE_DONE if they have already reached the end (or beginning) of the table. This gives a performance increase and size reduction. (user: drh, tags: trunk)
18:14
[69ae6889] Omit a test of codepoint 0x202F (non-break narrow space) from the fts3 ICU tests. Different versions of ICU apparently handle this obscure codepoint slightly differently. (user: dan, tags: trunk)
2017-05-29
22:44
[9a3e3b34] More efficient error handling and reset in the binding mechanism. (user: drh, tags: trunk)
17:59
[dd61c736] Omit unnecessary fstat() calls for determining the database file size, resulting in smaller and faster code. (user: drh, tags: trunk)
17:43
[43ce3bd3] Fix an issue with OPT_FEATURE_FLAGS in configure.ac. (user: drh, tags: trunk)
14:30
[cb29b838] Fix a typo in a comment. No code changes. (user: drh, tags: trunk)
14:26
[6854a34e] Optimizations to the Walker object and its methods to make the code a little smaller and to help it run a little faster. (user: drh, tags: trunk)
13:09
[43c9ae37] Correctly initialize the iSelectId of FROM clause terms that are a self join of a reused materialized subquery. Without this, the EXPLAIN QUERY PLAN output for the query will identify the subquery using the uninitialized (and arbitrary) iSelectId. (user: drh, tags: trunk)
03:48
[7cc940a9] Improve shell help text for the '.open' command. (user: mistachkin, tags: trunk)
2017-05-27
22:42
[542dc4c5] Smaller and faster vdbeSorterCompareText(). (user: drh, tags: trunk)
2017-05-25
21:35
[6f415833] Small performance increase and size decrease in the btreeInitPage() routine. (user: drh, tags: trunk)
17:27
[6513e4a1] Merge the LEFT JOIN query flattener fixes from 3.19.2. (user: drh, tags: trunk)
00:08
[77fc2301] The TK_IF_NULL_ROW expression node must be treated as a variable that references the table Expr.iTable. Proposed fix for ticket [7fde638e94287d2c]. (user: drh, tags: trunk)
2017-05-24
15:32
[57a60e95] Fix harmless compiler warnings in FTS5. (user: mistachkin, tags: trunk)
04:18
[cfb0d9e0] Fix a problem in STAT4 equality estimation for multi-column indexes introduced by check-in [3e0590dee0e68cc1599]. (user: drh, tags: trunk)
2017-05-23
20:00
[84996aef] Remove the msvc.h header file from the autoconf tarball. (user: drh, tags: trunk)
19:35
[4440e420] Do not use strcpy() in the (obsolete) amatch extension. In releasetest.tcl, run Apple tests using -Os instead of -O1 (user: drh, tags: trunk)
15:21
[44b21e35] Disable the LEFT JOIN flattening optimization for aggregate queries, as it does not currently work. Further fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: trunk)
12:36
[941d8142] Ensure that the expression rewriter inside the query flattener decends into the substructure of the TK_IF_NULL_ROW operator. This is a continuation of the fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: trunk)
01:21
[92c17850] When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW operators (that result from a prior flattening of a LEFT JOIN) are updated correctly. Fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: trunk)
00:32
[987a2b55] Remove a surplus semicolon, which was harmless on gcc and clang but caused compile-time errors on msvc. This only comes up using the encryption extension. (user: drh, tags: trunk)
2017-05-22
18:09
[0bb23c48] Fix incompatibilities between the "sqldiff --changeset" command and the sessions module. Specifically, allow sessions to process changesets containing tables with zero operations on them and have sqldiff output the expected output for tables with multi-column primary keys. (user: dan, tags: trunk)
18:00
[5fe28e15] Add the ".cd" command to the command-line shell. (user: drh, tags: trunk)
17:39
[ab471f61] Increase the version number to 3.20 for the next release cycle. (user: drh, tags: trunk)
14:04
[e6ba2a93] Merge the last-minute 3.19.0 changes into trunk. (user: drh, tags: trunk)
08:04
[3ea2bad2] Fix a case where NULL was being passed to memcmp() following an OOM. This is probably not a real problem, as the number-of-bytes parameter was passed 0 in this case, but it was causing a santizer complaint. (user: dan, tags: trunk)
00:45
[f261678c] When planning a query using sorting, resolve ties in the solver by selecting loop plans with the smaller unsorted cost. (user: drh, tags: trunk)
2017-05-19
22:51
[c2de178f] Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. (user: drh, tags: trunk)
20:55
[946b87a5] Improved comments on one routine in the query planner. Improved diagnostic output for ".wheretrace". No production code changes. (user: drh, tags: trunk)
20:47
[68942a4f] Fix a documentation typo. No changes to code. (user: drh, tags: trunk)
12:32
[35f72104] Fix some problems in fts5 code detected by -fsanitize=undefined. (user: dan, tags: trunk)
2017-05-16
09:49
[7940bff3] Update the tool/warnings.sh script to automatically use the right options on OpenBSD. (user: dan, tags: trunk)
2017-05-15
15:12
[bb0d9281] Fix the build so that it works again with SQLITE_OMIT_SUBQUERY. (user: drh, tags: trunk)
15:05
[0f05d7e9] Improvements to the omittest.tcl script. (user: drh, tags: trunk)
2017-05-12
14:05
[a123cb93] Make sure the 'sqlite3changegroup_*' functions are included in the SQLITE_APICALL handling. (user: mistachkin, tags: trunk)
2017-05-11
19:09
[339df63f] Add another test case for the new authorizer functionality. (user: dan, tags: trunk)
18:42
[3ba9e7ab] Enhance the json_extract() function to reuse parses of the same JSON when the function appears multiple times in the same query. (user: drh, tags: trunk)
18:14
[9a2de4f0] Do not save the state of an fts5 merge operation mid-way through an input term, even if no previous entry for that term has caused any output. Doing so may corrupt the FTS index. (user: dan, tags: trunk)
13:43
[3980ea09] New requirements marks and documentation for the authorizer. (user: drh, tags: trunk)
12:27
[47629b19] Improvements to the sqlite3_set_authorizer() documentation. (user: drh, tags: trunk)
12:05
[4139953a] Change the SQLITE_READ authorization call for unreferenced tables to use an empty string for the column name, as this is less likely to impact legacy authorization callbacks that assume column names are always non-NULL. (user: drh, tags: trunk)
2017-05-10
19:42
[2be9850c] Rename fields of the internal AuxData object to make them unique and easier to search for. (user: drh, tags: trunk)
16:33
[92c5ea70] Improved documentation for the SQLITE_READ authorizer callback. No code changes. (user: drh, tags: trunk)
16:12
[92ab1f72] Invoke the SQLITE_READ authorizer callback with a NULL column name for any table referenced by a query but from when no columns are extracted. (user: drh, tags: trunk)
13:36
[30018d31] Fix a couple of test scripts so that they work with -DSQLITE_DISABLE_FTS4_DEFERRED builds. (user: dan, tags: trunk)
12:58
[199b2a84] Avoid unnecessary codec operations on in-memory subjournals. (user: drh, tags: trunk)
2017-05-06
18:09
[04e7e565] Fix an obscure assertion fault that can follow an OOM. The problem was introduced by check-in [a1cf44763277b6c7]. (user: drh, tags: trunk)
17:12
[198ff4c0] Fix requirements marks and harmless compiler warnings. (user: drh, tags: trunk)
2017-05-04
11:13
[b9a58dac] Fix a collision of the "B0" identifier name between the termios.h header file and the SHA3 implementation in the shell. (user: drh, tags: trunk)
2017-05-03
19:36
[e24b7382] Remove the unused "sqlite3_stack_used" TCL command from the test harness. (user: drh, tags: trunk)
17:44
[05eba9e3] Fix the sqlite3GetInt32() function so that it correctly returns 0 on a zero-length input string. (user: drh, tags: trunk)
15:54
[31a51b4d] Always enable URI filenames when compiling with SQLITE_HAS_CODEC. Also allow plaintext keys using the key= query parameter. (user: drh, tags: trunk)
2017-05-02
18:00
[430f539c] Fix the fts3EvalAverageDocsize() routine so that it returns errors from sqlite3_reset() rather than always returning SQLITE_OK. (user: drh, tags: trunk)
17:54
[9e35c89d] Reuse the same materialization of a view when that view appears in a query more than once, such as in a self-join. (user: drh, tags: trunk)
16:55
[47cbb471] 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. (user: drh, tags: trunk)
01:30
[6674814a] Fix typo in comment. No changes to code. (user: mistachkin, tags: trunk)
2017-05-01
18:24
[adcad37b] Enhance "PRAGMA integrity_check" to detect duplicate rowids within a leaf page. (user: dan, tags: trunk)
18:12
[a6727eef] Clear the BTCF_ValidNKey flag set if a cursor is moved by sqlite3BtreeInsert(). Fix for [f68dc596c4]. (user: dan, tags: trunk)
2017-04-29
19:29
[4e1df76e] Add a single testcase() macro to the subquery processing logic. (user: drh, tags: trunk)
18:02
[e54c9f8d] Improvements to opcode documentation in the bytecode engine. No changes to code. (user: drh, tags: trunk)
15:27
[d7bb79ed] 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. (user: drh, tags: trunk)
2017-04-26
17:21
[2d0b6431] Add new test file cachespill.test. (user: dan, tags: trunk)
14:34
[63d9ca5c] Replace <fts5.h> with "fts5.h" in test file fts5_test_tok.c. (user: dan, tags: trunk)
04:32
[304689f8] Fix a subtle bug in Lemon discovered and reported on the mailing list by Kelvin Sherlock, who also suggested the correct fix. (user: drh, tags: trunk)
2017-04-24
14:16
[1c1b0862] 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]. (user: dan, tags: trunk)
2017-04-22
00:20
[e39769f4] Fix an assertion fault found by OSSFuzz. (user: drh, tags: trunk)
2017-04-21
17:03
[bdc50d8d] Remove a NEVER macro for a condition that may be true as of [a47efb7c]. Problem reported by OSSFuzz. (user: dan, tags: trunk)
16:04
[840042cb] 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. (user: dan, tags: trunk)
2017-04-19
13:25
[6b21d0fd] Further improvements to coverage of fts3 module. (user: dan, tags: trunk)
07:33
[ea8a0d2c] Further modifications and test cases to improve test coverage of fts3. (user: dan, tags: trunk)
2017-04-18
13:50
[dc2a4802] 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. (user: dan, tags: trunk)
11:20
[41c27bc0] Improved optimizations of views as the right operand of a LEFT JOIN. (user: drh, tags: trunk)
05:49
[e47fdb49] Refactor the fts3ColumnMethod() function so that all branches can be covered. (user: dan, tags: trunk)
2017-04-17
23:23
[56845256] Defer checking for null in the comparison operators, since that is an uncommon case. (user: drh, tags: trunk)
20:50
[e698db19] Do not allow a Mem object to be both NULL and some other type at the same time. (user: drh, tags: trunk)
18:42
[69f51f83] Consolidate two branches of code in the "PRAGMA foreign_key_check" implementation. (user: dan, tags: trunk)
18:02
[690870bd] 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. (user: dan, tags: trunk)
16:07
[352413ee] Further improvements to test coverage in fts3. (user: dan, tags: trunk)
13:38
[1a08a836] Improve coverage of code in fts3. (user: dan, tags: trunk)
13:18
[f508aff8] Fix the ".column" output mode in the command-line shell so that it correctly counts and formats multi-byte UTF characters. (user: drh, tags: trunk)
2017-04-16
22:41
[90015df3] 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. (user: drh, tags: trunk)
22:08
[d7b9813c] Add the anycollseq.c loadable extension in etc/misc (user: drh, tags: trunk)
2017-04-15
11:53
[89f9e436] In the skip-ahead-distinct optimization, fix a bug in the logic that determines when to invoke the optimization based on sqlite_stat1 statistics. (user: drh, tags: trunk)
2017-04-14
19:46
[d78355c8] Remove end-of-line whitespace from lemon.c. (user: drh, tags: trunk)
19:44
[a5379905] Fix some left-over K&R-C constructs in lemon.c. No changes to the core. (user: drh, tags: trunk)
17:30
[f489b5bb] 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.) (user: drh, tags: trunk)
14:50
[6bf67376] Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings. (user: mistachkin, tags: trunk)
14:02
[5159cb8f] Enhance the sqlite3TreeView() display for Expr objects so that it shows the iRightJoinTable value for Expr nodes that have the EP_FromJoin property. (user: drh, tags: trunk)
12:39
[e651074b] 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. (user: drh, tags: trunk)
12:27
[f956f6ae] Remove an incorrect ALWAYS(). (user: drh, tags: trunk)
2017-04-13
15:51
[59c70108] Reinstate the SQLITE_API qualifier on the sqlite3_delete_database() method in test_delete.c. Accidentally removed by the previous commit. (user: dan, tags: trunk)
15:36
[fa9bb7b7] Update the code in test_delete.c to use the "win32" VFS if SQLITE_OS_WIN is defined. (user: dan, tags: trunk)
09:45
[6f54ffd1] Allow a user column name to be used on the LHS of a MATCH operator in FTS5. (user: dan, tags: trunk)
00:12
[8e7b6118] Fix a regression caused by the fix for ticket [6c9b5514077fed34551f98e64c09a1] - control characters allowed in JSON. (user: drh, tags: trunk)
2017-04-12
17:50
[c847543f] Update fts5 to support "<colset> : ( <expr> )" for column filtering, as well as "<colset> : NEAR(...)" and "<colset> : <phrase>". (user: dan, tags: trunk)
17:38
[f2643315] 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. (user: drh, tags: trunk)
2017-04-11
20:48
[7aae5c0f] Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. (user: dan, tags: trunk)
18:55
[1f68c184] 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]. (user: drh, tags: trunk)
18:06
[76cd611d] Smaller and faster implementation of exprMightBeIndexed(). (user: drh, tags: trunk)
16:44
[4143650c] Very slight smaller and faster sqlite3SelectNew() (user: drh, tags: trunk)
12:20
[0f3eb61f] Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow(). (user: drh, tags: trunk)
11:52
[d6bb7c42] Fix a segfault that could occur if an indexed expression was used in a comparison operation within the result-set of a SELECT statement. (user: dan, tags: trunk)
01:30
[a47efb7c] When using an index on an expression, try to use the columns of the index rather than pulling columns from the table and reevaluating the expression. (user: drh, tags: trunk)
2017-04-10
20:51
[e052436d] Smaller and faster vdbeFreeOpArray() (user: drh, tags: trunk)
20:27
[efd1702a] Slightly smaller and faster sqlite3VdbeMemGrow(). (user: drh, tags: trunk)
12:31
[6ee12221] Add a new JSON test case to verify that all control characters are escaped in the json_quote() function. (user: drh, tags: trunk)
12:25
[475d8f82] Change the JSON extension so that it disallows control characters inside of strings. Fix for ticket [6c9b5514077fed34551f98e64c09a10dc2fc8e16]. (user: drh, tags: trunk)
2017-04-09
19:23
[19dd753f] Do not expose the name of the internal Mem object in the public interface defined by sqlite3.h. (user: drh, tags: trunk)
2017-04-08
18:18
[204e72f0] Disallow leading zeros on numeric constants in JSON. Fix for ticket [b93be8729a895a528e2] (user: drh, tags: trunk)
14:11
[b9a8c2b9] Expand on the comment above OP_Destroy to explain why it throws an error if there are any active reader VMs. (user: dan, tags: trunk)
13:52
[fa4416ad] Have the rtree module close any open blob-handle within the xSavepoint method. This prevents such an open blob handle from interfering with DROP TABLE operations. (user: dan, tags: trunk)
13:42
[78c1e903] Fix the quoting mechanism for ".dump" so that it is not applied for the ".mode quote" output. (user: drh, tags: trunk)
09:12
[a921ada8] Have fts5 close any open blob-handle when a new savepoint is opened. This ensures that fts5 does not prevent DROP TABLE statements (which always open a savepoint) from succeeding. (user: dan, tags: trunk)
01:09
[1cdae2db] Make sure the RTree sqlite3_blob handle is reset prior to renaming the table. (user: drh, tags: trunk)
00:55
[a6ce57ee] Fix the ".dump" command so that it works with ".headers on". Also fix the display of ".mode insert" with ".headers on". (user: drh, tags: trunk)
2017-04-07
20:20
[73073529] Use replace() instead of char() to quote newline and return characters in strings in the output of .dump, to avoid excess expression complexity. (user: drh, tags: trunk)
2017-04-06
14:56
[48826b22] Fix the ".lint fkey" shell command for cases where the child key is also an INTEGER PRIMARY KEY. (user: dan, tags: trunk)
12:06
[327eff25] Fix the ".lint fkey" shell tool command so that it works for foreign keys that refer implicitly to primary key columns with non-BINARY default collation sequences. (user: dan, tags: trunk)
2017-04-05
13:44
[c5f1a2b6] Remove a confusing and pointless sentence from the documentation for the sqlite3_interrupt() interface. (user: drh, tags: trunk)
12:39
[ad90e8bb] Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where we know that the argument to be freed is never NULL. (user: drh, tags: trunk)
11:57
[9e6c9391] Save a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine. (user: drh, tags: trunk)
11:49
[a1cf4476] Remove a conditional made unreachable by the previous ExprList enhancement. (user: drh, tags: trunk)
11:32
[2b6560ad] Combine the ExprList_item objects and the ExprList wrapper into a single memory allocation, for improved performance and reduced footprint. (user: drh, tags: trunk)
10:54
[71ed35cc] Attempt to remove bash-isms from configure.ac. Use -O0 with --enable-debug. (user: drh, tags: trunk)
2017-04-04
19:58
[e5bb7db5] Fix a problem causing "PRAGMA integrity_check" to disable the xfer optimization for subsequent VACUUM operations on tables with one or more CHECK constraints. This could result in VACUUM producing slightly larger database files. (user: dan, tags: trunk)
2017-04-03
14:07
[5c11f430] Avoid an unnecessary call to sqlite3WhereGetMask() inside of whereShortCut(). (user: drh, tags: trunk)
13:59
[658f08ce] Do not attempt to run sync2.test with SQLITE_DISABLE_DIRSYNC builds. (user: dan, tags: trunk)
13:33
[86897c24] Force a schema load prior to "PRAGMA optimize". (user: drh, tags: trunk)
13:17
[777b43e6] Fix typos in the documentation for OP_Column. (user: drh, tags: trunk)
12:04
[84fa069c] Slightly smaller and faster implementation for vdbeSorterCompareInt(). (user: drh, tags: trunk)
2017-04-01
20:44
[e6e36b28] Remove an unnecessary setting of the Mem.enc field for the output of the OP_Record opcode, for a performance improvement and size reduction. (user: drh, tags: trunk)
20:14
[c45cd3b9] Minor performance enhancements to the OP_Affinity opcode. (user: drh, tags: trunk)
19:45
[fcd2acdd] Remove an unnecessary clearing of the Vdbe.iCurrentTime value. (user: drh, tags: trunk)
11:59
[8698df60] Faster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue(). (user: drh, tags: trunk)
11:40
[1c0d82e0] Remove unused fields from the BtCursor object. (user: drh, tags: trunk)
00:20
[2452f061] Save a 78 bytes of code space and a million CPU cycles in speedtest1 by storing the cell index for the leaf page in the BtCursor object in its own field (BtCursor.ix), rather than as an entry in the BtCursor.aiIdx array. (user: drh, tags: trunk)
2017-03-30
17:13
[c8000e94] Declare the Lemon-generated parser object as itself. (Duh) (user: drh, tags: trunk)
16:51
[9e550ccc] Increase the version number for the next development cycle. (user: drh, tags: trunk)
16:37
[1279de0b] Ensure that the stack space used to hold the Lemon-generated parser object is always 8-byte aligned. (user: drh, tags: trunk)
2017-03-29
23:22
[a6891942] When compiling with MSVC, disable extra SELECT/WHERE tracing for dynamically built shells. (user: mistachkin, tags: trunk)
18:03
[4a01880b] Avoid unnecessary blob handle invalidation when changes are made to an unrelated table. (user: drh, tags: trunk)
17:06
[06c2b685] Slightly smaller and faster implementation of pcache1InitBulk(). (user: drh, tags: trunk)
16:55
[d336858d] Fix some tests in malloc5.test to account for the sqlite3_release_memory() change in the previous commit. (user: dan, tags: trunk)
15:18
[5d902b7f] Fix the sqlite3_release_memory() interface so that it works even if SQLITE_DEFAULT_PCACHE_INITSZ is non-zero. (user: drh, tags: trunk)
2017-03-28
18:48
[424a0d38] Version 3.18.0 (user: drh, tags: release, branch-3.18, version-3.18.0)
2017-03-25
19:16
[8469fc0d] Add the new sqlite3_set_last_insert_rowid() interface to the extension loader thunk. (user: drh, tags: trunk)